Merge "Do not load Android.mk files from the directories defined in the list." into main

This commit is contained in:
Wei Li
2024-01-03 22:27:08 +00:00
committed by Gerrit Code Review
4 changed files with 50 additions and 1 deletions

4
OWNERS
View File

@@ -12,4 +12,6 @@ lamontjones@google.com
mrziwang@google.com
spandandas@google.com
weiwli@google.com
yudiliu@google.com
yudiliu@google.com
per-file build/soong/ui/build/androidmk_denylist.go = joeo@google.com, weiwli@google.com

View File

@@ -35,6 +35,7 @@ bootstrap_go_package {
"blueprint",
"blueprint-bootstrap",
"blueprint-microfactory",
"soong-android",
"soong-finder",
"soong-remoteexec",
"soong-shared",
@@ -46,6 +47,7 @@ bootstrap_go_package {
"soong-ui-tracer",
],
srcs: [
"androidmk_denylist.go",
"build.go",
"cleanbuild.go",
"config.go",

View File

@@ -0,0 +1,44 @@
// Copyright 2024 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package build
import (
"strings"
"android/soong/android"
)
var androidmk_denylist []string = []string{
"chained_build_config/",
"cts/",
"dalvik/",
"developers/",
"kernel/",
"libcore/",
"libnativehelper/",
"pdk/",
"toolchain/",
}
func blockAndroidMks(androidMks []string) []string {
return android.FilterListPred(androidMks, func(s string) bool {
for _, d := range androidmk_denylist {
if strings.HasPrefix(s, d) {
return false
}
}
return true
})
}

View File

@@ -128,6 +128,7 @@ func FindSources(ctx Context, config Config, f *finder.Finder) {
// Stop searching a subdirectory recursively after finding an Android.mk.
androidMks := f.FindFirstNamedAt(".", "Android.mk")
androidMks = blockAndroidMks(androidMks)
err := dumpListToFile(ctx, config, androidMks, filepath.Join(dumpDir, "Android.mk.list"))
if err != nil {
ctx.Fatalf("Could not export module list: %v", err)