aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java69
1 files changed, 35 insertions, 34 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index a6a6614012..dfcd35f754 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -346,41 +346,42 @@ public final class PackageFactory {
private final Package.Builder.Helper packageBuilderHelper;
- /** Factory for {@link PackageFactory} instances. Intended to only be used by unit tests. */
+ /** Builder for {@link PackageFactory} instances. Intended to only be used by unit tests. */
@VisibleForTesting
- public abstract static class FactoryForTesting {
- public final PackageFactory create(RuleClassProvider ruleClassProvider, FileSystem fs) {
- return create(ruleClassProvider, null, ImmutableList.<EnvironmentExtension>of(), fs);
- }
-
- public final PackageFactory create(
- RuleClassProvider ruleClassProvider,
- EnvironmentExtension environmentExtension,
- FileSystem fs) {
- return create(ruleClassProvider, null, ImmutableList.of(environmentExtension), fs);
- }
-
- public final PackageFactory create(
- RuleClassProvider ruleClassProvider,
- Map<String, String> platformSetRegexps,
- Iterable<EnvironmentExtension> environmentExtensions,
- FileSystem fs) {
- return create(
- ruleClassProvider,
- platformSetRegexps,
- AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY,
- environmentExtensions,
- "test",
- fs);
- }
-
- protected abstract PackageFactory create(
- RuleClassProvider ruleClassProvider,
- Map<String, String> platformSetRegexps,
- Function<RuleClass, AttributeContainer> attributeContainerFactory,
- Iterable<EnvironmentExtension> environmentExtensions,
- String version,
- FileSystem fs);
+ public abstract static class BuilderForTesting {
+ protected final String version = "test";
+ protected Iterable<EnvironmentExtension> environmentExtensions = ImmutableList.of();
+ protected Map<String, String> platformSetRegexps = null;
+ protected Function<RuleClass, AttributeContainer> attributeContainerFactory =
+ AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY;
+ protected boolean doChecksForTesting = true;
+
+ public BuilderForTesting setEnvironmentExtensions(
+ Iterable<EnvironmentExtension> environmentExtensions) {
+ this.environmentExtensions = environmentExtensions;
+ return this;
+ }
+
+ public BuilderForTesting setPlatformSetRegexps(Map<String, String> platformSetRegexps) {
+ this.platformSetRegexps = platformSetRegexps;
+ return this;
+ }
+
+ public BuilderForTesting disableChecks() {
+ this.doChecksForTesting = false;
+ return this;
+ }
+
+ public abstract PackageFactory build(RuleClassProvider ruleClassProvider, FileSystem fs);
+ }
+
+ /**
+ * Factory for {@link PackageFactory.BuilderForTesting} instances. Intended to only be used by
+ * unit tests.
+ */
+ @VisibleForTesting
+ public abstract static class BuilderFactoryForTesting {
+ public abstract BuilderForTesting builder();
}
/**