diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java | 17 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java | 6 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java index 246253a406..315cf67797 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java @@ -142,12 +142,16 @@ public final class JavaConfiguration extends Fragment { private final ImmutableList<Label> translationTargets; private final String javaCpu; private final JavaOptimizationMode javaOptimizationMode; - + private final Label javaToolchain; + // TODO(dmarting): remove when we have rolled out the new behavior + private final boolean legacyBazelJavaTest; + JavaConfiguration(boolean generateJavaDeps, List<String> defaultJvmFlags, JavaOptions javaOptions, Label javaToolchain, String javaCpu, - ImmutableList<String> defaultJavaBuilderJvmOpts) throws InvalidConfigurationException { + ImmutableList<String> defaultJavaBuilderJvmOpts) + throws InvalidConfigurationException { this.commandLineJavacFlags = ImmutableList.copyOf(JavaHelper.tokenizeJavaOptions(javaOptions.javacOpts)); this.javaLauncherLabel = javaOptions.javaLauncher; @@ -169,6 +173,7 @@ public final class JavaConfiguration extends Fragment { this.javaCpu = javaCpu; this.javaToolchain = javaToolchain; this.javaOptimizationMode = javaOptions.javaOptimizationMode; + this.legacyBazelJavaTest = javaOptions.legacyBazelJavaTest; ImmutableList.Builder<Label> translationsBuilder = ImmutableList.builder(); for (String s : javaOptions.translationTargets) { @@ -336,4 +341,12 @@ public final class JavaConfiguration extends Fragment { public JavaOptimizationMode getJavaOptimizationMode() { return javaOptimizationMode; } + + /** + * Returns true if java_test in Bazel should behave in legacy mode that existed before we + * open-sourced our test runner. + */ + public boolean useLegacyBazelJavaTest() { + return legacyBazelJavaTest; + } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java index df524dc3f4..2a091cacc9 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java @@ -389,6 +389,12 @@ public class JavaOptions extends FragmentOptions { help = "Applies desired link-time optimizations to Java binaries and tests.") public JavaOptimizationMode javaOptimizationMode; + @Option(name = "legacy_bazel_java_test", + defaultValue = "true", + category = "undocumented", + help = "Use the legacy mode of Bazel for java_test.") + public boolean legacyBazelJavaTest; + @Override public FragmentOptions getHost(boolean fallback) { JavaOptions host = (JavaOptions) getDefault(); |