diff options
author | 2018-02-08 11:11:33 -0800 | |
---|---|---|
committer | 2018-02-08 11:13:50 -0800 | |
commit | f5f0877920b3c8be62c81858e5dc4a7b3d553d84 (patch) | |
tree | 366cca6d612615a0e0325f67d49c899e9d4f1169 | |
parent | efa4db5a1d8ce78b6439f653e748c7343c6a61c8 (diff) |
Move BazelRuleClassProvider.SH_RULES to its own class.
PiperOrigin-RevId: 185021810
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 |