Loading java/aar.go +1 −1 Original line number Diff line number Diff line Loading @@ -1348,7 +1348,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.headerJarFile = classpathFile } android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(a.headerJarFile), ResourceJars: android.PathsIfNonNil(resourceJarFile), TransitiveLibsHeaderJars: a.transitiveLibsHeaderJars, Loading java/base.go +58 −72 Original line number Diff line number Diff line Loading @@ -1228,14 +1228,17 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath ctx.ModuleErrorf("headers_only is enabled but Turbine is disabled.") } _, j.headerJarFile, _ = j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, _, combinedHeaderJarFile := j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, extraCombinedJars) combinedHeaderJarFile = j.jarjarIfNecessary(ctx, combinedHeaderJarFile, jarName, "turbine") combinedHeaderJarFile = j.repackageFlagsIfNecessary(ctx, combinedHeaderJarFile, jarName, "repackage-turbine") if ctx.Failed() { return } j.headerJarFile = combinedHeaderJarFile android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, Loading Loading @@ -1347,11 +1350,12 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath // with sharding enabled. See: b/77284273. } extraJars := append(slices.Clone(kotlinHeaderJars), extraCombinedJars...) headerJarFileWithoutDepsOrJarjar, j.headerJarFile, j.repackagedHeaderJarFile = var combinedHeaderJarFile android.Path headerJarFileWithoutDepsOrJarjar, combinedHeaderJarFile = j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, extraJars) if ctx.Failed() { return } j.headerJarFile = j.jarjarIfNecessary(ctx, combinedHeaderJarFile, jarName, "turbine") j.repackagedHeaderJarFile = j.repackageFlagsIfNecessary(ctx, j.headerJarFile, jarName, "turbine") } if len(uniqueJavaFiles) > 0 || len(srcJars) > 0 { hasErrorproneableFiles := false Loading Loading @@ -1548,23 +1552,18 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath } // jarjar implementation jar if necessary if j.expandJarjarRules != nil { // Transform classes.jar into classes-jarjar.jar jarjarFile := android.PathForModuleOut(ctx, "jarjar", jarName) TransformJarJar(ctx, jarjarFile, outputFile, j.expandJarjarRules) jarjarFile := j.jarjarIfNecessary(ctx, outputFile, jarName, "") outputFile = jarjarFile // jarjar resource jar if necessary if j.resourceJar != nil { resourceJarJarFile := android.PathForModuleOut(ctx, "res-jarjar", jarName) TransformJarJar(ctx, resourceJarJarFile, j.resourceJar, j.expandJarjarRules) resourceJarJarFile := j.jarjarIfNecessary(ctx, j.resourceJar, jarName, "resource") j.resourceJar = resourceJarJarFile } if ctx.Failed() { return } } // Check package restrictions if necessary. if len(j.properties.Permitted_packages) > 0 { Loading Loading @@ -1753,7 +1752,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath ctx.CheckbuildFile(outputFile) android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, Loading Loading @@ -1896,16 +1895,13 @@ func CheckKotlincFlags(ctx android.ModuleContext, flags []string) { func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars android.Paths, deps deps, flags javaBuilderFlags, jarName string, extraJars android.Paths) (headerJar, jarjarAndDepsHeaderJar, jarjarAndDepsRepackagedHeaderJar android.Path) { extraJars android.Paths) (headerJar android.Path, combinedHeaderJar android.Path) { var jars android.Paths if len(srcFiles) > 0 || len(srcJars) > 0 { // Compile java sources into turbine.jar. turbineJar := android.PathForModuleOut(ctx, "turbine", jarName) TransformJavaToHeaderClasses(ctx, turbineJar, srcFiles, srcJars, flags) if ctx.Failed() { return nil, nil, nil } jars = append(jars, turbineJar) headerJar = turbineJar } Loading @@ -1918,33 +1914,11 @@ func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars // we cannot skip the combine step for now if there is only one jar // since we have to strip META-INF/TRANSITIVE dir from turbine.jar combinedJar := android.PathForModuleOut(ctx, "turbine-combined", jarName) TransformJarsToJar(ctx, combinedJar, "for turbine", jars, android.OptionalPath{}, combinedHeaderJarOutputPath := android.PathForModuleOut(ctx, "turbine-combined", jarName) TransformJarsToJar(ctx, combinedHeaderJarOutputPath, "for turbine", jars, android.OptionalPath{}, false, nil, []string{"META-INF/TRANSITIVE"}) jarjarAndDepsHeaderJar = combinedJar if j.expandJarjarRules != nil { // Transform classes.jar into classes-jarjar.jar jarjarFile := android.PathForModuleOut(ctx, "turbine-jarjar", jarName) TransformJarJar(ctx, jarjarFile, jarjarAndDepsHeaderJar, j.expandJarjarRules) jarjarAndDepsHeaderJar = jarjarFile if ctx.Failed() { return nil, nil, nil } } if j.repackageJarjarRules != nil { repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-turbine-jarjar", jarName) TransformJarJar(ctx, repackagedJarjarFile, jarjarAndDepsHeaderJar, j.repackageJarjarRules) jarjarAndDepsRepackagedHeaderJar = repackagedJarjarFile if ctx.Failed() { return nil, nil, nil } } else { jarjarAndDepsRepackagedHeaderJar = jarjarAndDepsHeaderJar } return headerJar, jarjarAndDepsHeaderJar, jarjarAndDepsRepackagedHeaderJar return headerJar, combinedHeaderJarOutputPath } func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags, Loading Loading @@ -1986,7 +1960,7 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M return } dep, _ := android.OtherModuleProvider(ctx, module, JavaInfoProvider) if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { tag := ctx.OtherModuleDependencyTag(module) _, isUsesLibDep := tag.(usesLibraryDependencyTag) if tag == libTag || tag == r8LibraryJarTag || isUsesLibDep { Loading @@ -2004,6 +1978,7 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M if dep.TransitiveStaticLibsHeaderJars != nil { transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars) } } }) j.transitiveLibsHeaderJars = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) j.transitiveStaticLibsHeaderJars = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs) Loading Loading @@ -2108,11 +2083,12 @@ func (j *Module) collectTransitiveSrcFiles(ctx android.ModuleContext, mine andro ctx.VisitDirectDeps(func(module android.Module) { tag := ctx.OtherModuleDependencyTag(module) if tag == staticLibTag { depInfo, _ := android.OtherModuleProvider(ctx, module, JavaInfoProvider) if depInfo, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { if depInfo.TransitiveSrcFiles != nil { fromDeps = append(fromDeps, depInfo.TransitiveSrcFiles) } } } }) j.transitiveSrcFiles = android.NewDepSet(android.POSTORDER, mine, fromDeps) Loading Loading @@ -2730,11 +2706,21 @@ func (j *Module) repackageFlagsIfNecessary(ctx android.ModuleContext, infile and if j.repackageJarjarRules == nil { return infile } repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-jarjar", info+jarName) repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-jarjar", info, jarName) TransformJarJar(ctx, repackagedJarjarFile, infile, j.repackageJarjarRules) return repackagedJarjarFile } func (j *Module) jarjarIfNecessary(ctx android.ModuleContext, infile android.Path, jarName, info string) android.Path { if j.expandJarjarRules == nil { return infile } jarjarFile := android.PathForModuleOut(ctx, "jarjar", info, jarName) TransformJarJar(ctx, jarjarFile, infile, j.expandJarjarRules) return jarjarFile } func addPlugins(deps *deps, pluginJars android.Paths, pluginClasses ...string) { deps.processorPath = append(deps.processorPath, pluginJars...) deps.processorClasses = append(deps.processorClasses, pluginClasses...) Loading java/device_host_converter.go +1 −1 Original line number Diff line number Diff line Loading @@ -130,7 +130,7 @@ func (d *DeviceHostConverter) GenerateAndroidBuildActions(ctx android.ModuleCont d.combinedHeaderJar = d.headerJars[0] } android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: d.headerJars, ImplementationAndResourcesJars: d.implementationAndResourceJars, ImplementationJars: d.implementationJars, Loading java/dex.go +3 −2 Original line number Diff line number Diff line Loading @@ -291,8 +291,9 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, dexParams *compileDexParams) // See b/20667396 var proguardRaiseDeps classpath ctx.VisitDirectDepsWithTag(proguardRaiseTag, func(m android.Module) { dep, _ := android.OtherModuleProvider(ctx, m, JavaInfoProvider) if dep, ok := android.OtherModuleProvider(ctx, m, JavaInfoProvider); ok { proguardRaiseDeps = append(proguardRaiseDeps, dep.RepackagedHeaderJars...) } }) r8Flags = append(r8Flags, proguardRaiseDeps.FormJavaClassPath("-libraryjars")) Loading java/hiddenapi.go +3 −2 Original line number Diff line number Diff line Loading @@ -98,8 +98,9 @@ func (h *hiddenAPI) initHiddenAPI(ctx android.ModuleContext, dexJar OptionalDexJ // processing. classesJars := android.Paths{classesJar} ctx.VisitDirectDepsWithTag(hiddenApiAnnotationsTag, func(dep android.Module) { javaInfo, _ := android.OtherModuleProvider(ctx, dep, JavaInfoProvider) if javaInfo, ok := android.OtherModuleProvider(ctx, dep, JavaInfoProvider); ok { classesJars = append(classesJars, javaInfo.ImplementationJars...) } }) h.classesJarPaths = classesJars Loading Loading
java/aar.go +1 −1 Original line number Diff line number Diff line Loading @@ -1348,7 +1348,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.headerJarFile = classpathFile } android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(a.headerJarFile), ResourceJars: android.PathsIfNonNil(resourceJarFile), TransitiveLibsHeaderJars: a.transitiveLibsHeaderJars, Loading
java/base.go +58 −72 Original line number Diff line number Diff line Loading @@ -1228,14 +1228,17 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath ctx.ModuleErrorf("headers_only is enabled but Turbine is disabled.") } _, j.headerJarFile, _ = j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, _, combinedHeaderJarFile := j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, extraCombinedJars) combinedHeaderJarFile = j.jarjarIfNecessary(ctx, combinedHeaderJarFile, jarName, "turbine") combinedHeaderJarFile = j.repackageFlagsIfNecessary(ctx, combinedHeaderJarFile, jarName, "repackage-turbine") if ctx.Failed() { return } j.headerJarFile = combinedHeaderJarFile android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, Loading Loading @@ -1347,11 +1350,12 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath // with sharding enabled. See: b/77284273. } extraJars := append(slices.Clone(kotlinHeaderJars), extraCombinedJars...) headerJarFileWithoutDepsOrJarjar, j.headerJarFile, j.repackagedHeaderJarFile = var combinedHeaderJarFile android.Path headerJarFileWithoutDepsOrJarjar, combinedHeaderJarFile = j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, extraJars) if ctx.Failed() { return } j.headerJarFile = j.jarjarIfNecessary(ctx, combinedHeaderJarFile, jarName, "turbine") j.repackagedHeaderJarFile = j.repackageFlagsIfNecessary(ctx, j.headerJarFile, jarName, "turbine") } if len(uniqueJavaFiles) > 0 || len(srcJars) > 0 { hasErrorproneableFiles := false Loading Loading @@ -1548,23 +1552,18 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath } // jarjar implementation jar if necessary if j.expandJarjarRules != nil { // Transform classes.jar into classes-jarjar.jar jarjarFile := android.PathForModuleOut(ctx, "jarjar", jarName) TransformJarJar(ctx, jarjarFile, outputFile, j.expandJarjarRules) jarjarFile := j.jarjarIfNecessary(ctx, outputFile, jarName, "") outputFile = jarjarFile // jarjar resource jar if necessary if j.resourceJar != nil { resourceJarJarFile := android.PathForModuleOut(ctx, "res-jarjar", jarName) TransformJarJar(ctx, resourceJarJarFile, j.resourceJar, j.expandJarjarRules) resourceJarJarFile := j.jarjarIfNecessary(ctx, j.resourceJar, jarName, "resource") j.resourceJar = resourceJarJarFile } if ctx.Failed() { return } } // Check package restrictions if necessary. if len(j.properties.Permitted_packages) > 0 { Loading Loading @@ -1753,7 +1752,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath ctx.CheckbuildFile(outputFile) android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, Loading Loading @@ -1896,16 +1895,13 @@ func CheckKotlincFlags(ctx android.ModuleContext, flags []string) { func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars android.Paths, deps deps, flags javaBuilderFlags, jarName string, extraJars android.Paths) (headerJar, jarjarAndDepsHeaderJar, jarjarAndDepsRepackagedHeaderJar android.Path) { extraJars android.Paths) (headerJar android.Path, combinedHeaderJar android.Path) { var jars android.Paths if len(srcFiles) > 0 || len(srcJars) > 0 { // Compile java sources into turbine.jar. turbineJar := android.PathForModuleOut(ctx, "turbine", jarName) TransformJavaToHeaderClasses(ctx, turbineJar, srcFiles, srcJars, flags) if ctx.Failed() { return nil, nil, nil } jars = append(jars, turbineJar) headerJar = turbineJar } Loading @@ -1918,33 +1914,11 @@ func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars // we cannot skip the combine step for now if there is only one jar // since we have to strip META-INF/TRANSITIVE dir from turbine.jar combinedJar := android.PathForModuleOut(ctx, "turbine-combined", jarName) TransformJarsToJar(ctx, combinedJar, "for turbine", jars, android.OptionalPath{}, combinedHeaderJarOutputPath := android.PathForModuleOut(ctx, "turbine-combined", jarName) TransformJarsToJar(ctx, combinedHeaderJarOutputPath, "for turbine", jars, android.OptionalPath{}, false, nil, []string{"META-INF/TRANSITIVE"}) jarjarAndDepsHeaderJar = combinedJar if j.expandJarjarRules != nil { // Transform classes.jar into classes-jarjar.jar jarjarFile := android.PathForModuleOut(ctx, "turbine-jarjar", jarName) TransformJarJar(ctx, jarjarFile, jarjarAndDepsHeaderJar, j.expandJarjarRules) jarjarAndDepsHeaderJar = jarjarFile if ctx.Failed() { return nil, nil, nil } } if j.repackageJarjarRules != nil { repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-turbine-jarjar", jarName) TransformJarJar(ctx, repackagedJarjarFile, jarjarAndDepsHeaderJar, j.repackageJarjarRules) jarjarAndDepsRepackagedHeaderJar = repackagedJarjarFile if ctx.Failed() { return nil, nil, nil } } else { jarjarAndDepsRepackagedHeaderJar = jarjarAndDepsHeaderJar } return headerJar, jarjarAndDepsHeaderJar, jarjarAndDepsRepackagedHeaderJar return headerJar, combinedHeaderJarOutputPath } func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags, Loading Loading @@ -1986,7 +1960,7 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M return } dep, _ := android.OtherModuleProvider(ctx, module, JavaInfoProvider) if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { tag := ctx.OtherModuleDependencyTag(module) _, isUsesLibDep := tag.(usesLibraryDependencyTag) if tag == libTag || tag == r8LibraryJarTag || isUsesLibDep { Loading @@ -2004,6 +1978,7 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M if dep.TransitiveStaticLibsHeaderJars != nil { transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars) } } }) j.transitiveLibsHeaderJars = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) j.transitiveStaticLibsHeaderJars = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs) Loading Loading @@ -2108,11 +2083,12 @@ func (j *Module) collectTransitiveSrcFiles(ctx android.ModuleContext, mine andro ctx.VisitDirectDeps(func(module android.Module) { tag := ctx.OtherModuleDependencyTag(module) if tag == staticLibTag { depInfo, _ := android.OtherModuleProvider(ctx, module, JavaInfoProvider) if depInfo, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { if depInfo.TransitiveSrcFiles != nil { fromDeps = append(fromDeps, depInfo.TransitiveSrcFiles) } } } }) j.transitiveSrcFiles = android.NewDepSet(android.POSTORDER, mine, fromDeps) Loading Loading @@ -2730,11 +2706,21 @@ func (j *Module) repackageFlagsIfNecessary(ctx android.ModuleContext, infile and if j.repackageJarjarRules == nil { return infile } repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-jarjar", info+jarName) repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-jarjar", info, jarName) TransformJarJar(ctx, repackagedJarjarFile, infile, j.repackageJarjarRules) return repackagedJarjarFile } func (j *Module) jarjarIfNecessary(ctx android.ModuleContext, infile android.Path, jarName, info string) android.Path { if j.expandJarjarRules == nil { return infile } jarjarFile := android.PathForModuleOut(ctx, "jarjar", info, jarName) TransformJarJar(ctx, jarjarFile, infile, j.expandJarjarRules) return jarjarFile } func addPlugins(deps *deps, pluginJars android.Paths, pluginClasses ...string) { deps.processorPath = append(deps.processorPath, pluginJars...) deps.processorClasses = append(deps.processorClasses, pluginClasses...) Loading
java/device_host_converter.go +1 −1 Original line number Diff line number Diff line Loading @@ -130,7 +130,7 @@ func (d *DeviceHostConverter) GenerateAndroidBuildActions(ctx android.ModuleCont d.combinedHeaderJar = d.headerJars[0] } android.SetProvider(ctx, JavaInfoProvider, JavaInfo{ android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: d.headerJars, ImplementationAndResourcesJars: d.implementationAndResourceJars, ImplementationJars: d.implementationJars, Loading
java/dex.go +3 −2 Original line number Diff line number Diff line Loading @@ -291,8 +291,9 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, dexParams *compileDexParams) // See b/20667396 var proguardRaiseDeps classpath ctx.VisitDirectDepsWithTag(proguardRaiseTag, func(m android.Module) { dep, _ := android.OtherModuleProvider(ctx, m, JavaInfoProvider) if dep, ok := android.OtherModuleProvider(ctx, m, JavaInfoProvider); ok { proguardRaiseDeps = append(proguardRaiseDeps, dep.RepackagedHeaderJars...) } }) r8Flags = append(r8Flags, proguardRaiseDeps.FormJavaClassPath("-libraryjars")) Loading
java/hiddenapi.go +3 −2 Original line number Diff line number Diff line Loading @@ -98,8 +98,9 @@ func (h *hiddenAPI) initHiddenAPI(ctx android.ModuleContext, dexJar OptionalDexJ // processing. classesJars := android.Paths{classesJar} ctx.VisitDirectDepsWithTag(hiddenApiAnnotationsTag, func(dep android.Module) { javaInfo, _ := android.OtherModuleProvider(ctx, dep, JavaInfoProvider) if javaInfo, ok := android.OtherModuleProvider(ctx, dep, JavaInfoProvider); ok { classesJars = append(classesJars, javaInfo.ImplementationJars...) } }) h.classesJarPaths = classesJars Loading