aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar cushon <cushon@google.com>2017-12-20 14:38:28 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-20 14:40:37 -0800
commit104cd41297856e168e252f3a6ee78fb29d4bae86 (patch)
tree51b7711bcde83cffa4acb2f17e938a4156393dd2 /src
parent56ef727987c05df2953a4a53935b4f9b899f9d81 (diff)
Inline JavaToolchainData into JavaToolchainProvider
PiperOrigin-RevId: 179735701
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/BUILD2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java81
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java13
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);
}