aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
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.java17
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java6
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();