Allow ImplicitOutputsFunctions to be overriden on Rule creation.
--
MOS_MIGRATED_REVID=129787305
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 b05e6ae..e3f5954 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
@@ -1021,7 +1021,32 @@
RuleClass ruleClass,
Location location,
AttributeContainer attributeContainer) {
- return new Rule(pkg, label, ruleClass, location, attributeContainer);
+ return new Rule(
+ pkg,
+ label,
+ ruleClass,
+ location,
+ attributeContainer);
+ }
+
+ /**
+ * Same to {@link #createRule(Label, RuleClass, Location, AttributeContainer)}, except
+ * allows specifying an {@link ImplicitOutputsFunction} override. Only use if you know what
+ * you're doing.
+ */
+ Rule createRule(
+ Label label,
+ RuleClass ruleClass,
+ Location location,
+ AttributeContainer attributeContainer,
+ ImplicitOutputsFunction implicitOutputsFunction) {
+ return new Rule(
+ pkg,
+ label,
+ ruleClass,
+ location,
+ attributeContainer,
+ implicitOutputsFunction);
}
/**