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

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

Merge changes I88973671,If5a3b53a

* changes:
  Fix nondeterminstic iteration of vndk modules map
  Fix data race and ordering consistency in apex modules
parents e29e2473 4c2c46f0
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
package android

import (
	"sort"
	"sync"

	"github.com/google/blueprint"
@@ -86,6 +87,8 @@ type ApexModuleBase struct {
	ApexProperties ApexProperties

	canHaveApexVariants bool

	apexVariationsLock sync.Mutex // protects apexVariations during parallel apexDepsMutator
	apexVariations     []string
}

@@ -94,6 +97,8 @@ func (m *ApexModuleBase) apexModuleBase() *ApexModuleBase {
}

func (m *ApexModuleBase) BuildForApex(apexName string) {
	m.apexVariationsLock.Lock()
	defer m.apexVariationsLock.Unlock()
	if !InList(apexName, m.apexVariations) {
		m.apexVariations = append(m.apexVariations, apexName)
	}
@@ -122,6 +127,7 @@ func (m *ApexModuleBase) IsInstallableToApex() bool {

func (m *ApexModuleBase) CreateApexVariations(mctx BottomUpMutatorContext) []blueprint.Module {
	if len(m.apexVariations) > 0 {
		sort.Strings(m.apexVariations)
		variations := []string{""} // Original variation for platform
		variations = append(variations, m.apexVariations...)

+9 −2
Original line number Diff line number Diff line
@@ -530,8 +530,15 @@ func (c *vndkSnapshotSingleton) GenerateBuildActions(ctx android.SingletonContex

	var modulePathTxtBuilder strings.Builder

	modulePaths := modulePaths(ctx.Config())
	var libs []string
	for lib := range modulePaths {
		libs = append(libs, lib)
	}
	sort.Strings(libs)

	first := true
	for lib, dir := range modulePaths(ctx.Config()) {
	for _, lib := range libs {
		if first {
			first = false
		} else {
@@ -539,7 +546,7 @@ func (c *vndkSnapshotSingleton) GenerateBuildActions(ctx android.SingletonContex
		}
		modulePathTxtBuilder.WriteString(lib)
		modulePathTxtBuilder.WriteString(".so ")
		modulePathTxtBuilder.WriteString(dir)
		modulePathTxtBuilder.WriteString(modulePaths[lib])
	}

	ctx.Build(pctx, android.BuildParams{