ASwB aspect: parse java packages during execution
--
MOS_MIGRATED_REVID=109305952
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
index 4857c21..bdf4639 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
@@ -486,6 +486,14 @@
}
};
+ public static final Function<Artifact, String> ABSOLUTE_PATH_STRING =
+ new Function<Artifact, String>() {
+ @Override
+ public String apply(Artifact artifact) {
+ return artifact.getPath().getPathString();
+ }
+ };
+
/**
* Converts a collection of artifacts into execution-time path strings, and
* adds those to a given collection. Middleman artifacts are ignored by this
@@ -510,6 +518,16 @@
}
/**
+ * Lazily converts artifacts into absolute path strings. Middleman artifacts are ignored by
+ * this method.
+ */
+ public static Iterable<String> toAbsolutePaths(Iterable<Artifact> artifacts) {
+ return Iterables.transform(
+ Iterables.filter(artifacts, MIDDLEMAN_FILTER),
+ ABSOLUTE_PATH_STRING);
+ }
+
+ /**
* Lazily converts artifacts into root-relative path strings. Middleman artifacts are ignored by
* this method.
*/