From 9008724b50e8ce8d3582ec31487bf35079d6d08a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= Date: Tue, 16 Apr 2024 09:55:56 +0200 Subject: [PATCH] check-flagged-apis: add new CLI to verify @FlaggedApi APIs Add a new CLI to verify that the build artifacts contain the right set of @FlaggedApi APIs, based on the value of the corresponding aconfig flag. This CLI will act as an end-to-end test of Soong and metalava. This CL only adds the project scaffolding; later CLs will add the implementation. Bug: 334870672 Test: m check-flagged-apis && check-flagged-apis Change-Id: Ib00653f2a549217da2b0058867c711f35efd5760 --- PREUPLOAD.cfg | 3 +++ tools/check-flagged-apis/Android.bp | 25 +++++++++++++++++++ tools/check-flagged-apis/OWNERS | 4 +++ .../src/com/android/checkflaggedapis/Main.kt | 20 +++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 tools/check-flagged-apis/Android.bp create mode 100644 tools/check-flagged-apis/OWNERS create mode 100644 tools/check-flagged-apis/src/com/android/checkflaggedapis/Main.kt diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg index ce7515044e..97ecd33212 100644 --- a/PREUPLOAD.cfg +++ b/PREUPLOAD.cfg @@ -1,2 +1,5 @@ [Hook Scripts] do_not_use_DO_NOT_MERGE = ${REPO_ROOT}/build/soong/scripts/check_do_not_merge.sh ${PREUPLOAD_COMMIT} + +[Builtin Hooks] +ktfmt = true diff --git a/tools/check-flagged-apis/Android.bp b/tools/check-flagged-apis/Android.bp new file mode 100644 index 0000000000..4695ca0338 --- /dev/null +++ b/tools/check-flagged-apis/Android.bp @@ -0,0 +1,25 @@ +// Copyright (C) 2024 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 { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +java_binary_host { + name: "check-flagged-apis", + srcs: [ + "src/**/*.kt", + ], + main_class: "com.android.checkflaggedapis.Main", +} diff --git a/tools/check-flagged-apis/OWNERS b/tools/check-flagged-apis/OWNERS new file mode 100644 index 0000000000..289e21e4b6 --- /dev/null +++ b/tools/check-flagged-apis/OWNERS @@ -0,0 +1,4 @@ +amhk@google.com +gurpreetgs@google.com +michaelwr@google.com +paulduffin@google.com diff --git a/tools/check-flagged-apis/src/com/android/checkflaggedapis/Main.kt b/tools/check-flagged-apis/src/com/android/checkflaggedapis/Main.kt new file mode 100644 index 0000000000..dee4fdbe3c --- /dev/null +++ b/tools/check-flagged-apis/src/com/android/checkflaggedapis/Main.kt @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2024 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. + */ +@file:JvmName("Main") + +package com.android.checkflaggedapis + +fun main() = println("hello world")