diff options
author | Jeff Gaston <jeffrygaston@google.com> | 2017-10-25 15:02:45 -0700 |
---|---|---|
committer | Jeff Gaston <jeffrygaston@google.com> | 2017-11-15 15:31:38 -0800 |
commit | b61e3f79ecbf2d0f89421418b799ba5b14f0c055 (patch) | |
tree | 3d8d0be85b5296c490fe5385e0d606fa48ae4616 /cmd | |
parent | 20823f95e6d90d7961b3c97ec57b4bcb2b8a24ab (diff) | |
download | build_soong-b61e3f79ecbf2d0f89421418b799ba5b14f0c055.tar.gz build_soong-b61e3f79ecbf2d0f89421418b799ba5b14f0c055.tar.bz2 build_soong-b61e3f79ecbf2d0f89421418b799ba5b14f0c055.zip |
multiproduct_kati support for a custom list of products
Test: multiproduct_kati --products="aosp_arm,aosp_arm64"
Bug: 67478260
Change-Id: Icf7b8b0c30a2dc8e093ab109172675ff74f43adc
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/multiproduct_kati/main.go | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/cmd/multiproduct_kati/main.go b/cmd/multiproduct_kati/main.go index 183f800a..2fee1f78 100644 --- a/cmd/multiproduct_kati/main.go +++ b/cmd/multiproduct_kati/main.go @@ -56,6 +56,7 @@ var onlySoong = flag.Bool("only-soong", false, "Only run product config and Soon var buildVariant = flag.String("variant", "eng", "build variant to use") var skipProducts = flag.String("skip-products", "", "comma-separated list of products to skip (known failures, etc)") +var includeProducts = flag.String("products", "", "comma-separated list of products to build") const errorLeadingLines = 20 const errorTrailingLines = 20 @@ -158,6 +159,15 @@ func (s *Status) Finished() int { return s.failed } +func inList(str string, list []string) bool { + for _, other := range list { + if str == other { + return true + } + } + return false +} + func main() { log := logger.New(os.Stderr) defer log.Cleanup() @@ -222,7 +232,24 @@ func main() { if err != nil { log.Fatal(err) } - productsList := strings.Fields(vars["all_named_products"]) + var productsList []string + allProducts := strings.Fields(vars["all_named_products"]) + + if *includeProducts != "" { + missingProducts := []string{} + for _, product := range strings.Split(*includeProducts, ",") { + if inList(product, allProducts) { + productsList = append(productsList, product) + } else { + missingProducts = append(missingProducts, product) + } + } + if len(missingProducts) > 0 { + log.Fatalf("Products don't exist: %s\n", missingProducts) + } + } else { + productsList = allProducts + } products := make([]string, 0, len(productsList)) skipList := strings.Split(*skipProducts, ",") |