20
20
import static de .thetaphi .forbiddenapis .Checker .Option .FAIL_ON_UNRESOLVABLE_SIGNATURES ;
21
21
import static de .thetaphi .forbiddenapis .Checker .Option .FAIL_ON_VIOLATION ;
22
22
import static de .thetaphi .forbiddenapis .Checker .Option .INTERNAL_RUNTIME_FORBIDDEN ;
23
-
24
23
import groovy .lang .Closure ;
25
24
26
25
import java .io .Closeable ;
67
66
public class CheckForbiddenApis extends DefaultTask implements PatternFilterable ,VerificationTask {
68
67
69
68
private final CheckForbiddenApisExtension data = new CheckForbiddenApisExtension ();
69
+ private final PatternSet patternSet = new PatternSet ().include ("**/*.class" );
70
70
private File classesDir ;
71
71
private FileCollection classpath ;
72
-
72
+
73
73
/**
74
74
* Directory with the class files to check.
75
75
*/
@@ -126,7 +126,8 @@ public List<String> getSignatures() {
126
126
127
127
/** @see #getSignatures */
128
128
public void setSignatures (List <String > signatures ) {
129
- data .signatures = signatures ;
129
+ data .signatures .clear ();
130
+ data .signatures .addAll (signatures );
130
131
}
131
132
132
133
/**
@@ -142,7 +143,8 @@ public List<String> getBundledSignatures() {
142
143
143
144
/** @see #getBundledSignatures */
144
145
public void setBundledSignatures (List <String > bundledSignatures ) {
145
- data .bundledSignatures = bundledSignatures ;
146
+ data .bundledSignatures .clear ();
147
+ data .bundledSignatures .addAll (bundledSignatures );
146
148
}
147
149
148
150
/**
@@ -240,7 +242,8 @@ public List<String> getSuppressAnnotations() {
240
242
241
243
/** @see #getSuppressAnnotations */
242
244
public void setSuppressAnnotations (List <String > suppressAnnotations ) {
243
- data .suppressAnnotations = suppressAnnotations ;
245
+ data .suppressAnnotations .clear ();
246
+ data .suppressAnnotations .addAll (suppressAnnotations );
244
247
}
245
248
246
249
// PatternFilterable implementation:
@@ -255,11 +258,11 @@ public void setSuppressAnnotations(List<String> suppressAnnotations) {
255
258
*/
256
259
@ Input
257
260
public Set <String > getIncludes () {
258
- return data .getIncludes ();
261
+ return getPatternSet () .getIncludes ();
259
262
}
260
263
261
264
public CheckForbiddenApis setIncludes (Iterable <String > includes ) {
262
- data .setIncludes (includes );
265
+ getPatternSet () .setIncludes (includes );
263
266
return this ;
264
267
}
265
268
@@ -271,60 +274,60 @@ public CheckForbiddenApis setIncludes(Iterable<String> includes) {
271
274
*/
272
275
@ Input
273
276
public Set <String > getExcludes () {
274
- return data .getExcludes ();
277
+ return getPatternSet () .getExcludes ();
275
278
}
276
279
277
280
public CheckForbiddenApis setExcludes (Iterable <String > excludes ) {
278
- data .setExcludes (excludes );
281
+ getPatternSet () .setExcludes (excludes );
279
282
return this ;
280
283
}
281
284
282
285
public CheckForbiddenApis exclude (String ... arg0 ) {
283
- data .exclude (arg0 );
286
+ getPatternSet () .exclude (arg0 );
284
287
return this ;
285
288
}
286
289
287
290
public CheckForbiddenApis exclude (Iterable <String > arg0 ) {
288
- data .exclude (arg0 );
291
+ getPatternSet () .exclude (arg0 );
289
292
return this ;
290
293
}
291
294
292
295
public CheckForbiddenApis exclude (Spec <FileTreeElement > arg0 ) {
293
- data .exclude (arg0 );
296
+ getPatternSet () .exclude (arg0 );
294
297
return this ;
295
298
}
296
299
297
300
public CheckForbiddenApis exclude (@ SuppressWarnings ("rawtypes" ) Closure arg0 ) {
298
- data .exclude (arg0 );
301
+ getPatternSet () .exclude (arg0 );
299
302
return this ;
300
303
}
301
304
302
305
public CheckForbiddenApis include (String ... arg0 ) {
303
- data .include (arg0 );
306
+ getPatternSet () .include (arg0 );
304
307
return this ;
305
308
}
306
309
307
310
public CheckForbiddenApis include (Iterable <String > arg0 ) {
308
- data .include (arg0 );
311
+ getPatternSet () .include (arg0 );
309
312
return this ;
310
313
}
311
314
312
315
public CheckForbiddenApis include (Spec <FileTreeElement > arg0 ) {
313
- data .include (arg0 );
316
+ getPatternSet () .include (arg0 );
314
317
return this ;
315
318
}
316
319
317
320
public CheckForbiddenApis include (@ SuppressWarnings ("rawtypes" ) Closure arg0 ) {
318
- data .include (arg0 );
321
+ getPatternSet () .include (arg0 );
319
322
return this ;
320
323
}
321
324
322
325
public PatternSet getPatternSet () {
323
- return data . patternSet ;
326
+ return patternSet ;
324
327
}
325
328
326
329
public void setPatternSet (PatternSet patternSet ) {
327
- data . patternSet = patternSet ;
330
+ patternSet . copyFrom ( patternSet ) ;
328
331
}
329
332
330
333
/** Returns the classes to check. */
0 commit comments