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

Commit dfedf2ec authored by Jiyong Park's avatar Jiyong Park Committed by android-build-merger
Browse files

Merge "stem property of java modules are propagated to Make" am: 5622d535

am: 29081e31

Change-Id: Ia9457970dcc67869e2165dae4a201039e2a71e6e
parents ad182181 29081e31
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ func (library *Library) AndroidMkHostDex(w io.Writer, name string, entries *andr
		if r := library.deviceProperties.Target.Hostdex.Required; len(r) > 0 {
			fmt.Fprintln(w, "LOCAL_REQUIRED_MODULES +=", strings.Join(r, " "))
		}
		fmt.Fprintln(w, "LOCAL_MODULE_STEM :=", library.Stem()+"-hostdex")
		fmt.Fprintln(w, "include $(BUILD_SYSTEM)/soong_java_prebuilt.mk")
	}
}
@@ -102,6 +103,7 @@ func (library *Library) AndroidMkEntries() android.AndroidMkEntries {
				if library.proguardDictionary != nil {
					entries.SetPath("LOCAL_SOONG_PROGUARD_DICT", library.proguardDictionary)
				}
				entries.SetString("LOCAL_MODULE_STEM", library.Stem())
			},
		},
		ExtraFooters: []android.AndroidMkExtraFootersFunc{
@@ -160,6 +162,7 @@ func (prebuilt *Import) AndroidMkEntries() android.AndroidMkEntries {
				entries.SetPath("LOCAL_SOONG_HEADER_JAR", prebuilt.combinedClasspathFile)
				entries.SetPath("LOCAL_SOONG_CLASSES_JAR", prebuilt.combinedClasspathFile)
				entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion())
				entries.SetString("LOCAL_MODULE_STEM", prebuilt.Stem())
			},
		},
	}
@@ -187,6 +190,7 @@ func (prebuilt *DexImport) AndroidMkEntries() android.AndroidMkEntries {
				if len(prebuilt.dexpreopter.builtInstalled) > 0 {
					entries.SetString("LOCAL_SOONG_BUILT_INSTALLED", prebuilt.dexpreopter.builtInstalled)
				}
				entries.SetString("LOCAL_MODULE_STEM", prebuilt.Stem())
			},
		},
	}
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ func (image bootImageConfig) moduleFiles(ctx android.PathContext, dir android.Ou
	for i, m := range image.modules {
		name := image.name
		if i != 0 {
			name += "-" + m
			name += "-" + stemOf(m)
		}

		for _, ext := range exts {
+13 −3
Original line number Diff line number Diff line
@@ -96,6 +96,16 @@ func dexpreoptTargets(ctx android.PathContext) []android.Target {
	return targets
}

func stemOf(moduleName string) string {
	// b/139391334: the stem of framework-minus-apex is framework
	// This is hard coded here until we find a good way to query the stem
	// of a module before any other mutators are run
	if moduleName == "framework-minus-apex" {
		return "framework"
	}
	return moduleName
}

func getBootImageConfig(ctx android.PathContext, key android.OnceKey, name string,
	needZip bool) bootImageConfig {
	return ctx.Config().Once(key, func() interface{} {
@@ -110,18 +120,18 @@ func getBootImageConfig(ctx android.PathContext, key android.OnceKey, name strin

		for _, m := range artModules {
			bootLocations = append(bootLocations,
				filepath.Join("/apex/com.android.art/javalib", m+".jar"))
				filepath.Join("/apex/com.android.art/javalib", stemOf(m)+".jar"))
		}

		for _, m := range frameworkModules {
			bootLocations = append(bootLocations,
				filepath.Join("/system/framework", m+".jar"))
				filepath.Join("/system/framework", stemOf(m)+".jar"))
		}

		// The path to bootclasspath dex files needs to be known at module GenerateAndroidBuildAction time, before
		// the bootclasspath modules have been compiled.  Set up known paths for them, the singleton rules will copy
		// them there.
		// TODO: use module dependencies instead
		// TODO(b/143682396): use module dependencies instead
		var bootDexPaths android.WritablePaths
		for _, m := range imageModules {
			bootDexPaths = append(bootDexPaths,
+15 −5
Original line number Diff line number Diff line
@@ -1602,6 +1602,10 @@ func (j *Module) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Modu
	return depTag == staticLibTag
}

func (j *Module) Stem() string {
	return proptools.StringDefault(j.deviceProperties.Stem, j.Name())
}

//
// Java libraries (.jar file)
//
@@ -1631,8 +1635,7 @@ func shouldUncompressDex(ctx android.ModuleContext, dexpreopter *dexpreopter) bo
}

func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
	j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework",
		proptools.StringDefault(j.deviceProperties.Stem, ctx.ModuleName())+".jar")
	j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", j.Stem()+".jar")
	j.dexpreopter.isSDKLibrary = j.deviceProperties.IsSDKLibrary
	j.dexpreopter.isInstallable = Bool(j.properties.Installable)
	j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
@@ -1994,6 +1997,10 @@ func (j *Import) Name() string {
	return j.prebuilt.Name(j.ModuleBase.Name())
}

func (j *Import) Stem() string {
	return proptools.StringDefault(j.properties.Stem, j.ModuleBase.Name())
}

func (j *Import) DepsMutator(ctx android.BottomUpMutatorContext) {
	ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
}
@@ -2001,7 +2008,7 @@ func (j *Import) DepsMutator(ctx android.BottomUpMutatorContext) {
func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
	jars := android.PathsForModuleSrc(ctx, j.properties.Jars)

	jarName := proptools.StringDefault(j.properties.Stem, ctx.ModuleName()) + ".jar"
	jarName := j.Stem() + ".jar"
	outputFile := android.PathForModuleOut(ctx, "combined", jarName)
	TransformJarsToJar(ctx, outputFile, "for prebuilts", jars, android.OptionalPath{},
		false, j.properties.Exclude_files, j.properties.Exclude_dirs)
@@ -2178,13 +2185,16 @@ func (j *DexImport) Name() string {
	return j.prebuilt.Name(j.ModuleBase.Name())
}

func (j *DexImport) Stem() string {
	return proptools.StringDefault(j.properties.Stem, j.ModuleBase.Name())
}

func (j *DexImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
	if len(j.properties.Jars) != 1 {
		ctx.PropertyErrorf("jars", "exactly one jar must be provided")
	}

	j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework",
		proptools.StringDefault(j.properties.Stem, ctx.ModuleName())+".jar")
	j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", j.Stem()+".jar")
	j.dexpreopter.isInstallable = true
	j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)