aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2016-03-18 22:04:29 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-21 09:36:13 +0000
commit73ddd4d3bee1e8d2ac6f76bd25c2aa712852c708 (patch)
tree1e8bdbb8ec6b5aff897e4ee91e438bd0d9ded196
parentda9410cff80eeeaf080fa0149c6fe4d583124987 (diff)
*** Reason for rollback *** Breaks the query command *** Original change description *** Update the java_langtools flag to default to @bazel_tools//tools/jdk:langtools. -- MOS_MIGRATED_REVID=117588472
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java90
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java23
3 files changed, 76 insertions, 40 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 07b84c13a8..d73f5c049d 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
@@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import com.google.devtools.build.lib.Constants;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
+import com.google.devtools.build.lib.analysis.config.BuildConfiguration.DefaultLabelConverter;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.LabelConverter;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsConverter;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsMode;
@@ -59,6 +60,62 @@ public class JavaOptions extends FragmentOptions {
}
}
+ /** Converter for --java_langtools. */
+ public static class LangtoolsConverter extends DefaultLabelConverter {
+ public LangtoolsConverter() {
+ super(Constants.TOOLS_REPOSITORY + DEFAULT_LANGTOOLS);
+ }
+ }
+
+ /** Converter for --javac_bootclasspath. */
+ public static class BootclasspathConverter extends DefaultLabelConverter {
+ public BootclasspathConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:bootclasspath");
+ }
+ }
+
+ /** Converter for --javac_extdir. */
+ public static class ExtdirConverter extends DefaultLabelConverter {
+ public ExtdirConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:extdir");
+ }
+ }
+
+ /** Converter for --javabuilder_top. */
+ public static class JavaBuilderConverter extends DefaultLabelConverter {
+ public JavaBuilderConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:JavaBuilder_deploy.jar");
+ }
+ }
+
+ /** Converter for --singlejar_top. */
+ public static class SingleJarConverter extends DefaultLabelConverter {
+ public SingleJarConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:SingleJar_deploy.jar");
+ }
+ }
+
+ /** Converter for --genclass_top. */
+ public static class GenClassConverter extends DefaultLabelConverter {
+ public GenClassConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:GenClass_deploy.jar");
+ }
+ }
+
+ /** Converter for --ijar_top. */
+ public static class IjarConverter extends DefaultLabelConverter {
+ public IjarConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:ijar");
+ }
+ }
+
+ /** Converter for --java_toolchain. */
+ public static class JavaToolchainConverter extends DefaultLabelConverter {
+ public JavaToolchainConverter() {
+ super(Constants.TOOLS_REPOSITORY + "//tools/jdk:toolchain");
+ }
+ }
+
/**
* Converter for the --javawarn option.
*/
@@ -124,9 +181,9 @@ public class JavaOptions extends FragmentOptions {
public String javaBase;
@Option(name = "java_toolchain",
- defaultValue = "@bazel_tools//tools/jdk:toolchain",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = JavaToolchainConverter.class,
help = "The name of the toolchain rule for Java.")
public Label javaToolchain;
@@ -233,51 +290,51 @@ public class JavaOptions extends FragmentOptions {
public StrictDepsMode strictJavaDeps;
@Option(name = "javabuilder_top",
- defaultValue = "@bazel_tools//tools/jdk:JavaBuilder_deploy.jar",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = JavaBuilderConverter.class,
help = "Label of the filegroup that contains the JavaBuilder jar.")
public Label javaBuilderTop;
@Option(name = "singlejar_top",
- defaultValue = "@bazel_tools//tools/jdk:SingleJar_deploy.jar",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = SingleJarConverter.class,
help = "Label of the filegroup that contains the SingleJar jar.")
public Label singleJarTop;
@Option(name = "genclass_top",
- defaultValue = "@bazel_tools//tools/jdk:GenClass_deploy.jar",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = GenClassConverter.class,
help = "Label of the filegroup that contains the GenClass jar.")
public Label genClassTop;
@Option(name = "ijar_top",
- defaultValue = "@bazel_tools//tools/jdk:ijar",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = IjarConverter.class,
help = "Label of the filegroup that contains the ijar binary.")
public Label iJarTop;
@Option(name = "java_langtools",
- defaultValue = "@bazel_tools" + DEFAULT_LANGTOOLS,
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = LangtoolsConverter.class,
help = "Label of the rule that produces the Java langtools jar.")
public Label javaLangtoolsJar;
@Option(name = "javac_bootclasspath",
- defaultValue = "@bazel_tools//tools/jdk:bootclasspath",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = BootclasspathConverter.class,
help = "Label of the rule that produces the bootclasspath jars for javac to use.")
public Label javacBootclasspath;
@Option(name = "javac_extdir",
- defaultValue = "@bazel_tools//tools/jdk:extdir",
+ defaultValue = "",
category = "version",
- converter = LabelConverter.class,
+ converter = ExtdirConverter.class,
help = "Label of the rule that produces the extdir for javac to use.")
public Label javacExtdir;
@@ -362,7 +419,6 @@ public class JavaOptions extends FragmentOptions {
host.singleJarTop = singleJarTop;
host.genClassTop = genClassTop;
host.iJarTop = iJarTop;
- host.javacBootclasspath = javacBootclasspath;
// Java builds often contain complicated code generators for which
// incremental build performance is important.
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 0bb123427f..4d16cec628 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -65,6 +65,7 @@ import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.common.options.Options;
import com.google.devtools.common.options.OptionsParser;
+
import org.junit.Before;
import java.util.Arrays;
@@ -252,7 +253,7 @@ public abstract class AnalysisTestCase extends FoundationTestCase {
outputBase, packageCacheOptions.packagePath, reporter, rootDirectory, rootDirectory);
skyframeExecutor.preparePackageLoading(pathPackageLocator,
packageCacheOptions.defaultVisibility, true,
- 7, ruleClassProvider.getDefaultsPackageContent(optionsParser), UUID.randomUUID());
+ 7, ruleClassProvider.getDefaultsPackageContent(), UUID.randomUUID());
skyframeExecutor.invalidateFilesUnderPathForTesting(reporter,
ModifiedFileSet.EVERYTHING_MODIFIED, rootDirectory);
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
index a7aa9b554d..d97eadb538 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
@@ -36,14 +36,12 @@ import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
import com.google.devtools.build.lib.pkgcache.PackageManager;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
-import com.google.devtools.build.lib.runtime.InvocationPolicyEnforcer;
import com.google.devtools.build.lib.skyframe.DiffAwareness;
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor;
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
-import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
@@ -51,9 +49,7 @@ import com.google.devtools.build.lib.vfs.ModifiedFileSet;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionName;
-import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParsingException;
import org.junit.Before;
@@ -128,29 +124,12 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
return ImmutableList.<EnvironmentExtension>of();
}
- private OptionsParser enforceTestInvocationPolicyOnRuleClassProvider(
- ConfiguredRuleClassProvider ruleClassProvider) {
- OptionsParser optionsParser = OptionsParser.newOptionsParser(
- ImmutableList.<Class<? extends OptionsBase>>copyOf(
- ruleClassProvider.getOptionFragments()));
- InvocationPolicyEnforcer optionsPolicyEnforcer =
- new InvocationPolicyEnforcer(TestConstants.TEST_INVOCATION_POLICY);
- try {
- optionsPolicyEnforcer.enforce(optionsParser);
- } catch (OptionsParsingException e) {
- throw new IllegalStateException(e);
- }
- return optionsParser;
- }
-
private void setUpSkyframe(PackageCacheOptions packageCacheOptions) {
PathPackageLocator pkgLocator = PathPackageLocator.create(
outputBase, packageCacheOptions.packagePath, reporter, rootDirectory, rootDirectory);
- OptionsParser enforcedTestOptions =
- enforceTestInvocationPolicyOnRuleClassProvider(ruleClassProvider);
skyframeExecutor.preparePackageLoading(pkgLocator,
packageCacheOptions.defaultVisibility, true,
- 7, ruleClassProvider.getDefaultsPackageContent(enforcedTestOptions),
+ 7, ruleClassProvider.getDefaultsPackageContent(),
UUID.randomUUID());
skyframeExecutor.setDeletedPackages(ImmutableSet.copyOf(packageCacheOptions.getDeletedPackages()));
}