aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar lpino <lpino@google.com>2017-11-20 07:28:00 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-20 07:29:29 -0800
commit81a77e69a3e3bb9308d8bd72facea1e40b3c7bcf (patch)
treea2fe41ba51433ab49bd691c68785fea41a20f254 /src/main/java/com
parent211d2f2bd0882f584c6bcaabb9451cfd7b4a4c7c (diff)
PiperOrigin-RevId: 176356590
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaImportRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java29
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleClasses.java55
5 files changed, 60 insertions, 31 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index a84bae7a83..2baf5f3bc7 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -824,6 +824,7 @@ java_library(
"rules/java/JavaNeverlinkInfoProvider.java",
"rules/java/JavaOptions.java",
"rules/java/JavaPluginInfoProvider.java",
+ "rules/java/JavaRuleClasses.java",
"rules/java/JavaRuleOutputJarsProvider.java",
"rules/java/JavaRunfilesProvider.java",
"rules/java/JavaRuntimeInfo.java",
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
index 93c90f69ae..9842af69bb 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
@@ -119,6 +119,7 @@ import com.google.devtools.build.lib.rules.java.JavaConfigurationLoader;
import com.google.devtools.build.lib.rules.java.JavaImportBaseRule;
import com.google.devtools.build.lib.rules.java.JavaInfo;
import com.google.devtools.build.lib.rules.java.JavaOptions;
+import com.google.devtools.build.lib.rules.java.JavaRuleClasses.IjarBaseRule;
import com.google.devtools.build.lib.rules.java.JavaRuntimeAlias;
import com.google.devtools.build.lib.rules.java.JavaRuntimeRule;
import com.google.devtools.build.lib.rules.java.JavaRuntimeSuiteRule;
@@ -420,7 +421,7 @@ public class BazelRuleClassProvider {
builder.addBuildInfoFactory(new BazelJavaBuildInfoFactory());
builder.addRuleDefinition(new BazelJavaRuleClasses.BaseJavaBinaryRule());
- builder.addRuleDefinition(new BazelJavaRuleClasses.IjarBaseRule());
+ builder.addRuleDefinition(new IjarBaseRule());
builder.addRuleDefinition(new BazelJavaRuleClasses.JavaBaseRule());
builder.addRuleDefinition(new ProguardLibraryRule());
builder.addRuleDefinition(new JavaImportBaseRule());
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaImportRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaImportRule.java
index 281605fd48..4b9601b00d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaImportRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaImportRule.java
@@ -21,14 +21,13 @@ import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
-import com.google.devtools.build.lib.bazel.rules.java.BazelJavaRuleClasses.IjarBaseRule;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.RuleClass.Builder;
import com.google.devtools.build.lib.rules.java.JavaImportBaseRule;
+import com.google.devtools.build.lib.rules.java.JavaRuleClasses.IjarBaseRule;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
-
/**
* Rule definition for the java_import rule.
*/
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java
index 5a83434e06..95ff1d00b7 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java
@@ -30,7 +30,6 @@ import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.analysis.BaseRuleClasses;
import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
-import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
import com.google.devtools.build.lib.bazel.rules.cpp.BazelCppRuleClasses;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.Attribute;
@@ -46,6 +45,7 @@ import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
import com.google.devtools.build.lib.packages.TriState;
import com.google.devtools.build.lib.rules.cpp.CcLinkParamsInfo;
import com.google.devtools.build.lib.rules.java.JavaInfo;
+import com.google.devtools.build.lib.rules.java.JavaRuleClasses.IjarBaseRule;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.FileTypeSet;
@@ -93,33 +93,6 @@ public class BazelJavaRuleClasses {
public static final ImmutableList<ImmutableList<SkylarkProviderIdentifier>>
MANDATORY_JAVA_PROVIDER_ONLY = ImmutableList.of(CONTAINS_JAVA_PROVIDER);
-
- /**
- * Common attributes for rules that depend on ijar.
- */
- public static final class IjarBaseRule implements RuleDefinition {
- @Override
- public RuleClass build(Builder builder, RuleDefinitionEnvironment env) {
- return builder
- .add(
- attr(":java_toolchain", LABEL)
- .useOutputLicenses()
- .mandatoryProviders(ToolchainInfo.PROVIDER.id())
- .value(JavaSemantics.JAVA_TOOLCHAIN))
- .setPreferredDependencyPredicate(JavaSemantics.JAVA_SOURCE)
- .build();
- }
-
- @Override
- public Metadata getMetadata() {
- return RuleDefinition.Metadata.builder()
- .name("$ijar_base_rule")
- .type(RuleClassType.ABSTRACT)
- .build();
- }
- }
-
-
/**
* Common attributes for Java rules.
*/
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleClasses.java
new file mode 100644
index 0000000000..834865a987
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleClasses.java
@@ -0,0 +1,55 @@
+// Copyright 2017 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.devtools.build.lib.packages.Attribute.attr;
+import static com.google.devtools.build.lib.packages.BuildType.LABEL;
+
+import com.google.devtools.build.lib.analysis.RuleDefinition;
+import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
+import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
+import com.google.devtools.build.lib.packages.RuleClass;
+import com.google.devtools.build.lib.packages.RuleClass.Builder;
+import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
+
+/**
+ * Common rule class definitions for Java rules.
+ */
+public class JavaRuleClasses {
+ /**
+ * Common attributes for rules that depend on ijar.
+ */
+ public static final class IjarBaseRule implements RuleDefinition {
+ @Override
+ public RuleClass build(Builder builder, RuleDefinitionEnvironment env) {
+ return builder
+ .add(
+ attr(":java_toolchain", LABEL)
+ .useOutputLicenses()
+ .mandatoryProviders(ToolchainInfo.PROVIDER.id())
+ .value(JavaSemantics.JAVA_TOOLCHAIN))
+ .setPreferredDependencyPredicate(JavaSemantics.JAVA_SOURCE)
+ .build();
+ }
+
+ @Override
+ public Metadata getMetadata() {
+ return RuleDefinition.Metadata.builder()
+ .name("$ijar_base_rule")
+ .type(RuleClassType.ABSTRACT)
+ .build();
+ }
+ }
+}