diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages')
3 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index e01787adbb..1776ed6626 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -1294,7 +1294,7 @@ public class Package { return pkg; } - protected ExternalPackageBuilder externalPackageData() { + public ExternalPackageBuilder externalPackageData() { return externalPackageData; } 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 055ef73bf9..36213d53fe 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 @@ -1398,6 +1398,13 @@ public final class PackageFactory { public MakeEnvironment.Builder getMakeEnvironment() { return pkgBuilder.getMakeEnvironment(); } + + /** + * Returns the builder of this Package. + */ + public Package.Builder getBuilder() { + return pkgBuilder; + } } private final ClassObject nativeModule; diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java index 137aeb8775..8064936556 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java +++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java @@ -559,10 +559,11 @@ public final class RuleClass { Preconditions.checkState( (type == RuleClassType.ABSTRACT) == (configuredTargetFactory == null && configuredTargetFunction == null)); - Preconditions.checkState(skylarkExecutable == (configuredTargetFunction != null)); - Preconditions.checkState(skylarkExecutable == (ruleDefinitionEnvironment != null)); - Preconditions.checkState(workspaceOnly || externalBindingsFunction == NO_EXTERNAL_BINDINGS); - + if (!workspaceOnly) { + Preconditions.checkState(skylarkExecutable == (configuredTargetFunction != null)); + Preconditions.checkState(skylarkExecutable == (ruleDefinitionEnvironment != null)); + Preconditions.checkState(externalBindingsFunction == NO_EXTERNAL_BINDINGS); + } return new RuleClass(name, skylark, skylarkExecutable, documented, publicByDefault, binaryOutput, workspaceOnly, outputsDefaultExecutable, implicitOutputsFunction, configurator, configuredTargetFactory, validityPredicate, preferredDependencyPredicate, |