2323import org .gradle .api .DefaultTask ;
2424import org .gradle .api .JavaVersion ;
2525import org .gradle .api .file .FileCollection ;
26+ import org .gradle .api .logging .Logger ;
27+ import org .gradle .api .logging .Logging ;
2628import org .gradle .api .tasks .Input ;
2729import org .gradle .api .tasks .InputFiles ;
2830import org .gradle .api .tasks .OutputFile ;
4143
4244public class ForbiddenApisCliTask extends DefaultTask {
4345
46+ private final Logger logger = Logging .getLogger (ForbiddenApisCliTask .class );
4447 private FileCollection signaturesFiles ;
4548 private List <String > signatures = new ArrayList <>();
4649 private Set <String > bundledSignatures = new LinkedHashSet <>();
@@ -49,12 +52,21 @@ public class ForbiddenApisCliTask extends DefaultTask {
4952 private FileCollection classesDirs ;
5053 private Action <JavaExecSpec > execAction ;
5154
55+ @ Input
5256 public JavaVersion getTargetCompatibility () {
5357 return targetCompatibility ;
5458 }
5559
5660 public void setTargetCompatibility (JavaVersion targetCompatibility ) {
57- this .targetCompatibility = targetCompatibility ;
61+ if (targetCompatibility .compareTo (JavaVersion .VERSION_1_10 ) > 0 ) {
62+ logger .warn (
63+ "Target compatibility is set to {} but forbiddenapis only supports up to 10. Will cap at 10." ,
64+ targetCompatibility
65+ );
66+ this .targetCompatibility = JavaVersion .VERSION_1_10 ;
67+ } else {
68+ this .targetCompatibility = targetCompatibility ;
69+ }
5870 }
5971
6072 public Action <JavaExecSpec > getExecAction () {
0 commit comments