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

Commit 4ff85ebe authored by Colin Cross's avatar Colin Cross
Browse files

Revert "Dexpreopt soong modules inside soong"

This reverts commit 29ff8874.

Test: none
Bug: 119412419
parent 359e6436
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -224,7 +224,6 @@ bootstrap_go_package {
        "soong",
        "soong-android",
        "soong-cc",
        "soong-dexpreopt",
        "soong-genrule",
        "soong-java-config",
        "soong-tradefed",
@@ -239,7 +238,6 @@ bootstrap_go_package {
        "java/app.go",
        "java/builder.go",
        "java/dex.go",
        "java/dexpreopt.go",
        "java/droiddoc.go",
        "java/gen.go",
        "java/genrule.go",
+4 −20
Original line number Diff line number Diff line
@@ -732,16 +732,12 @@ func (c *config) ModulesLoadedByPrivilegedModules() []string {
	return c.productVariables.ModulesLoadedByPrivilegedModules
}

func (c *config) DisableDexPreopt(name string) bool {
	return Bool(c.productVariables.DisableDexPreopt) || InList(name, c.productVariables.DisableDexPreoptModules)
}

func (c *config) DexpreoptGlobalConfig() string {
	return String(c.productVariables.DexpreoptGlobalConfig)
func (c *config) DefaultStripDex() bool {
	return Bool(c.productVariables.DefaultStripDex)
}

func (c *config) DexPreoptProfileDir() string {
	return String(c.productVariables.DexPreoptProfileDir)
func (c *config) DisableDexPreopt(name string) bool {
	return Bool(c.productVariables.DisableDexPreopt) || InList(name, c.productVariables.DisableDexPreoptModules)
}

func (c *deviceConfig) Arches() []Arch {
@@ -858,18 +854,6 @@ func (c *deviceConfig) PlatPrivateSepolicyDirs() []string {
	return c.config.productVariables.BoardPlatPrivateSepolicyDirs
}

func (c *config) SecondArchIsTranslated() bool {
	deviceTargets := c.Targets[Android]
	if len(deviceTargets) < 2 {
		return false
	}

	arch := deviceTargets[0].Arch

	return (arch.ArchType == X86 || arch.ArchType == X86_64) &&
		(hasArmAbi(arch) || hasArmAndroidArch(deviceTargets))
}

func (c *config) IntegerOverflowDisabledForPath(path string) bool {
	if c.productVariables.IntegerOverflowExcludePaths == nil {
		return false
+33 −57
Original line number Diff line number Diff line
@@ -659,7 +659,11 @@ func (p SourcePath) OverlayPath(ctx ModuleContext, path Path) OptionalPath {
	if len(paths) == 0 {
		return OptionalPath{}
	}
	relPath := Rel(ctx, p.config.srcDir, paths[0])
	relPath, err := filepath.Rel(p.config.srcDir, paths[0])
	if err != nil {
		reportPathError(ctx, err)
		return OptionalPath{}
	}
	return OptionalPathForPath(PathForSource(ctx, relPath))
}

@@ -784,7 +788,13 @@ func (p ModuleSrcPath) resPathWithName(ctx ModuleContext, name string) ModuleRes

func (p ModuleSrcPath) WithSubDir(ctx ModuleContext, subdir string) ModuleSrcPath {
	subdir = PathForModuleSrc(ctx, subdir).String()
	p.rel = Rel(ctx, subdir, p.path)
	var err error
	rel, err := filepath.Rel(subdir, p.path)
	if err != nil {
		ctx.ModuleErrorf("source file %q is not under path %q", p.path, subdir)
		return p
	}
	p.rel = rel
	return p
}

@@ -922,33 +932,6 @@ func PathForModuleRes(ctx ModuleContext, pathComponents ...string) ModuleResPath
func PathForModuleInstall(ctx ModuleInstallPathContext, pathComponents ...string) OutputPath {
	var outPaths []string
	if ctx.Device() {
		partition := modulePartition(ctx)
		outPaths = []string{"target", "product", ctx.Config().DeviceName(), partition}
	} else {
		switch ctx.Os() {
		case Linux:
			outPaths = []string{"host", "linux-x86"}
		case LinuxBionic:
			// TODO: should this be a separate top level, or shared with linux-x86?
			outPaths = []string{"host", "linux_bionic-x86"}
		default:
			outPaths = []string{"host", ctx.Os().String() + "-x86"}
		}
	}
	if ctx.Debug() {
		outPaths = append([]string{"debug"}, outPaths...)
	}
	outPaths = append(outPaths, pathComponents...)
	return PathForOutput(ctx, outPaths...)
}

func InstallPathToOnDevicePath(ctx PathContext, path OutputPath) string {
	rel := Rel(ctx, PathForOutput(ctx, "target", "product", ctx.Config().DeviceName()).String(), path.String())

	return "/" + rel
}

func modulePartition(ctx ModuleInstallPathContext) string {
		var partition string
		if ctx.InstallInData() {
			partition = "data"
@@ -966,10 +949,27 @@ func modulePartition(ctx ModuleInstallPathContext) string {
		} else {
			partition = "system"
		}

		if ctx.InstallInSanitizerDir() {
			partition = "data/asan/" + partition
		}
	return partition
		outPaths = []string{"target", "product", ctx.Config().DeviceName(), partition}
	} else {
		switch ctx.Os() {
		case Linux:
			outPaths = []string{"host", "linux-x86"}
		case LinuxBionic:
			// TODO: should this be a separate top level, or shared with linux-x86?
			outPaths = []string{"host", "linux_bionic-x86"}
		default:
			outPaths = []string{"host", ctx.Os().String() + "-x86"}
		}
	}
	if ctx.Debug() {
		outPaths = append([]string{"debug"}, outPaths...)
	}
	outPaths = append(outPaths, pathComponents...)
	return PathForOutput(ctx, outPaths...)
}

// validateSafePath validates a path that we trust (may contain ninja variables).
@@ -1039,27 +1039,3 @@ func PathsForTesting(strs []string) Paths {

	return p
}

// Rel performs the same function as filepath.Rel, but reports errors to a PathContext, and reports an error if
// targetPath is not inside basePath.
func Rel(ctx PathContext, basePath string, targetPath string) string {
	rel, isRel := MaybeRel(ctx, basePath, targetPath)
	if !isRel {
		reportPathErrorf(ctx, "path %q is not under path %q", targetPath, basePath)
		return ""
	}
	return rel
}

// MaybeRel performs the same function as filepath.Rel, but reports errors to a PathContext, and returns false if
// targetPath is not inside basePath.
func MaybeRel(ctx PathContext, basePath string, targetPath string) (string, bool) {
	rel, err := filepath.Rel(basePath, targetPath)
	if err != nil {
		reportPathError(ctx, err)
		return "", false
	} else if rel == ".." || strings.HasPrefix(rel, "../") || strings.HasPrefix(rel, "/") {
		return "", false
	}
	return rel, true
}
+3 −6
Original line number Diff line number Diff line
@@ -196,10 +196,9 @@ type productVariables struct {

	UncompressPrivAppDex             *bool    `json:",omitempty"`
	ModulesLoadedByPrivilegedModules []string `json:",omitempty"`

	DefaultStripDex                  *bool    `json:",omitempty"`
	DisableDexPreopt                 *bool    `json:",omitempty"`
	DisableDexPreoptModules          []string `json:",omitempty"`
	DexPreoptProfileDir     *string  `json:",omitempty"`

	IntegerOverflowExcludePaths *[]string `json:",omitempty"`

@@ -258,8 +257,6 @@ type productVariables struct {
	Exclude_draft_ndk_apis *bool `json:",omitempty"`

	FlattenApex *bool `json:",omitempty"`

	DexpreoptGlobalConfig *string `json:",omitempty"`
}

func boolPtr(v bool) *bool {

dexpreopt/Android.bp

deleted100644 → 0
+0 −15
Original line number Diff line number Diff line
bootstrap_go_package {
    name: "soong-dexpreopt",
    pkgPath: "android/soong/dexpreopt",
    srcs: [
        "config.go",
        "dexpreopt.go",
        "script.go",
    ],
    testSrcs: [
        "dexpreopt_test.go",
    ],
    deps: [
        "blueprint-pathtools",
    ],
}
 No newline at end of file
Loading