diff options
author | 2017-12-20 14:38:28 -0800 | |
---|---|---|
committer | 2017-12-20 14:40:37 -0800 | |
commit | 104cd41297856e168e252f3a6ee78fb29d4bae86 (patch) | |
tree | 51b7711bcde83cffa4acb2f17e938a4156393dd2 /src/main/java/com | |
parent | 56ef727987c05df2953a4a53935b4f9b899f9d81 (diff) |
Inline JavaToolchainData into JavaToolchainProvider
PiperOrigin-RevId: 179735701
Diffstat (limited to 'src/main/java/com')
4 files changed, 10 insertions, 100 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index 22147ec52c..27d97e173c 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -727,7 +727,6 @@ java_library( "rules/java/JavaSourceInfoProvider.java", "rules/java/JavaToolchain.java", "rules/java/JavaToolchainAlias.java", - "rules/java/JavaToolchainData.java", "rules/java/JavaToolchainRule.java", "rules/java/JavaToolchainSkylarkApiProvider.java", "rules/java/JvmConfigurationLoader.java", @@ -823,7 +822,6 @@ java_library( "rules/java/JavaSkylarkApiProvider.java", "rules/java/JavaSourceJarsProvider.java", "rules/java/JavaTargetAttributes.java", - "rules/java/JavaToolchainData.java", "rules/java/JavaToolchainProvider.java", "rules/java/JavaUtil.java", "rules/java/Jvm.java", diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java index edb67987ff..0fd4261f60 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java @@ -37,7 +37,6 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; -import com.google.devtools.build.lib.rules.java.JavaToolchainData.SupportsWorkers; import com.google.devtools.build.lib.syntax.Type; import java.util.List; import java.util.Map; @@ -76,7 +75,7 @@ public final class JavaToolchain implements RuleConfiguredTargetFactory { NestedSet<Artifact> tools = PrerequisiteArtifacts.nestedSet(ruleContext, "tools", Mode.HOST); TransitiveInfoCollection javacDep = ruleContext.getPrerequisite("javac", Mode.HOST); - List<String> jvmOpts = + ImmutableList<String> jvmOpts = getJvmOpts( ruleContext, ImmutableMap.<Label, ImmutableCollection<Artifact>>of( @@ -87,18 +86,13 @@ public final class JavaToolchain implements RuleConfiguredTargetFactory { ruleContext.getPrerequisites( "package_configuration", Mode.HOST, JavaPackageConfigurationProvider.class)); - JavaToolchainData toolchainData = - new JavaToolchainData( - Artifact.toExecPaths(bootclasspath), - Artifact.toExecPaths(extclasspath), - javacopts, - jvmOpts, - javacSupportsWorkers ? SupportsWorkers.YES : SupportsWorkers.NO); JavaConfiguration configuration = ruleContext.getFragment(JavaConfiguration.class); JavaToolchainProvider provider = JavaToolchainProvider.create( ruleContext.getLabel(), - toolchainData, + javacopts, + jvmOpts, + javacSupportsWorkers, bootclasspath, extclasspath, configuration.getDefaultJavacFlags(), diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java deleted file mode 100644 index a150a76caa..0000000000 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2014 The Bazel Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package com.google.devtools.build.lib.rules.java; - -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.collect.ImmutableList; -import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import java.util.List; - -/** - * Information about the JDK used by the <code>java_*</code> rules. - * - * <p>This class contains the data of the {@code java_toolchain} rules. - */ -// TODO(cushon): inline this into JavaToolchainProvider (it used to be shared with other tools). -@Immutable -public class JavaToolchainData { - - public enum SupportsWorkers { - NO, - YES - } - - private final Iterable<String> bootclasspath; - private final Iterable<String> extclasspath; - private final ImmutableList<String> javacopts; - private final ImmutableList<String> jvmOpts; - private boolean javacSupportsWorkers; - - public JavaToolchainData( - Iterable<String> bootclasspath, - Iterable<String> extclasspath, - ImmutableList<String> javacopts, - List<String> jvmOpts, - SupportsWorkers javacSupportsWorkers) { - this.bootclasspath = checkNotNull(bootclasspath, "bootclasspath must not be null"); - this.extclasspath = checkNotNull(extclasspath, "extclasspath must not be null"); - this.jvmOpts = ImmutableList.copyOf(jvmOpts); - this.javacSupportsWorkers = javacSupportsWorkers.equals(SupportsWorkers.YES); - this.javacopts = checkNotNull(javacopts, "javacopts must not be null"); - } - - /** - * @return the list of options as given by the {@code java_toolchain} rule. - */ - public ImmutableList<String> getJavacOptions() { - return javacopts; - } - - /** - * @return the list of options to be given to the JVM when invoking the java compiler and - * associated tools. - */ - public ImmutableList<String> getJvmOptions() { - return jvmOpts; - } - - public Iterable<String> getBootclasspath() { - return bootclasspath; - } - - public Iterable<String> getExtclasspath() { - return extclasspath; - } - - public boolean getJavacSupportsWorkers() { - return javacSupportsWorkers; - } -} diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java index 725a5f74d5..fa20344edf 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java @@ -64,7 +64,9 @@ public class JavaToolchainProvider extends ToolchainInfo { public static JavaToolchainProvider create( Label label, - JavaToolchainData data, + ImmutableList<String> javacOptions, + ImmutableList<String> jvmOptions, + boolean javacSupportsWorkers, NestedSet<Artifact> bootclasspath, NestedSet<Artifact> extclasspath, List<String> defaultJavacFlags, @@ -101,12 +103,9 @@ public class JavaToolchainProvider extends ToolchainInfo { compatibleJavacOptions, // merges the defaultJavacFlags from // {@link JavaConfiguration} with the flags from the {@code java_toolchain} rule. - ImmutableList.<String>builder() - .addAll(data.getJavacOptions()) - .addAll(defaultJavacFlags) - .build(), - data.getJvmOptions(), - data.getJavacSupportsWorkers(), + ImmutableList.<String>builder().addAll(javacOptions).addAll(defaultJavacFlags).build(), + jvmOptions, + javacSupportsWorkers, packageConfiguration); } |