Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b27645a4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Remove the SdkLibraryDependency interface" into main

parents 4785b788 98e9ac60
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -1782,16 +1782,15 @@ func (u *usesLibrary) classLoaderContextForUsesLibDeps(ctx android.ModuleContext
			}
		}

		if lib, ok := m.(UsesLibraryDependency); ok {
			if _, ok := android.OtherModuleProvider(ctx, m, SdkLibraryInfoProvider); ok {
				// Skip java_sdk_library dependencies that provide stubs, but not an implementation.
				// This will be restricted to optional_uses_libs
		if sdklib, ok := m.(SdkLibraryDependency); ok {
			if tag == usesLibOptTag && sdklib.DexJarBuildPath(ctx).PathOrNil() == nil {
				if tag == usesLibOptTag && lib.DexJarBuildPath(ctx).PathOrNil() == nil {
					u.shouldDisableDexpreopt = true
					return
				}
			}

		if lib, ok := m.(UsesLibraryDependency); ok {
			libName := dep
			if ulib, ok := m.(ProvidesUsesLib); ok && ulib.ProvidesUsesLib() != nil {
				libName = *ulib.ProvidesUsesLib()
+2 −3
Original line number Diff line number Diff line
@@ -2388,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)
@@ -2723,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()
+1 −2
Original line number Diff line number Diff line
@@ -373,8 +373,7 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps {
				panic(fmt.Errorf("unknown dependency %q for %q", otherName, ctx.ModuleName()))
			}
		case libTag, sdkLibTag:
			if _, ok := module.(SdkLibraryDependency); ok {
				sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider)
			if sdkInfo, ok := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider); ok {
				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)
+6 −7
Original line number Diff line number Diff line
@@ -298,13 +298,12 @@ func hiddenAPIAddStubLibDependencies(ctx android.BottomUpMutatorContext, apiScop
// available, or reports an error.
func hiddenAPIRetrieveDexJarBuildPath(ctx android.ModuleContext, module android.Module, kind android.SdkKind) android.Path {
	var dexJar OptionalDexJarPath
	if sdkLibrary, ok := module.(SdkLibraryDependency); ok {
	if sdkLibrary, ok := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider); ok {
		if ctx.Config().ReleaseHiddenApiExportableStubs() {
			dexJar = sdkLibrary.SdkApiExportableStubDexJar(ctx, kind)
			dexJar = sdkLibrary.ExportableStubDexJarPaths[kind]
		} else {
			dexJar = sdkLibrary.SdkApiStubDexJar(ctx, kind)
			dexJar = sdkLibrary.EverythingStubDexJarPaths[kind]
		}

	} else if j, ok := module.(UsesLibraryDependency); ok {
		dexJar = j.DexJarBuildPath(ctx)
	} else {
@@ -853,15 +852,15 @@ func (i *HiddenAPIFlagInput) gatherStubLibInfo(ctx android.ModuleContext, conten
			i.StubDexJarsByScope.addStubDexJar(ctx, module, apiScope, dexJar)
		}

		if sdkLibrary, ok := module.(SdkLibraryDependency); ok {
			removedTxtFile := sdkLibrary.SdkRemovedTxtFile(ctx, sdkKind)
		if sdkLibrary, ok := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider); ok {
			removedTxtFile := sdkLibrary.RemovedTxtFiles[sdkKind]
			i.RemovedTxtFiles = append(i.RemovedTxtFiles, removedTxtFile.AsPaths()...)
		}
	}

	// If the contents includes any java_sdk_library modules then add them to the stubs.
	for _, module := range contents {
		if _, ok := module.(SdkLibraryDependency); ok {
		if _, ok := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider); ok {
			// Add information for every possible API scope needed by hidden API.
			for _, apiScope := range hiddenAPISdkLibrarySupportedScopes {
				addFromModule(ctx, module, apiScope)
+2 −2
Original line number Diff line number Diff line
@@ -2696,7 +2696,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
					transitiveBootClasspathHeaderJars = append(transitiveBootClasspathHeaderJars, dep.TransitiveStaticLibsHeaderJars)
				}
			}
		} else if _, ok := module.(SdkLibraryDependency); ok {
		} else if _, ok := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider); ok {
			switch tag {
			case libTag, sdkLibTag:
				sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider)
@@ -3307,7 +3307,7 @@ func addCLCFromDep(ctx android.ModuleContext, depModule android.Module,
	depName := android.RemoveOptionalPrebuiltPrefix(ctx.OtherModuleName(depModule))

	var sdkLib *string
	if lib, ok := depModule.(SdkLibraryDependency); ok && lib.sharedLibrary() {
	if lib, ok := android.OtherModuleProvider(ctx, depModule, SdkLibraryInfoProvider); ok && lib.SharedLibrary {
		// A shared SDK library. This should be added as a top-level CLC element.
		sdkLib = &depName
	} else if lib, ok := depModule.(SdkLibraryComponentDependency); ok && lib.OptionalSdkLibraryImplementation() != nil {
Loading