aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java14
3 files changed, 10 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
index dd47b4484d..d70f57bc1d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
@@ -1072,6 +1072,7 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
// No need to shuffle, just run proguarded Jar through dexbuilder
DexArchiveAspect.createDexArchiveAction(
ruleContext,
+ "$dexbuilder_after_proguard",
proguardedJar,
DexArchiveAspect.topLevelDexbuilderDexopts(dexopts),
dexArchives.get(0));
@@ -1401,6 +1402,7 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
Artifact dexArchive =
DexArchiveAspect.createDexArchiveAction(
ruleContext,
+ "$dexbuilder",
derivedJarFunction.apply(jar),
incrementalDexopts,
ruleContext.getDerivedArtifact(
@@ -1495,6 +1497,7 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
checkState(!shuffleOutputs.get(i).equals(shards.get(i)));
DexArchiveAspect.createDexArchiveAction(
ruleContext,
+ "$dexbuilder_after_proguard",
shuffleOutputs.get(i),
DexArchiveAspect.topLevelDexbuilderDexopts(dexopts),
shards.get(i));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
index d53b811f21..a7270d6899 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
@@ -791,6 +791,11 @@ public final class AndroidRuleClasses {
.exec()
.value(env.getToolsLabel("//tools/android:dexbuilder")))
.add(
+ attr("$dexbuilder_after_proguard", LABEL)
+ .cfg(HostTransition.INSTANCE)
+ .exec()
+ .value(env.getToolsLabel("//tools/android:dexbuilder_after_proguard")))
+ .add(
attr("$dexsharder", LABEL)
.cfg(HostTransition.INSTANCE)
.exec()
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
index d455d01fbb..adc6bea3d7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
@@ -416,23 +416,13 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu
}
/**
- * Creates a dex archive using an executable prerequisite called {@code "$dexbuilder"}. Rules
- * calling this method must declare the appropriate prerequisite, similar to how {@link
- * #getDefinition} does it for {@link DexArchiveAspect} under a different name.
+ * Creates a dexbuilder action with the given input, output, and flags. Flags must have been
+ * filtered and normalized to a set that the dexbuilder tool can understand.
*
* @return the artifact given as {@code result}, which can simplify calling code
*/
// Package-private method for use in AndroidBinary
static Artifact createDexArchiveAction(
- RuleContext ruleContext, Artifact jar, Set<String> tokenizedDexopts, Artifact result) {
- return createDexArchiveAction(ruleContext, "$dexbuilder", jar, tokenizedDexopts, result);
- }
-
- /**
- * Creates a dexbuilder action with the given input, output, and flags. Flags must have been
- * filtered and normalized to a set that the dexbuilder tool can understand.
- */
- private static Artifact createDexArchiveAction(
RuleContext ruleContext,
String dexbuilderPrereq,
Artifact jar,