diff options
Diffstat (limited to 'java/base.go')
-rw-r--r-- | java/base.go | 45 |
1 files changed, 9 insertions, 36 deletions
diff --git a/java/base.go b/java/base.go index b64eb5b61..7c26cc355 100644 --- a/java/base.go +++ b/java/base.go @@ -708,9 +708,6 @@ func setOutputFiles(ctx android.ModuleContext, m Module) { ctx.SetOutputFiles(android.Paths{m.dexer.proguardDictionary.Path()}, ".proguard_map") } ctx.SetOutputFiles(m.properties.Generated_srcjars, ".generated_srcjars") - if m.linter.outputs.xml != nil { - ctx.SetOutputFiles(android.Paths{m.linter.outputs.xml}, ".lint") - } } func InitJavaModule(module android.DefaultableModule, hod android.HostOrDeviceSupported) { @@ -854,33 +851,6 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) { // Add dependency on libraries that provide additional hidden api annotations. ctx.AddVariationDependencies(nil, hiddenApiAnnotationsTag, j.properties.Hiddenapi_additional_annotations...) - if ctx.Config().EnforceInterPartitionJavaSdkLibrary() { - // Require java_sdk_library at inter-partition java dependency to ensure stable - // interface between partitions. If inter-partition java_library dependency is detected, - // raise build error because java_library doesn't have a stable interface. - // - // Inputs: - // PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY - // if true, enable enforcement - // PRODUCT_INTER_PARTITION_JAVA_LIBRARY_ALLOWLIST - // exception list of java_library names to allow inter-partition dependency - for idx := range j.properties.Libs { - if libDeps[idx] == nil { - continue - } - - if javaDep, ok := libDeps[idx].(javaSdkLibraryEnforceContext); ok { - // java_sdk_library is always allowed at inter-partition dependency. - // So, skip check. - if _, ok := javaDep.(*SdkLibrary); ok { - continue - } - - j.checkPartitionsForJavaDependency(ctx, "libs", javaDep) - } - } - } - // For library dependencies that are component libraries (like stubs), add the implementation // as a dependency (dexpreopt needs to be against the implementation library, not stubs). for _, dep := range libDeps { @@ -1736,8 +1706,12 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath return } + completeStaticLibsImplementationJarsToCombine := completeStaticLibsImplementationJars + if j.shouldInstrument(ctx) { - outputFile = j.instrument(ctx, flags, outputFile, jarName, specs) + instrumentedOutputFile := j.instrument(ctx, flags, outputFile, jarName, specs) + completeStaticLibsImplementationJarsToCombine = android.NewDepSet(android.PREORDER, android.Paths{instrumentedOutputFile}, nil) + outputFile = instrumentedOutputFile } // merge implementation jar with resources if necessary @@ -1745,7 +1719,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath if ctx.Config().UseTransitiveJarsInClasspath() { resourceJars := completeStaticLibsResourceJars.ToList() if len(resourceJars) > 0 { - implementationAndResourcesJarsToCombine = append(resourceJars, completeStaticLibsImplementationJars.ToList()...) + implementationAndResourcesJarsToCombine = append(resourceJars, completeStaticLibsImplementationJarsToCombine.ToList()...) implementationAndResourcesJarsToCombine = append(implementationAndResourcesJarsToCombine, extraDepCombinedJars...) } } else { @@ -2414,10 +2388,9 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { return } - if _, ok := module.(SdkLibraryDependency); ok { + if sdkInfo, ok := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider); ok { switch tag { case sdkLibTag, libTag, staticLibTag: - sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider) generatingLibsString := android.PrettyConcat( getGeneratingLibs(ctx, j.SdkVersion(ctx), module.Name(), sdkInfo), true, "or") ctx.ModuleErrorf("cannot depend directly on java_sdk_library %q; try depending on %s instead", module.Name(), generatingLibsString) @@ -2726,7 +2699,7 @@ func collectDirectDepsProviders(ctx android.ModuleContext) (result *JarJarProvid module := ctx.Module() moduleName := module.Name() - ctx.VisitDirectDepsIgnoreBlueprint(func(m android.Module) { + ctx.VisitDirectDeps(func(m android.Module) { tag := ctx.OtherModuleDependencyTag(m) // This logic mirrors that in (*Module).collectDeps above. There are several places // where we explicitly return RenameUseExclude, even though it is the default, to @@ -2749,7 +2722,7 @@ func collectDirectDepsProviders(ctx android.ModuleContext) (result *JarJarProvid if IsJniDepTag(tag) || tag == certificateTag || tag == proguardRaiseTag { return RenameUseExclude, "tags" } - if _, ok := m.(SdkLibraryDependency); ok { + if _, ok := android.OtherModuleProvider(ctx, m, SdkLibraryInfoProvider); ok { switch tag { case sdkLibTag, libTag: return RenameUseExclude, "sdklibdep" // matches collectDeps() |