Add ctx.experimental_new_directory (undocumented) to create tree artifacts in Skylark.
RELNOTES: None.
PiperOrigin-RevId: 151744710
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index f0586b3..7c9e921 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -651,6 +651,14 @@
}
/**
+ * Creates a tree artifact in a directory that is unique to the package that contains the rule,
+ * thus guaranteeing that it never clashes with artifacts created by rules in other packages.
+ */
+ public Artifact getPackageRelativeTreeArtifact(PathFragment relative, Root root) {
+ return getTreeArtifact(getPackageDirectory().getRelative(relative), root);
+ }
+
+ /**
* Creates an artifact in a directory that is unique to the rule, thus guaranteeing that it never
* clashes with artifacts created by other rules.
*/