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

Commit 4c83b895 authored by Jaewoong Jung's avatar Jaewoong Jung Committed by Gerrit Code Review
Browse files

Merge "Turn off dex actions for sourceless modules."

parents 105920a7 a24af3ba
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -52,14 +52,26 @@ func TestDexpreoptEnabled(t *testing.T) {
				}`,
			enabled: true,
		},

		{
			name: "app without sources",
			bp: `
				android_app {
					name: "foo",
				}`,
			// TODO(ccross): this should probably be false
			enabled: false,
		},
		{
			name: "app with libraries",
			bp: `
				android_app {
					name: "foo",
					static_libs: ["lib"],
				}

				java_library {
					name: "lib",
					srcs: ["a.java"],
				}`,
			enabled: true,
		},
		{
@@ -69,10 +81,8 @@ func TestDexpreoptEnabled(t *testing.T) {
					name: "foo",
					installable: true,
				}`,
			// TODO(ccross): this should probably be false
			enabled: true,
			enabled: false,
		},

		{
			name: "static java library",
			bp: `
+16 −5
Original line number Diff line number Diff line
@@ -962,7 +962,9 @@ func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaB
	return flags
}

func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path) {
func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {

	hasSrcs := false

	j.exportAidlIncludeDirs = android.PathsForModuleSrc(ctx, j.deviceProperties.Aidl.Export_include_dirs)

@@ -978,10 +980,15 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path
	}

	srcFiles = j.genSources(ctx, srcFiles, flags)
	if len(srcFiles) > 0 {
		hasSrcs = true
	}

	srcJars := srcFiles.FilterByExt(".srcjar")
	srcJars = append(srcJars, deps.srcJars...)
	srcJars = append(srcJars, extraSrcJars...)
	if aaptSrcJar != nil {
		srcJars = append(srcJars, aaptSrcJar)
	}

	// Collect source files from compiledJavaSrcs, compiledSrcJars and filter out Exclude_srcs
	// that IDEInfo struct will use
@@ -1170,7 +1177,10 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path
		j.resourceJar = resourceJars[0]
	}

	if len(deps.staticJars) > 0 {
		jars = append(jars, deps.staticJars...)
		hasSrcs = true
	}

	manifest := j.overrideManifest
	if !manifest.Valid() && j.properties.Manifest != nil {
@@ -1281,7 +1291,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path

	j.implementationAndResourcesJar = implementationAndResourcesJar

	if ctx.Device() && (Bool(j.properties.Installable) || Bool(j.deviceProperties.Compile_dex)) {
	if ctx.Device() && hasSrcs &&
		(Bool(j.properties.Installable) || Bool(j.deviceProperties.Compile_dex)) {
		// Dex compilation
		var dexOutputFile android.ModuleOutPath
		dexOutputFile = j.compileDex(ctx, flags, outputFile, jarName)
@@ -1514,7 +1525,7 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
	j.dexpreopter.isInstallable = Bool(j.properties.Installable)
	j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
	j.deviceProperties.UncompressDex = j.dexpreopter.uncompressedDex
	j.compile(ctx)
	j.compile(ctx, nil)

	if (Bool(j.properties.Installable) || ctx.Host()) && !android.DirectlyInAnyApex(ctx, ctx.ModuleName()) {
		j.installFile = ctx.InstallFile(android.PathForModuleInstall(ctx, "framework"),