Create AndroidGlobalLintChecker
This change creates a separate lint jar "AndroidGlobalLintChecker". This set of custom checks that is intended to be global. These checks should run across the entire tree, not just the framework.
- separate lint checking code broadly into "common", "framework", and
"global"
- publish AndroidGlobalLintChecker into the android distribution for
consumption by prebuilts/cmdline-tools
Bug: 236558918
Test: AndroidGlobalLintCheckerTest
Change-Id: Ib1606a7bc8adfab2f13974e7366288a4e44bbfa2
diff --git a/tools/lint/framework/Android.bp b/tools/lint/framework/Android.bp
new file mode 100644
index 0000000..7f27e8a
--- /dev/null
+++ b/tools/lint/framework/Android.bp
@@ -0,0 +1,58 @@
+// Copyright (C) 2022 The Android Open Source Project
+//
+// 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 {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+java_library_host {
+ name: "AndroidFrameworkLintChecker",
+ srcs: ["checks/src/main/java/**/*.kt"],
+ plugins: ["auto_service_plugin"],
+ libs: [
+ "auto_service_annotations",
+ "lint_api",
+ ],
+ static_libs: [
+ "AndroidCommonLint",
+ // TODO: remove once b/236558918 is resolved and the below checks actually run globally
+ "AndroidGlobalLintChecker",
+ ],
+ kotlincflags: ["-Xjvm-default=all"],
+}
+
+java_test_host {
+ name: "AndroidFrameworkLintCheckerTest",
+ // TODO(b/239881504): Since this test was written, Android
+ // Lint was updated, and now includes classes that were
+ // compiled for java 15. The soong build doesn't support
+ // java 15 yet, so we can't compile against "lint". Disable
+ // the test until java 15 is supported.
+ enabled: false,
+ srcs: ["checks/src/test/java/**/*.kt"],
+ static_libs: [
+ "AndroidFrameworkLintChecker",
+ "junit",
+ "lint",
+ "lint_tests",
+ ],
+ test_options: {
+ unit_test: true,
+ },
+}