0

Breakdown more files from base_java

Broke down some `base_java` sources into their separate java target. The
goal is to get Cronet to stop depending completely on `base_java` and
to depend on separate targets because we're currently shipping all of
`base_java` in our native impl jar. However, I'm working on some
refactoring which will push us to either (1) Add all of `base_java`
to our API jar, or (2) break down base_java. Obviously (1) is not
okay because that would affect all of our clients, especially those
that care about binary size so I'm going with (2).

Bug: 326512877
Change-Id: Ic7ec3ab2b67f0d960e91e9afc46f1c7cf91c6db1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6448229
Auto-Submit: Mohannad Farrag <aymanm@google.com>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1445631}
This commit is contained in:
Mohannad Farrag
2025-04-10 18:43:54 -07:00
committed by Chromium LUCI CQ
parent 3507030828
commit 4a7861bb7e
9 changed files with 146 additions and 45 deletions

@ -1259,11 +1259,15 @@ component("base") {
":base_jni",
":base_shared_preferences_jni",
":build_info_jni",
":bundle_utils_jni",
":callback_jni",
":content_uri_utils_jni",
":features_jni",
":file_utils_jni",
":jank_tracker_jni",
":memory_jni",
":metrics_jni",
":path_utils_jni",
":process_launcher_jni",
":sys_utils_jni",
":tasks_jni",
@ -1271,6 +1275,10 @@ component("base") {
"//third_party/cpu_features:ndk_compat",
]
if (use_clang_profiling) {
deps += [ ":clang_profiler_jni" ]
}
# Needs to be a public config so that dependent targets link against it as
# well when doing a component build.
public_configs = [ ":android_system_libs" ]
@ -4420,31 +4428,19 @@ if (is_android) {
sources = [
"android/java/src/org/chromium/base/ApkAssets.java",
"android/java/src/org/chromium/base/BaseFeatureMap.java",
"android/java/src/org/chromium/base/BundleUtils.java",
"android/java/src/org/chromium/base/CpuFeatures.java",
"android/java/src/org/chromium/base/EventLog.java",
"android/java/src/org/chromium/base/FeatureList.java",
"android/java/src/org/chromium/base/FeatureMap.java",
"android/java/src/org/chromium/base/Features.java",
"android/java/src/org/chromium/base/FieldTrialList.java",
"android/java/src/org/chromium/base/FileUtils.java",
"android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
"android/java/src/org/chromium/base/InputHintChecker.java",
"android/java/src/org/chromium/base/JavaHandlerThread.java",
"android/java/src/org/chromium/base/LocaleUtils.java",
"android/java/src/org/chromium/base/PathService.java",
"android/java/src/org/chromium/base/PathUtils.java",
"android/java/src/org/chromium/base/PowerMonitor.java",
"android/java/src/org/chromium/base/RadioUtils.java",
"android/java/src/org/chromium/base/TimezoneUtils.java",
]
if (use_clang_profiling) {
sources += [
"test/android/javatests/src/org/chromium/base/test/ClangProfiler.java",
]
}
public_deps = [
":android_runtime_jni_headers",
":base_minimal_jni",
@ -4485,6 +4481,54 @@ if (is_android) {
sources = [ "android/java/src/org/chromium/base/process_launcher/ChildProcessService.java" ]
}
generate_jni("clang_profiler_jni") {
sources = [
"test/android/javatests/src/org/chromium/base/test/ClangProfiler.java",
]
}
android_library("clang_profiler_java") {
if (use_clang_profiling) {
srcjar_deps = [ ":clang_profiler_jni" ]
sources = [
"test/android/javatests/src/org/chromium/base/test/ClangProfiler.java",
]
} else {
sources = [ "test/android/javatests/src/stub/org/chromium/base/test/ClangProfiler.java" ]
}
deps = [ "//third_party/jni_zero:jni_zero_java" ]
}
generate_jni("path_utils_jni") {
sources = [ "android/java/src/org/chromium/base/PathUtils.java" ]
}
android_library("path_utils_java") {
srcjar_deps = [ ":path_utils_jni" ]
sources = [ "android/java/src/org/chromium/base/PathUtils.java" ]
deps = [
":log_java",
":tasks_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
generate_jni("file_utils_jni") {
sources = [ "android/java/src/org/chromium/base/FileUtils.java" ]
}
android_library("file_utils_java") {
srcjar_deps = [ ":file_utils_jni" ]
sources = [ "android/java/src/org/chromium/base/FileUtils.java" ]
deps = [
":file_provider_utils_java",
":log_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("process_launcher_java") {
srcjar_deps = [
":process_launcher_aidl",
@ -4534,28 +4578,17 @@ if (is_android) {
"android/java/src/org/chromium/base/ApkAssets.java",
"android/java/src/org/chromium/base/BaseFeatureMap.java",
"android/java/src/org/chromium/base/BinderCallsListener.java",
"android/java/src/org/chromium/base/BundleUtils.java",
"android/java/src/org/chromium/base/CallbackController.java",
"android/java/src/org/chromium/base/CancelableRunnable.java",
"android/java/src/org/chromium/base/CollectionUtil.java",
"android/java/src/org/chromium/base/CommandLineInitUtil.java",
"android/java/src/org/chromium/base/CpuFeatures.java",
"android/java/src/org/chromium/base/DiscardableReferencePool.java",
"android/java/src/org/chromium/base/EventLog.java",
"android/java/src/org/chromium/base/FeatureList.java",
"android/java/src/org/chromium/base/FeatureMap.java",
"android/java/src/org/chromium/base/FeatureOverrides.java",
"android/java/src/org/chromium/base/FeatureParam.java",
"android/java/src/org/chromium/base/Features.java",
"android/java/src/org/chromium/base/FieldTrialList.java",
"android/java/src/org/chromium/base/FileProviderUtils.java",
"android/java/src/org/chromium/base/FileUtils.java",
"android/java/src/org/chromium/base/Flag.java",
"android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
"android/java/src/org/chromium/base/InputHintChecker.java",
"android/java/src/org/chromium/base/IntStringCallback.java",
"android/java/src/org/chromium/base/IntentUtils.java",
"android/java/src/org/chromium/base/JNIUtils.java",
"android/java/src/org/chromium/base/JavaExceptionReporter.java",
"android/java/src/org/chromium/base/JavaHandlerThread.java",
"android/java/src/org/chromium/base/JniAndroid.java",
@ -4564,13 +4597,8 @@ if (is_android) {
"android/java/src/org/chromium/base/JniRepeatingCallback.java",
"android/java/src/org/chromium/base/LocaleUtils.java",
"android/java/src/org/chromium/base/MathUtils.java",
"android/java/src/org/chromium/base/MutableBooleanParamWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableFlagWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableIntParamWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableParamWithSafeDefault.java",
"android/java/src/org/chromium/base/PackageManagerUtils.java",
"android/java/src/org/chromium/base/PathService.java",
"android/java/src/org/chromium/base/PathUtils.java",
"android/java/src/org/chromium/base/PiiElider.java",
"android/java/src/org/chromium/base/PostNativeFlag.java",
"android/java/src/org/chromium/base/PowerMonitor.java",
@ -4584,17 +4612,8 @@ if (is_android) {
"android/java/src/org/chromium/base/UserData.java",
"android/java/src/org/chromium/base/UserDataHost.java",
"android/java/src/org/chromium/base/ValueChangedCallback.java",
"android/java/src/org/chromium/base/WrappedClassLoader.java",
]
if (use_clang_profiling) {
sources += [
"test/android/javatests/src/org/chromium/base/test/ClangProfiler.java",
]
} else {
sources += [ "test/android/javatests/src/stub/org/chromium/base/test/ClangProfiler.java" ]
}
resources_package = "org.chromium.base"
proguard_configs = [ "android/proguard/shared_with_cronet.flags" ]
@ -4613,14 +4632,22 @@ if (is_android) {
":base_minimal_jni_java",
":base_switches_java",
":build_info_java",
":bundle_utils_java",
":callback_java",
":clang_profiler_java",
":command_line_init_utils_java",
":command_line_java",
":features_java",
":file_provider_utils_java",
":file_utils_java",
":jank_tracker_java",
":jni_utils_java",
":library_loader_java",
":lifetime_java",
":log_java",
":memory_java",
":metrics_java",
":path_utils_java",
":promise_java",
":resetters_java",
":stream_util_java",
@ -4629,7 +4656,9 @@ if (is_android) {
":tasks_java",
":time_utils_java",
":unowned_user_data_java",
":wrapped_class_loader_java",
]
if (!is_cronet_build) {
proguard_configs += [
"android/proguard/chromium_apk.flags",
@ -4655,6 +4684,79 @@ if (is_android) {
]
}
android_library("command_line_init_utils_java") {
sources = [ "android/java/src/org/chromium/base/CommandLineInitUtil.java" ]
deps = [
":build_info_java",
":command_line_java",
":supplier_java",
":tasks_java",
]
}
android_library("file_provider_utils_java") {
sources = [ "android/java/src/org/chromium/base/FileProviderUtils.java" ]
}
generate_jni("features_jni") {
sources = [
"android/java/src/org/chromium/base/FeatureList.java",
"android/java/src/org/chromium/base/FeatureMap.java",
"android/java/src/org/chromium/base/Features.java",
]
}
android_library("features_java") {
srcjar_deps = [ ":features_jni" ]
sources = [
"android/java/src/org/chromium/base/FeatureList.java",
"android/java/src/org/chromium/base/FeatureMap.java",
"android/java/src/org/chromium/base/FeatureOverrides.java",
"android/java/src/org/chromium/base/FeatureParam.java",
"android/java/src/org/chromium/base/Features.java",
"android/java/src/org/chromium/base/Flag.java",
"android/java/src/org/chromium/base/MutableBooleanParamWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableFlagWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableIntParamWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableParamWithSafeDefault.java",
]
deps = [
":library_loader_java",
":resetters_java",
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("wrapped_class_loader_java") {
sources = [ "android/java/src/org/chromium/base/WrappedClassLoader.java" ]
}
generate_jni("bundle_utils_jni") {
sources = [ "android/java/src/org/chromium/base/BundleUtils.java" ]
}
android_library("bundle_utils_java") {
srcjar_deps = [ ":bundle_utils_jni" ]
sources = [ "android/java/src/org/chromium/base/BundleUtils.java" ]
deps = [
":log_java",
":metrics_java",
":resetters_java",
":tasks_java",
":wrapped_class_loader_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("jni_utils_java") {
sources = [ "android/java/src/org/chromium/base/JNIUtils.java" ]
deps = [
":bundle_utils_java",
":log_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("metrics_java") {
srcjar_deps = [ ":metrics_enum_srcjar" ]
sources = [

@ -9,7 +9,7 @@
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/base_jni/BundleUtils_jni.h"
#include "base/bundle_utils_jni/BundleUtils_jni.h"
#include "base/check.h"
#include "base/compiler_specific.h"
#include "base/containers/span.h"

@ -5,7 +5,7 @@
#include "base/feature_list.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "base/base_jni/FeatureList_jni.h"
#include "base/features_jni/FeatureList_jni.h"
namespace base {
namespace android {

@ -15,7 +15,7 @@
#include "base/notreached.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "base/base_jni/FeatureMap_jni.h"
#include "base/features_jni/FeatureMap_jni.h"
namespace base::android {

@ -7,7 +7,7 @@
#include "base/metrics/field_trial_params.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "base/base_jni/Features_jni.h"
#include "base/features_jni/Features_jni.h"
namespace base {
namespace android {

@ -11,7 +11,7 @@
#include "base/files/file_path.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "base/base_jni/PathUtils_jni.h"
#include "base/path_utils_jni/PathUtils_jni.h"
namespace base {
namespace android {

@ -9,7 +9,7 @@
#include "base/path_service.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "base/base_jni/FileUtils_jni.h"
#include "base/file_utils_jni/FileUtils_jni.h"
namespace base {
namespace android {

@ -5,7 +5,7 @@
#include "base/test/clang_profiling.h"
#include "base/android/jni_android.h"
#include "base/base_jni/ClangProfiler_jni.h"
#include "base/clang_profiler_jni/ClangProfiler_jni.h"
// Used in java tests when clang profiling is enabled.
namespace base {

@ -1793,7 +1793,6 @@ zip("jar_cronet_sample_source") {
jar_src("jar_cronet_impl_native_java_source") {
src_search_dirs = [
"//base/android/java/src",
"//base/test/android/javatests/src/stub",
"//build/android/java/src",
"//components/cronet/android/java/src",
"//net/android/java/src",