From 7eebf8b34c4a40fe1f374b7db290ac62ca872c10 Mon Sep 17 00:00:00 2001 From: Yu Liu Date: Fri, 17 Jan 2025 00:23:57 +0000 Subject: Convert JavaFuzzTest, JavaLibrary, generateAndroidBuildActionsWithConfig, ravenwood and robolectricTest to use ModuleProxy. Bug: 377723687 Test: Unit tests and compare the ninja and mk files generated. Change-Id: Icafbef242f78e1c7b186fc7e642bb1cf514e3cc2 --- java/app.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'java/app.go') diff --git a/java/app.go b/java/app.go index 34a172e8a..557ba28f8 100644 --- a/java/app.go +++ b/java/app.go @@ -70,6 +70,8 @@ type AppInfo struct { // EmbeddedJNILibs is the list of paths to JNI libraries that were embedded in the APK. EmbeddedJNILibs android.Paths + + MergedManifestFile android.Path } var AppInfoProvider = blueprint.NewProvider[*AppInfo]() @@ -419,9 +421,10 @@ func (a *AndroidApp) GenerateAndroidBuildActions(ctx android.ModuleContext) { } } android.SetProvider(ctx, AppInfoProvider, &AppInfo{ - Updatable: Bool(a.appProperties.Updatable), - TestHelperApp: false, - EmbeddedJNILibs: embeddedJniLibs, + Updatable: Bool(a.appProperties.Updatable), + TestHelperApp: false, + EmbeddedJNILibs: embeddedJniLibs, + MergedManifestFile: a.mergedManifest, }) a.requiredModuleNames = a.getRequiredModuleNames(ctx) @@ -707,7 +710,7 @@ func (a *AndroidApp) installPath(ctx android.ModuleContext) android.InstallPath return android.PathForModuleInstall(ctx, installDir, a.installApkName+".apk") } -func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) (android.Path, android.Path) { +func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) (android.Path, android.Path, *JavaInfo) { a.dexpreopter.installPath = a.installPath(ctx) a.dexpreopter.isApp = true if a.dexProperties.Uncompress_dex == nil { @@ -753,12 +756,8 @@ func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) (android.Path, a packageResources = binaryResources } } - if javaInfo != nil { - setExtraJavaInfo(ctx, a, javaInfo) - android.SetProvider(ctx, JavaInfoProvider, javaInfo) - } - return a.dexJarFile.PathOrNil(), packageResources + return a.dexJarFile.PathOrNil(), packageResources, javaInfo } func (a *AndroidApp) jniBuildActions(jniLibs []jniLib, prebuiltJniPackages android.Paths, ctx android.ModuleContext) android.WritablePath { @@ -965,7 +964,7 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { a.linter.resources = a.aapt.resourceFiles a.linter.buildModuleReportZip = ctx.Config().UnbundledBuildApps() - dexJarFile, packageResources := a.dexBuildActions(ctx) + dexJarFile, packageResources, javaInfo := a.dexBuildActions(ctx) // No need to check the SDK version of the JNI deps unless we embed them checkNativeSdkVersion := a.shouldEmbedJnis(ctx) && !Bool(a.appProperties.Jni_uses_platform_apis) @@ -1081,6 +1080,12 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { }, ) + if javaInfo != nil { + javaInfo.OutputFile = a.outputFile + setExtraJavaInfo(ctx, a, javaInfo) + android.SetProvider(ctx, JavaInfoProvider, javaInfo) + } + a.setOutputFiles(ctx) } -- cgit v1.2.3-59-g8ed1b