aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/constraints
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2015-03-19 16:12:34 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-03-20 14:37:30 +0000
commit58505033a9a424873d61fc14c261f14bc08c523a (patch)
treebe9b82d74e648e4614ed2abb3e9491298d140b2e /src/main/java/com/google/devtools/build/lib/analysis/constraints
parenta5e784efe8c160f0bff10e5944899e9f7227fbfa (diff)
Replace @BlazeRule with a getMetadata() method. This lets us avoid Java Reflection, and saves ~15% of initialization time in []RuleClassProvider.create().
Before change: Over 14 samples, average = 976 median = 969.9 After change: Over 14 samples, average = 811.5 median = 813.9 -- MOS_MIGRATED_REVID=89036261
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/constraints')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentRule.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentRule.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentRule.java
index 58116e8267..8330dba872 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentRule.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentRule.java
@@ -18,7 +18,6 @@ import static com.google.devtools.build.lib.packages.Attribute.attr;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.BaseRuleClasses;
-import com.google.devtools.build.lib.analysis.BlazeRule;
import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.packages.RuleClass;
@@ -28,9 +27,6 @@ import com.google.devtools.build.lib.util.FileTypeSet;
/**
* Rule definition for environment rules (for Bazel's constraint enforcement system).
*/
-@BlazeRule(name = EnvironmentRule.RULE_NAME,
- ancestors = { BaseRuleClasses.BaseRule.class },
- factoryClass = Environment.class)
public final class EnvironmentRule implements RuleDefinition {
public static final String RULE_NAME = "environment";
@@ -67,4 +63,13 @@ public final class EnvironmentRule implements RuleDefinition {
.setUndocumented()
.build();
}
+
+ @Override
+ public Metadata getMetadata() {
+ return RuleDefinition.Metadata.builder()
+ .name(EnvironmentRule.RULE_NAME)
+ .ancestors(BaseRuleClasses.BaseRule.class)
+ .factoryClass(Environment.class)
+ .build();
+ }
}