aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
diff options
context:
space:
mode:
authorGravatar lberki <lberki@google.com>2017-10-11 11:42:53 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-10-11 13:57:52 +0200
commit2ea4fa26281175c316651ec50784b820a9f409cf (patch)
treee368fddc3a18f0832e5556ca75fcec9698f903e5 /src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
parent0a63dadf4eafbae1730f88644b0c537fb1c16d5c (diff)
Remove support for --javabase=<absolute path>.
If an absolute javabase is desired, the following set of rules can be used: java_runtime_suite(name="suite", default=":runtime") java_runtime(name="runtime", java_home=<path to the JDK>) Then --javabase can be pointed to the java_runtime_suite() rule. Alternatively, the java_runtime rule can reference a Make variable: java_runtime(name="runtime", java_home="$(ABSOLUTE_JAVABASE)") Then the Javabase can be specified on the command line like this: --javabase=<your package>:suite --define=ABSOLUTE_JAVABASE=<path to the JDK> RELNOTES[INC]: --javabase=<absolute path> and --host_javabase=<absolute path> are not supported anymore. If you need this functionality java_runtime_suite(name="suite", default=":runtime") java_runtime(name="runtime", java_home=<path to the JDK>) is an alternative. PiperOrigin-RevId: 171798416
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java23
1 files changed, 5 insertions, 18 deletions
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 dfc01bd953..21b9ef4965 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
@@ -21,7 +21,6 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration.LabelLis
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.LabelMapConverter;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsConverter;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsMode;
-import com.google.devtools.build.lib.analysis.config.DefaultsPackage;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.rules.java.JavaConfiguration.JavaClasspathMode;
@@ -34,7 +33,6 @@ import com.google.devtools.common.options.OptionEffectTag;
import com.google.devtools.common.options.OptionMetadataTag;
import com.google.devtools.common.options.TriState;
import java.util.HashMap;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -72,6 +70,7 @@ public class JavaOptions extends FragmentOptions {
name = "javabase",
defaultValue = "@bazel_tools//tools/jdk:jdk",
category = "version",
+ converter = LabelConverter.class,
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
@@ -79,7 +78,7 @@ public class JavaOptions extends FragmentOptions {
+ "java_runtime_suite which will be used to execute "
+ "external Java commands."
)
- public String javaBase;
+ public Label javaBase;
@Option(
name = "java_toolchain",
@@ -106,6 +105,7 @@ public class JavaOptions extends FragmentOptions {
@Option(
name = "host_javabase",
defaultValue = "@bazel_tools//tools/jdk:jdk",
+ converter = LabelConverter.class,
category = "version",
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
effectTags = {OptionEffectTag.UNKNOWN},
@@ -113,7 +113,7 @@ public class JavaOptions extends FragmentOptions {
"JAVABASE used for the host JDK. This is the java_runtime_suite which is used to execute "
+ "tools during a build."
)
- public String hostJavaBase;
+ public Label hostJavaBase;
@Option(
name = "javacopt",
@@ -519,15 +519,6 @@ public class JavaOptions extends FragmentOptions {
public boolean jplPropagateCcLinkParamsStore;
@Option(
- name = "experimental_disable_absolute_javabase",
- defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
- effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.LOADING_AND_ANALYSIS},
- metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}
- )
- public boolean disableAbsoluteJavabase;
-
- @Option(
name = "experimental_enable_jvm_configuration_make_variables",
defaultValue = "true",
documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
@@ -559,7 +550,6 @@ public class JavaOptions extends FragmentOptions {
public FragmentOptions getHost() {
JavaOptions host = (JavaOptions) getDefault();
- host.disableAbsoluteJavabase = disableAbsoluteJavabase;
host.javaBase = hostJavaBase;
host.jvmOpts = ImmutableList.of("-XX:ErrorFile=/dev/stderr");
@@ -589,11 +579,8 @@ public class JavaOptions extends FragmentOptions {
@Override
public Map<String, Set<Label>> getDefaultsLabels(BuildConfiguration.Options commonOptions) {
- Set<Label> jdkLabels = new LinkedHashSet<>();
- DefaultsPackage.parseAndAdd(jdkLabels, javaBase);
- DefaultsPackage.parseAndAdd(jdkLabels, hostJavaBase);
Map<String, Set<Label>> result = new HashMap<>();
- result.put("JDK", jdkLabels);
+ result.put("JDK", ImmutableSet.of(javaBase, hostJavaBase));
result.put("JAVA_TOOLCHAIN", ImmutableSet.of(javaToolchain));
return result;