Loading android/config.go +18 −20 Original line number Diff line number Diff line Loading @@ -1362,22 +1362,13 @@ func (l *ConfiguredJarList) IndexOfJar(jar string) int { } // Append an (apex, jar) pair to the list. func (l *ConfiguredJarList) Append(apex string, jar string) ConfiguredJarList { // Create a copy of the backing arrays before appending to avoid sharing backing // arrays that are mutated across instances. apexes := make([]string, 0, len(l.apexes)+1) copy(apexes, l.apexes) apexes = append(apexes, apex) jars := make([]string, 0, len(l.jars)+1) copy(jars, l.jars) jars = append(l.jars, jar) return ConfiguredJarList{apexes, jars} func (l *ConfiguredJarList) Append(apex string, jar string) { l.apexes = append(l.apexes, apex) l.jars = append(l.jars, jar) } // Filter out sublist. func (l *ConfiguredJarList) RemoveList(list ConfiguredJarList) ConfiguredJarList { func (l *ConfiguredJarList) RemoveList(list ConfiguredJarList) { apexes := make([]string, 0, l.Len()) jars := make([]string, 0, l.Len()) Loading @@ -1389,7 +1380,13 @@ func (l *ConfiguredJarList) RemoveList(list ConfiguredJarList) ConfiguredJarList } } return ConfiguredJarList{apexes, jars} l.apexes = apexes l.jars = jars } // A copy of itself. func (l *ConfiguredJarList) CopyOf() ConfiguredJarList { return ConfiguredJarList{CopyOf(l.apexes), CopyOf(l.jars)} } // A copy of the list of strings containing jar components. Loading Loading @@ -1464,16 +1461,17 @@ func splitConfiguredJarPair(ctx PathContext, str string) (string, string) { } func CreateConfiguredJarList(ctx PathContext, list []string) ConfiguredJarList { apexes := make([]string, len(list)) jars := make([]string, len(list)) apexes := make([]string, 0, len(list)) jars := make([]string, 0, len(list)) l := ConfiguredJarList{apexes, jars} for i, apexjar := range list { for _, apexjar := range list { apex, jar := splitConfiguredJarPair(ctx, apexjar) apexes[i] = apex jars[i] = jar l.Append(apex, jar) } return ConfiguredJarList{apexes, jars} return l } func EmptyConfiguredJarList() ConfiguredJarList { Loading java/dexpreopt_config.go +4 −3 Original line number Diff line number Diff line Loading @@ -81,12 +81,13 @@ func genBootImageConfigs(ctx android.PathContext) map[string]*bootImageConfig { targets := dexpreoptTargets(ctx) deviceDir := android.PathForOutput(ctx, ctx.Config().DeviceName()) artModules := global.ArtApexJars artModules := global.ArtApexJars.CopyOf() // With EMMA_INSTRUMENT_FRAMEWORK=true the Core libraries depend on jacoco. if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") { artModules = artModules.Append("com.android.art", "jacocoagent") artModules.Append("com.android.art", "jacocoagent") } frameworkModules := global.BootJars.RemoveList(artModules) frameworkModules := global.BootJars.CopyOf() frameworkModules.RemoveList(artModules) artSubdir := "apex/art_boot_images/javalib" frameworkSubdir := "system/framework" Loading Loading
android/config.go +18 −20 Original line number Diff line number Diff line Loading @@ -1362,22 +1362,13 @@ func (l *ConfiguredJarList) IndexOfJar(jar string) int { } // Append an (apex, jar) pair to the list. func (l *ConfiguredJarList) Append(apex string, jar string) ConfiguredJarList { // Create a copy of the backing arrays before appending to avoid sharing backing // arrays that are mutated across instances. apexes := make([]string, 0, len(l.apexes)+1) copy(apexes, l.apexes) apexes = append(apexes, apex) jars := make([]string, 0, len(l.jars)+1) copy(jars, l.jars) jars = append(l.jars, jar) return ConfiguredJarList{apexes, jars} func (l *ConfiguredJarList) Append(apex string, jar string) { l.apexes = append(l.apexes, apex) l.jars = append(l.jars, jar) } // Filter out sublist. func (l *ConfiguredJarList) RemoveList(list ConfiguredJarList) ConfiguredJarList { func (l *ConfiguredJarList) RemoveList(list ConfiguredJarList) { apexes := make([]string, 0, l.Len()) jars := make([]string, 0, l.Len()) Loading @@ -1389,7 +1380,13 @@ func (l *ConfiguredJarList) RemoveList(list ConfiguredJarList) ConfiguredJarList } } return ConfiguredJarList{apexes, jars} l.apexes = apexes l.jars = jars } // A copy of itself. func (l *ConfiguredJarList) CopyOf() ConfiguredJarList { return ConfiguredJarList{CopyOf(l.apexes), CopyOf(l.jars)} } // A copy of the list of strings containing jar components. Loading Loading @@ -1464,16 +1461,17 @@ func splitConfiguredJarPair(ctx PathContext, str string) (string, string) { } func CreateConfiguredJarList(ctx PathContext, list []string) ConfiguredJarList { apexes := make([]string, len(list)) jars := make([]string, len(list)) apexes := make([]string, 0, len(list)) jars := make([]string, 0, len(list)) l := ConfiguredJarList{apexes, jars} for i, apexjar := range list { for _, apexjar := range list { apex, jar := splitConfiguredJarPair(ctx, apexjar) apexes[i] = apex jars[i] = jar l.Append(apex, jar) } return ConfiguredJarList{apexes, jars} return l } func EmptyConfiguredJarList() ConfiguredJarList { Loading
java/dexpreopt_config.go +4 −3 Original line number Diff line number Diff line Loading @@ -81,12 +81,13 @@ func genBootImageConfigs(ctx android.PathContext) map[string]*bootImageConfig { targets := dexpreoptTargets(ctx) deviceDir := android.PathForOutput(ctx, ctx.Config().DeviceName()) artModules := global.ArtApexJars artModules := global.ArtApexJars.CopyOf() // With EMMA_INSTRUMENT_FRAMEWORK=true the Core libraries depend on jacoco. if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") { artModules = artModules.Append("com.android.art", "jacocoagent") artModules.Append("com.android.art", "jacocoagent") } frameworkModules := global.BootJars.RemoveList(artModules) frameworkModules := global.BootJars.CopyOf() frameworkModules.RemoveList(artModules) artSubdir := "apex/art_boot_images/javalib" frameworkSubdir := "system/framework" Loading