Merge changes I6f80b7b3,Ida8f046c
* changes:
Don't dexpreopt when compile_dex but not installable
Don't dexpreopt or strip java_test modules
diff --git a/java/dexpreopt.go b/java/dexpreopt.go
index de9c5f3..1dc3e9f 100644
--- a/java/dexpreopt.go
+++ b/java/dexpreopt.go
@@ -28,10 +28,11 @@
type dexpreopter struct {
dexpreoptProperties DexpreoptProperties
- installPath android.OutputPath
- isPrivApp bool
- isSDKLibrary bool
- isTest bool
+ installPath android.OutputPath
+ isPrivApp bool
+ isSDKLibrary bool
+ isTest bool
+ isInstallable bool
builtInstalled []string
}
@@ -74,6 +75,10 @@
return true
}
+ if !d.isInstallable {
+ return true
+ }
+
// TODO: contains no java code
return false
diff --git a/java/dexpreopt_test.go b/java/dexpreopt_test.go
index 5b55799..6838bd2 100644
--- a/java/dexpreopt_test.go
+++ b/java/dexpreopt_test.go
@@ -83,6 +83,15 @@
enabled: false,
},
{
+ name: "java test",
+ bp: `
+ java_test {
+ name: "foo",
+ srcs: ["a.java"],
+ }`,
+ enabled: false,
+ },
+ {
name: "android test",
bp: `
android_test {
@@ -100,6 +109,16 @@
}`,
enabled: false,
},
+ {
+ name: "compile_dex",
+ bp: `
+ java_library {
+ name: "foo",
+ srcs: ["a.java"],
+ compile_dex: true,
+ }`,
+ enabled: false,
+ },
}
for _, test := range tests {
diff --git a/java/java.go b/java/java.go
index c02ccd3..5e67193 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1326,6 +1326,7 @@
j.dexJarFile = dexOutputFile
+ j.dexpreopter.isInstallable = Bool(j.properties.Installable)
dexOutputFile = j.dexpreopt(ctx, dexOutputFile)
j.maybeStrippedDexJarFile = dexOutputFile
@@ -1601,6 +1602,7 @@
&module.testProperties)
module.Module.properties.Installable = proptools.BoolPtr(true)
+ module.Module.dexpreopter.isTest = true
InitJavaModule(module, android.HostAndDeviceSupported)
return module