Loading java/platform_bootclasspath.go +12 −0 Original line number Diff line number Diff line Loading @@ -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) Loading java/platform_bootclasspath_test.go +29 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,15 @@ func TestPlatformBootclasspath(t *testing.T) { RunTest(t) }) fooSourceSrc := "source/a.java" barSrc := "a.java" checkSrcJarInputs := func(t *testing.T, result *android.TestResult, name string, expected []string) { t.Helper() srcjar := result.ModuleForTests(name, "android_common").Output(name + "-transitive.srcjar") android.AssertStringDoesContain(t, "srcjar arg", srcjar.Args["jarArgs"], "-srcjar") android.AssertArrayString(t, "srcjar inputs", expected, srcjar.Implicits.Strings()) } t.Run("source", func(t *testing.T) { result := android.GroupFixturePreparers( preparer, Loading @@ -91,6 +100,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ fooSourceSrc, barSrc, }) }) t.Run("prebuilt", func(t *testing.T) { Loading @@ -103,6 +116,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:prebuilt_foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ // TODO(b/151360309): This should also have the srcs for prebuilt_foo barSrc, }) }) t.Run("source+prebuilt - source preferred", func(t *testing.T) { Loading @@ -116,6 +133,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ fooSourceSrc, barSrc, }) }) t.Run("source+prebuilt - prebuilt preferred", func(t *testing.T) { Loading @@ -129,6 +150,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:prebuilt_foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ // TODO(b/151360309): This should also have the srcs for prebuilt_foo barSrc, }) }) t.Run("dex import", func(t *testing.T) { Loading @@ -146,6 +171,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:prebuilt_foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ // TODO(b/151360309): This should also have the srcs for prebuilt_foo barSrc, }) }) } Loading Loading
java/platform_bootclasspath.go +12 −0 Original line number Diff line number Diff line Loading @@ -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) Loading
java/platform_bootclasspath_test.go +29 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,15 @@ func TestPlatformBootclasspath(t *testing.T) { RunTest(t) }) fooSourceSrc := "source/a.java" barSrc := "a.java" checkSrcJarInputs := func(t *testing.T, result *android.TestResult, name string, expected []string) { t.Helper() srcjar := result.ModuleForTests(name, "android_common").Output(name + "-transitive.srcjar") android.AssertStringDoesContain(t, "srcjar arg", srcjar.Args["jarArgs"], "-srcjar") android.AssertArrayString(t, "srcjar inputs", expected, srcjar.Implicits.Strings()) } t.Run("source", func(t *testing.T) { result := android.GroupFixturePreparers( preparer, Loading @@ -91,6 +100,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ fooSourceSrc, barSrc, }) }) t.Run("prebuilt", func(t *testing.T) { Loading @@ -103,6 +116,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:prebuilt_foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ // TODO(b/151360309): This should also have the srcs for prebuilt_foo barSrc, }) }) t.Run("source+prebuilt - source preferred", func(t *testing.T) { Loading @@ -116,6 +133,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ fooSourceSrc, barSrc, }) }) t.Run("source+prebuilt - prebuilt preferred", func(t *testing.T) { Loading @@ -129,6 +150,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:prebuilt_foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ // TODO(b/151360309): This should also have the srcs for prebuilt_foo barSrc, }) }) t.Run("dex import", func(t *testing.T) { Loading @@ -146,6 +171,10 @@ func TestPlatformBootclasspath(t *testing.T) { "platform:prebuilt_foo", "platform:bar", }) checkSrcJarInputs(t, result, "platform-bootclasspath", []string{ // TODO(b/151360309): This should also have the srcs for prebuilt_foo barSrc, }) }) } Loading