summaryrefslogtreecommitdiff
path: root/java/androidmk.go
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2023-07-18 22:11:07 -0700
committer Colin Cross <ccross@android.com> 2023-07-19 21:48:11 +0000
commitf06d8dc8e3816cef2d3c0ba072ad1fc24bc44de0 (patch)
tree3c11e774025d25357223c33724284bd595db86d0 /java/androidmk.go
parent12a1f9182d41fc08aee18ece94a30177bccb273c (diff)
Strip META-INF/services from implementation jars when using as header jars
If a header jar couldn't be built (for example when an API generating annoation processor is in use) the implementation jar is reused as the header jar. If the implementation jar contains an annotation processor listed in META-INF/services/javax.annotation.processing.Processor then later javac executions with the implementation jar in the classpath could attempt to run the annotation processors unexpectedly. Remove the META-INF/services directory when using an implementation jar as a header jar. Bug: 290933559 Test: builds Change-Id: I40d48644bc5a09a9564dc2c4b38f627edd00fcf8
Diffstat (limited to 'java/androidmk.go')
-rw-r--r--java/androidmk.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/java/androidmk.go b/java/androidmk.go
index 784fa29b5..e7a384fc4 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -340,6 +340,9 @@ func (app *AndroidApp) AndroidMkEntries() []android.AndroidMkEntries {
// App module names can be overridden.
entries.SetString("LOCAL_MODULE", app.installApkName)
entries.SetBoolIfTrue("LOCAL_UNINSTALLABLE_MODULE", app.appProperties.PreventInstall)
+ if app.headerJarFile != nil {
+ entries.SetPath("LOCAL_SOONG_HEADER_JAR", app.headerJarFile)
+ }
entries.SetPath("LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE", app.exportPackage)
if app.dexJarFile.IsSet() {
entries.SetPath("LOCAL_SOONG_DEX_JAR", app.dexJarFile.Path())