android_packages_modules_Co.../tools/Android.bp
Zhi Dou e521ae306a Add sdk_version to test libraries
If sdk_version is empty, by default the library will be built against
the implementation of the framework jars. There are on going project to
automatically repackaging flag libraries in the libray which is built
direactly against the implementation of the framework jars.

This change set the right sdk_version for the testing library.

Bug: 310504781
Test: atest jarjar-rules-generator-test and CI
Change-Id: I24d8dc47f7ed83f0b84c632d24396e2bdf932424
2024-02-19 18:36:40 +00:00

94 lines
3.2 KiB
Text

//
// 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 {
default_team: "trendy_team_fwk_core_networking",
// See: http://go/android-license-faq
default_applicable_licenses: ["Android-Apache-2.0"],
}
// Build tool used to generate jarjar rules for all classes in a jar, except those that are
// API, UnsupportedAppUsage or otherwise excluded.
python_binary_host {
name: "jarjar-rules-generator",
srcs: [
"gen_jarjar.py",
],
main: "gen_jarjar.py",
visibility: ["//packages/modules/Connectivity:__subpackages__"],
}
genrule_defaults {
name: "jarjar-rules-combine-defaults",
// Concat files with a line break in the middle
cmd: "for src in $(in); do cat $${src}; echo; done > $(out)",
defaults_visibility: ["//packages/modules/Connectivity:__subpackages__"],
}
java_library {
name: "jarjar-rules-generator-testjavalib",
srcs: ["testdata/java/**/*.java"],
libs: ["unsupportedappusage"],
sdk_version: "core_platform",
visibility: ["//visibility:private"],
}
// TODO(b/233723405) - Remove this workaround.
// Temporary work around of b/233723405. Using the module_lib stub directly
// in the test causes it to sometimes get the dex jar and sometimes get the
// classes jar due to b/233111644. Statically including it here instead
// ensures that it will always get the classes jar.
java_library {
name: "framework-connectivity.stubs.module_lib-for-test",
visibility: ["//visibility:private"],
static_libs: [
"framework-connectivity.stubs.module_lib",
],
sdk_version: "module_current",
// Not strictly necessary but specified as this MUST not have generate
// a dex jar as that will break the tests.
compile_dex: false,
}
java_library {
name: "framework-connectivity-t.stubs.module_lib-for-test",
visibility: ["//visibility:private"],
static_libs: [
"framework-connectivity-t.stubs.module_lib",
],
sdk_version: "module_current",
// Not strictly necessary but specified as this MUST not have generate
// a dex jar as that will break the tests.
compile_dex: false,
}
python_test_host {
name: "jarjar-rules-generator-test",
srcs: [
"gen_jarjar.py",
"gen_jarjar_test.py",
],
data: [
"testdata/test-jarjar-excludes.txt",
// two unsupportedappusage lists with different classes to test using multiple lists
"testdata/test-unsupportedappusage.txt",
"testdata/test-other-unsupportedappusage.txt",
":framework-connectivity.stubs.module_lib-for-test",
":framework-connectivity-t.stubs.module_lib-for-test",
":jarjar-rules-generator-testjavalib",
],
main: "gen_jarjar_test.py",
}