1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/android/rules.gni")
import("//testing/test.gni")
template("cronet_renamed_jar") {
dist_jar(target_name) {
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
forward_variables_from(invoker, "*", TESTONLY_AND_VISIBILITY)
supports_android = true
requires_android = true
if (!defined(invoker.output)) {
output = "$target_out_dir/$target_name.distjar.jar"
}
jar_excluded_patterns = [
"*/*GEN_JNI.class",
"META-INF/*",
]
renaming_rules = [
"org.jni_zero.**->internal.org.jni_zero",
# Note that this renaming_rule is different from the one declared
# in repackage_jars template in android/BUILD.gn this is because if
# we jarjar the `org.chromium.build` for tests then we'll start jarjaring
# the test runner which is org.chromium.build.gtest_apk.NativeTestInstrumentationTestRunner.
# this will result in the tests failing immediately / not even listed.
]
}
}
# Drop in replacement for the instrumentation_test_apk() template that renames
# java classes in the same way the classes shipped in cronet jars are renamed.
template("cronet_instrumentation_test_apk") {
_single_jar_target_name = "${target_name}_single_jar_java"
cronet_renamed_jar(_single_jar_target_name) {
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
# Implicit java deps that are added by the test template that might need to
# be renamed.
deps =
invoker.deps + [ "//testing/android/instrumentation:test_runner_java" ]
testonly = true
}
instrumentation_test_apk(target_name) {
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
forward_variables_from(invoker, "*", TESTONLY_AND_VISIBILITY)
deps += [ ":$_single_jar_target_name" ]
}
}
# Drop in replacement for the test() template that renames java classes in the
# same way the classes shipped in cronet jars are renamed.
template("cronet_test") {
_single_jar_target_name = "${target_name}_single_jar_java"
cronet_renamed_jar(_single_jar_target_name) {
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
# Implicit java deps that are added by the test template that might need to
# be renamed.
deps = invoker.deps + [
"//base/test:test_support_java",
"//testing/android/native_test:native_test_java",
]
testonly = true
}
test(target_name) {
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
forward_variables_from(invoker, "*", TESTONLY_AND_VISIBILITY)
deps += [ ":$_single_jar_target_name" ]
}
}
# cronet_test defaults.
# Should be kept in sync with set_defaults("test") in //testing/test.gni
set_defaults("cronet_test") {
configs = default_shared_library_configs
configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
configs += [ "//build/config/android:hide_all_but_jni" ]
}
|