summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2022-05-03 13:30:30 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-05-03 13:30:30 +0000
commit31cdf29eb10e28aefb6b127d0803a58e7d341d95 (patch)
tree31a555cfe474198ac658826703c3ac51047d4fbd /java
parent6c356f40a224d209ec106a02018dcc05eed7c3a5 (diff)
parent0038a8d374dc7f26b8e6d0f055c163405349e7cb (diff)
Prevent non-app/non-test modules from statically including jacocoagent am: 0038a8d374
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2085343 Change-Id: Id262b6e9e63a621b952988f9668603a79e663daf Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'java')
-rwxr-xr-xjava/app.go2
-rw-r--r--java/base.go6
2 files changed, 7 insertions, 1 deletions
diff --git a/java/app.go b/java/app.go
index 2b52eab15..d0a1db031 100755
--- a/java/app.go
+++ b/java/app.go
@@ -900,6 +900,7 @@ func AndroidAppFactory() android.Module {
module.Module.dexProperties.Optimize.Shrink = proptools.BoolPtr(true)
module.Module.properties.Instrument = true
+ module.Module.properties.Supports_static_instrumentation = true
module.Module.properties.Installable = proptools.BoolPtr(true)
module.addHostAndDeviceProperties()
@@ -1019,6 +1020,7 @@ func AndroidTestFactory() android.Module {
module.Module.dexProperties.Optimize.EnabledByDefault = true
module.Module.properties.Instrument = true
+ module.Module.properties.Supports_static_instrumentation = true
module.Module.properties.Installable = proptools.BoolPtr(true)
module.appProperties.Use_embedded_native_libs = proptools.BoolPtr(true)
module.appProperties.AlwaysPackageNativeLibs = true
diff --git a/java/base.go b/java/base.go
index 245ffbb3d..ff1ce8516 100644
--- a/java/base.go
+++ b/java/base.go
@@ -170,6 +170,9 @@ type CommonProperties struct {
}
Instrument bool `blueprint:"mutated"`
+ // If true, then the module supports statically including the jacocoagent
+ // into the library.
+ Supports_static_instrumentation bool `blueprint:"mutated"`
// List of files to include in the META-INF/services folder of the resulting jar.
Services []string `android:"path,arch_variant"`
@@ -602,7 +605,8 @@ func (j *Module) shouldInstrument(ctx android.BaseModuleContext) bool {
}
func (j *Module) shouldInstrumentStatic(ctx android.BaseModuleContext) bool {
- return j.shouldInstrument(ctx) &&
+ return j.properties.Supports_static_instrumentation &&
+ j.shouldInstrument(ctx) &&
(ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_STATIC") ||
ctx.Config().UnbundledBuild())
}