blob: 2bad5a88f5514c3865a6493625a2a6c45507e131 [file] [log] [blame]
Wei Li0d723112024-01-02 17:56:51 -08001// Copyright 2024 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package build
16
17import (
18 "strings"
Wei Li0d723112024-01-02 17:56:51 -080019)
20
21var androidmk_denylist []string = []string{
Wei Li8778d262024-06-12 00:34:33 +000022 "bionic/",
Wei Li0d723112024-01-02 17:56:51 -080023 "chained_build_config/",
24 "cts/",
25 "dalvik/",
26 "developers/",
Wei Li8778d262024-06-12 00:34:33 +000027 "development/",
28 "device/sample/",
Nelson Liad3dae82024-04-03 02:04:45 +000029 "frameworks/",
Wei Lia2924462024-01-11 12:04:40 -080030 // Do not block other directories in kernel/, see b/319658303.
31 "kernel/configs/",
32 "kernel/prebuilts/",
33 "kernel/tests/",
Wei Li0d723112024-01-02 17:56:51 -080034 "libcore/",
35 "libnativehelper/",
Wei Liffb99492024-08-23 22:54:28 +000036 "packages/",
Wei Li0d723112024-01-02 17:56:51 -080037 "pdk/",
Wei Li8778d262024-06-12 00:34:33 +000038 "prebuilts/",
39 "sdk/",
40 "test/",
41 "trusty/",
Stephen Hines728bb712024-02-08 01:37:34 -080042 // Add back toolchain/ once defensive Android.mk files are removed
43 //"toolchain/",
Wei Li0d723112024-01-02 17:56:51 -080044}
45
Wei Lid0a2e322024-02-06 11:54:55 -080046func blockAndroidMks(ctx Context, androidMks []string) {
47 for _, mkFile := range androidMks {
Wei Li0d723112024-01-02 17:56:51 -080048 for _, d := range androidmk_denylist {
Wei Lid0a2e322024-02-06 11:54:55 -080049 if strings.HasPrefix(mkFile, d) {
50 ctx.Fatalf("Found blocked Android.mk file: %s. "+
51 "Please see androidmk_denylist.go for the blocked directories and contact build system team if the file should not be blocked.", mkFile)
Wei Li0d723112024-01-02 17:56:51 -080052 }
53 }
Wei Lid0a2e322024-02-06 11:54:55 -080054 }
Wei Li0d723112024-01-02 17:56:51 -080055}