21
21
import java .io .OutputStream ;
22
22
import java .nio .file .Files ;
23
23
import java .util .List ;
24
+ import java .util .Map ;
25
+ import java .util .concurrent .ConcurrentHashMap ;
24
26
25
27
import org .codehaus .plexus .util .DirectoryScanner ;
26
28
import org .codehaus .plexus .util .Scanner ;
27
29
import org .slf4j .Logger ;
28
30
import org .slf4j .LoggerFactory ;
29
31
30
32
/**
31
- * Filesystem based non-incremental build context implementation which behaves as if all files
32
- * were just created. More specifically,
33
+ * Filesystem based non-incremental build context implementation which behaves
34
+ * as if all files were just created. More specifically,
33
35
*
34
- * hasDelta returns <code>true</code> for all paths
35
- * newScanner returns Scanner that scans all files under provided basedir
36
- * newDeletedScanner always returns empty scanner.
37
- * isIncremental returns false
38
- * getValue always returns null
36
+ * <ol>
37
+ * <li>hasDelta returns <code>true</code> for all paths</li>
38
+ * <li>newScanner returns Scanner that scans all files under provided
39
+ * basedir</li>
40
+ * <li>newDeletedScanner always returns empty scanner</li>
41
+ * <li>isIncremental returns <code>false</code></li>
42
+ * <li>getValue always returns the last set value in this session and only
43
+ * stores to memory</li>
44
+ * </ol>
39
45
*/
40
46
@ Named ("default" )
41
47
@ Singleton
42
48
public class DefaultBuildContext implements BuildContext {
43
49
50
+ private final Map <String , Object > contextMap = new ConcurrentHashMap <>();
44
51
private final Logger logger = LoggerFactory .getLogger (DefaultBuildContext .class );
45
52
/** {@inheritDoc} */
46
53
public boolean hasDelta (String relpath ) {
@@ -105,11 +112,12 @@ public boolean isIncremental() {
105
112
106
113
/** {@inheritDoc} */
107
114
public Object getValue (String key ) {
108
- return null ;
115
+ return contextMap . get ( key ) ;
109
116
}
110
117
111
118
/** {@inheritDoc} */
112
119
public void setValue (String key , Object value ) {
120
+ contextMap .put (key , value );
113
121
}
114
122
115
123
private String getMessage (File file , int line , int column , String message ) {
0 commit comments