aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2017-12-20 12:53:31 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-20 12:55:05 -0800
commitab8ea13d81106aebcfd1c08f4edec198e347c48c (patch)
treec67eb160f67369fd40bf2556ad40b9597c854956 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
parente6940a554bfbd79e3e4534100fb7bf92be87cab2 (diff)
Remove references to some internal tooling.
RELNOTES: None PiperOrigin-RevId: 179722149
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
index 84d64e3b45..be646c3b8b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
@@ -19,10 +19,12 @@ import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.analysis.actions.SymlinkAction;
+import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.rules.java.JavaCompilationArtifacts;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
+import com.google.devtools.build.lib.rules.java.ProguardHelper.ProguardOutput;
import javax.annotation.Nullable;
/**
@@ -114,4 +116,19 @@ public interface AndroidSemantics {
/** Returns the list of attributes that may contribute Java runtime dependencies. */
ImmutableList<String> getAttributesWithJavaRuntimeDeps(RuleContext ruleContext);
+
+ /** A hook for checks of internal-only or external-only attributes of {@code android_binary}. */
+ default void validateAndroidBinaryRuleContext(RuleContext ruleContext) throws RuleErrorException {
+ }
+
+ /** The artifact for the map that proguard will output. */
+ Artifact getProguardOutputMap(RuleContext ruleContext) throws InterruptedException;
+
+ /** Maybe post process the dex files and proguard output map. */
+ AndroidBinary.DexPostprocessingOutput postprocessClassesDexZip(
+ RuleContext ruleContext,
+ NestedSetBuilder<Artifact> filesBuilder,
+ Artifact classesDexZip,
+ ProguardOutput proguardOutput)
+ throws InterruptedException;
}