Merge cherrypicks of ['android-review.googlesource.com/3290274'] into 24Q4-release.
Change-Id: Ib1d35c7f7910404a07e106fcb4f9dd169de47ca5
This commit is contained in:
@@ -280,11 +280,28 @@ func (config *ReleaseConfig) GenerateReleaseConfig(configs *ReleaseConfigs) erro
|
|||||||
|
|
||||||
directories := []string{}
|
directories := []string{}
|
||||||
valueDirectories := []string{}
|
valueDirectories := []string{}
|
||||||
|
// These path prefixes are exclusive for a release config.
|
||||||
|
// "A release config shall exist in at most one of these."
|
||||||
|
// If we find a benefit to generalizing this, we can do so at that time.
|
||||||
|
exclusiveDirPrefixes := []string{
|
||||||
|
"build/release",
|
||||||
|
"vendor/google_shared/build/release",
|
||||||
|
}
|
||||||
|
var exclusiveDir string
|
||||||
for idx, confDir := range configs.configDirs {
|
for idx, confDir := range configs.configDirs {
|
||||||
if _, ok := myDirsMap[idx]; ok {
|
if _, ok := myDirsMap[idx]; ok {
|
||||||
directories = append(directories, confDir)
|
directories = append(directories, confDir)
|
||||||
}
|
}
|
||||||
if _, ok := myValueDirsMap[idx]; ok {
|
if _, ok := myValueDirsMap[idx]; ok {
|
||||||
|
for _, dir := range exclusiveDirPrefixes {
|
||||||
|
if strings.HasPrefix(confDir, dir) {
|
||||||
|
if exclusiveDir != "" && !strings.HasPrefix(exclusiveDir, dir) {
|
||||||
|
return fmt.Errorf("%s is declared in both %s and %s",
|
||||||
|
config.Name, exclusiveDir, confDir)
|
||||||
|
}
|
||||||
|
exclusiveDir = confDir
|
||||||
|
}
|
||||||
|
}
|
||||||
valueDirectories = append(valueDirectories, confDir)
|
valueDirectories = append(valueDirectories, confDir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user