aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/packages
diff options
context:
space:
mode:
authorGravatar carmi <carmi@google.com>2017-12-12 16:41:33 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-12 16:44:01 -0800
commitb28285a51ab39c0983478731f03ac1a213f20ada (patch)
tree1f469335fd319e51df652ec2a8c732dc74a48f46 /src/main/java/com/google/devtools/build/lib/skyframe/packages
parent2968132137f715f59e50ad94af6df56a29228c8e (diff)
Initialize the RuleClassProvider only once.
This saves some CPU/wall time when creating multiple PackageLoader instances. RELNOTES: None PiperOrigin-RevId: 178834826
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/packages')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java b/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java
index 79ead3416d..dfed69265d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe.packages;
import com.google.common.base.Suppliers;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider;
import com.google.devtools.build.lib.packages.BuildFileName;
import com.google.devtools.build.lib.packages.PackageFactory.EnvironmentExtension;
@@ -76,6 +77,9 @@ public class BazelPackageLoader extends AbstractPackageLoader {
/** Builder for {@link BazelPackageLoader} instances. */
public static class Builder extends AbstractPackageLoader.Builder {
+ private static final ConfiguredRuleClassProvider DEFAULT_RULE_CLASS_PROVIDER =
+ BazelRuleClassProvider.create();
+
private Builder(Path workspaceDir) {
super(workspaceDir);
}
@@ -87,12 +91,12 @@ public class BazelPackageLoader extends AbstractPackageLoader {
@Override
protected RuleClassProvider getDefaultRuleClassProvider() {
- return BazelRuleClassProvider.create();
+ return DEFAULT_RULE_CLASS_PROVIDER;
}
@Override
protected String getDefaultDefaultPackageContents() {
- return BazelRuleClassProvider.create().getDefaultsPackageContent(
+ return DEFAULT_RULE_CLASS_PROVIDER.getDefaultsPackageContent(
InvocationPolicy.getDefaultInstance());
}
}