|
4 | 4 | import java.util.ArrayList; |
5 | 5 | import java.util.List; |
6 | 6 | import java.util.Map; |
7 | | -import java.util.stream.Collectors; |
8 | 7 | import org.gradle.api.Plugin; |
9 | 8 | import org.gradle.api.Project; |
10 | 9 | import org.gradle.api.Task; |
11 | 10 | import org.gradle.api.artifacts.Configuration; |
12 | 11 | import org.gradle.api.plugins.ExtraPropertiesExtension; |
13 | | -import org.gradle.api.tasks.compile.ForkOptions; |
14 | 12 | import org.gradle.api.tasks.compile.JavaCompile; |
15 | 13 |
|
16 | 14 | public class ScipGradlePlugin implements Plugin<Project> { |
17 | 15 |
|
18 | | - // `--add-exports` flags required so our compiler plugin can access javac |
19 | | - // internals. Required on JDK 17+ (JEP 403), no-op on 11-16. Kept in sync with |
20 | | - // `javacModuleOptions` in build.sbt. |
21 | | - private static final List<String> JAVAC_MODULE_OPTIONS = |
22 | | - List.of( |
23 | | - "-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", |
24 | | - "-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", |
25 | | - "-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", |
26 | | - "-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", |
27 | | - "-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"); |
28 | | - |
29 | 16 | @Override |
30 | 17 | public void apply(Project project) { |
31 | 18 | project.afterEvaluate(this::configureProject); |
@@ -105,21 +92,9 @@ private void configureProject(Project project) { |
105 | 92 | .withType(JavaCompile.class) |
106 | 93 | .configureEach( |
107 | 94 | task -> { |
108 | | - // Add --add-exports JVM args so our compiler plugin can access |
109 | | - // javac internals. Required on JDK 17+ (JEP 403), no-op on |
110 | | - // 11-16. |
111 | | - ForkOptions forkOptions = task.getOptions().getForkOptions(); |
112 | | - List<String> jvmArgs = |
113 | | - JAVAC_MODULE_OPTIONS.stream() |
114 | | - .map(arg -> arg.startsWith("-J") ? arg.substring(2) : arg) |
115 | | - .collect(Collectors.toList()); |
116 | | - if (forkOptions.getJvmArgs() == null) { |
117 | | - forkOptions.setJvmArgs(jvmArgs); |
118 | | - } else { |
119 | | - forkOptions.getJvmArgs().addAll(jvmArgs); |
120 | | - } |
121 | | - |
122 | | - task.getOptions().setFork(true); |
| 95 | + // Disable incremental compilation so the random timestamp added |
| 96 | + // below forces a full recompile and Gradle doesn't cache stale |
| 97 | + // SCIP state. |
123 | 98 | task.getOptions().setIncremental(false); |
124 | 99 |
|
125 | 100 | if (pluginAdded) { |
|
0 commit comments