aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar lpino <lpino@google.com>2018-02-08 11:11:33 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-08 11:13:50 -0800
commitf5f0877920b3c8be62c81858e5dc4a7b3d553d84 (patch)
tree366cca6d612615a0e0325f67d49c899e9d4f1169
parentefa4db5a1d8ce78b6439f653e748c7343c6a61c8 (diff)
Move BazelRuleClassProvider.SH_RULES to its own class.
PiperOrigin-RevId: 185021810
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java22
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/ShRules.java47
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java2
3 files changed, 49 insertions, 22 deletions
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 36bf355154..ac13fd91c5 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
@@ -43,10 +43,6 @@ import com.google.devtools.build.lib.bazel.rules.python.BazelPyRuleClasses;
import com.google.devtools.build.lib.bazel.rules.python.BazelPyRuntimeRule;
import com.google.devtools.build.lib.bazel.rules.python.BazelPyTestRule;
import com.google.devtools.build.lib.bazel.rules.python.BazelPythonConfiguration;
-import com.google.devtools.build.lib.bazel.rules.sh.BazelShBinaryRule;
-import com.google.devtools.build.lib.bazel.rules.sh.BazelShLibraryRule;
-import com.google.devtools.build.lib.bazel.rules.sh.BazelShRuleClasses;
-import com.google.devtools.build.lib.bazel.rules.sh.BazelShTestRule;
import com.google.devtools.build.lib.bazel.rules.workspace.GitRepositoryRule;
import com.google.devtools.build.lib.bazel.rules.workspace.HttpArchiveRule;
import com.google.devtools.build.lib.bazel.rules.workspace.HttpFileRule;
@@ -168,22 +164,6 @@ public class BazelRuleClassProvider {
}
};
- public static final RuleSet SH_RULES =
- new RuleSet() {
- @Override
- public void init(Builder builder) {
- builder.addRuleDefinition(new BazelShRuleClasses.ShRule());
- builder.addRuleDefinition(new BazelShLibraryRule());
- builder.addRuleDefinition(new BazelShBinaryRule());
- builder.addRuleDefinition(new BazelShTestRule());
- }
-
- @Override
- public ImmutableList<RuleSet> requires() {
- return ImmutableList.of(CoreRules.INSTANCE);
- }
- };
-
public static final RuleSet CPP_PROTO_RULES =
new RuleSet() {
@Override
@@ -333,7 +313,7 @@ public class BazelRuleClassProvider {
ConfigRules.INSTANCE,
PlatformRules.INSTANCE,
PROTO_RULES,
- SH_RULES,
+ ShRules.INSTANCE,
CcRules.INSTANCE,
CPP_PROTO_RULES,
JavaRules.INSTANCE,
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ShRules.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ShRules.java
new file mode 100644
index 0000000000..e49ee9609c
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ShRules.java
@@ -0,0 +1,47 @@
+// Copyright 2018 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.bazel.rules;
+
+import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider.Builder;
+import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider.RuleSet;
+import com.google.devtools.build.lib.bazel.rules.sh.BazelShBinaryRule;
+import com.google.devtools.build.lib.bazel.rules.sh.BazelShLibraryRule;
+import com.google.devtools.build.lib.bazel.rules.sh.BazelShRuleClasses;
+import com.google.devtools.build.lib.bazel.rules.sh.BazelShTestRule;
+import com.google.devtools.build.lib.rules.core.CoreRules;
+
+/**
+ * Rules for shell support in Bazel.
+ */
+public class ShRules implements RuleSet {
+ public static final ShRules INSTANCE = new ShRules();
+
+ private ShRules() {
+ // Use the static INSTANCE field instead.
+ }
+
+ @Override
+ public void init(Builder builder) {
+ builder.addRuleDefinition(new BazelShRuleClasses.ShRule());
+ builder.addRuleDefinition(new BazelShLibraryRule());
+ builder.addRuleDefinition(new BazelShBinaryRule());
+ builder.addRuleDefinition(new BazelShTestRule());
+ }
+
+ @Override
+ public ImmutableList<RuleSet> requires() {
+ return ImmutableList.of(CoreRules.INSTANCE);
+ }
+}
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java
index 222c198e6e..59c070b1d2 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java
@@ -106,7 +106,7 @@ public class BazelRuleClassProviderTest {
@Test
public void shConsistency() {
- checkModule(BazelRuleClassProvider.SH_RULES);
+ checkModule(ShRules.INSTANCE);
}
@Test