summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go27
1 files changed, 11 insertions, 16 deletions
diff --git a/java/java.go b/java/java.go
index 2e53654cc..ceedd8971 100644
--- a/java/java.go
+++ b/java/java.go
@@ -76,7 +76,9 @@ func RegisterJavaBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterModuleType("java_host_for_device", HostForDeviceFactory)
ctx.RegisterModuleType("dex_import", DexImportFactory)
- ctx.FinalDepsMutators(dexpreopt.RegisterToolDepsMutator)
+ ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) {
+ ctx.BottomUp("dexpreopt_tool_deps", dexpreoptToolDepsMutator).Parallel()
+ })
ctx.RegisterSingletonType("logtags", LogtagsSingleton)
ctx.RegisterSingletonType("kythe_java_extract", kytheExtractJavaFactory)
@@ -371,7 +373,6 @@ type Module struct {
android.DefaultableModuleBase
android.ApexModuleBase
android.SdkBase
- dexpreopt.DexPreoptModule
properties CompilerProperties
protoProperties android.ProtoProperties
@@ -1577,16 +1578,6 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
}
} else {
outputFile = implementationAndResourcesJar
-
- // dexpreopt.GetGlobalSoongConfig needs to be called at least once even if
- // no module actually is dexpreopted, to ensure there's a cached
- // GlobalSoongConfig for the dexpreopt singletons, which will run
- // regardless.
- // TODO(b/147613152): Remove when the singletons no longer rely on the
- // cached GlobalSoongConfig.
- if !dexpreopt.GetGlobalConfig(ctx).DisablePreopt {
- _ = dexpreopt.GetGlobalSoongConfig(ctx)
- }
}
ctx.CheckbuildFile(outputFile)
@@ -1794,6 +1785,10 @@ func (j *Module) JacocoReportClassesFile() android.Path {
return j.jacocoReportClassesFile
}
+func (j *Module) IsInstallable() bool {
+ return Bool(j.properties.Installable)
+}
+
//
// Java libraries (.jar file)
//
@@ -1831,7 +1826,6 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
j.checkSdkVersion(ctx)
j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", j.Stem()+".jar")
j.dexpreopter.isSDKLibrary = j.deviceProperties.IsSDKLibrary
- j.dexpreopter.isInstallable = Bool(j.properties.Installable)
j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
j.deviceProperties.UncompressDex = j.dexpreopter.uncompressedDex
j.compile(ctx, nil)
@@ -2353,7 +2347,6 @@ type Import struct {
android.ApexModuleBase
prebuilt android.Prebuilt
android.SdkBase
- dexpreopt.DexPreoptModule
properties ImportProperties
@@ -2564,7 +2557,6 @@ type DexImport struct {
android.DefaultableModuleBase
android.ApexModuleBase
prebuilt android.Prebuilt
- dexpreopt.DexPreoptModule
properties DexImportProperties
@@ -2590,13 +2582,16 @@ func (j *DexImport) Stem() string {
return proptools.StringDefault(j.properties.Stem, j.ModuleBase.Name())
}
+func (j *DexImport) IsInstallable() bool {
+ return true
+}
+
func (j *DexImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
if len(j.properties.Jars) != 1 {
ctx.PropertyErrorf("jars", "exactly one jar must be provided")
}
j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", j.Stem()+".jar")
- j.dexpreopter.isInstallable = true
j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
inputJar := ctx.ExpandSource(j.properties.Jars[0], "jars")