From 57162c515ea0bae374bec0744d4c3cc89505032d Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Wed, 20 Sep 2023 13:41:30 +0000 Subject: Add srcjar output for platform_bootclasspath This output contains all the transitive sources that are contained in the bootclasspath. It's currently limited to source-built bootclasspath components. Future work will make this deal with sdk_library prebuilts. Bug: 151360309 Test: unit test, as well as manual inspection of platform-bootclasspath Change-Id: Ie05d8125e19736d8b4b9ebafb70b88a0a40069d5 --- java/platform_bootclasspath.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'java/platform_bootclasspath.go') diff --git a/java/platform_bootclasspath.go b/java/platform_bootclasspath.go index ade739552..bab0bf614 100644 --- a/java/platform_bootclasspath.go +++ b/java/platform_bootclasspath.go @@ -173,6 +173,18 @@ func (b *platformBootclasspathModule) GenerateAndroidBuildActions(ctx android.Mo allModules = append(allModules, apexModules...) b.configuredModules = allModules + var transitiveSrcFiles android.Paths + for _, module := range allModules { + depInfo := ctx.OtherModuleProvider(module, JavaInfoProvider).(JavaInfo) + if depInfo.TransitiveSrcFiles != nil { + transitiveSrcFiles = append(transitiveSrcFiles, depInfo.TransitiveSrcFiles.ToList()...) + } + } + jarArgs := resourcePathsToJarArgs(transitiveSrcFiles) + jarArgs = append(jarArgs, "-srcjar") // Move srcfiles to the right package + transitiveSrcJar := android.PathForModuleOut(ctx, ctx.ModuleName()+"-transitive.srcjar") + TransformResourcesToJar(ctx, transitiveSrcJar, jarArgs, transitiveSrcFiles) + // Gather all the fragments dependencies. b.fragments = gatherApexModulePairDepsWithTag(ctx, bootclasspathFragmentDepTag) -- cgit v1.2.3-59-g8ed1b