commit | 44b8c255399e8b4f61cd2300f28a8cc54f248c09 | [log] [tgz] |
---|---|---|
author | Etienne Dechamps <edechamps@google.com> | Tue Feb 13 11:25:38 2024 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Feb 13 11:25:38 2024 |
tree | d645bc4248fc37a836258678cd8a80d46b47c005 | |
parent | 899ad2bf348b636a7f48e429f1cc57acca9b6ff7 [diff] |
Share Cronet telemetry code between API and impl IMPORTANT: this CL has breaking implications for downstream Cronet release channels and requires dependency structure adjustments for consumers (e.g. internal Google repo, Maven). The new "shared" JAR will need to be shipped to consumers as a dependency of *both* API and impl JARs. This CL introduces a new Cronet distribution JAR, "cronet_shared_java.jar", which holds code that is shared between all Cronet code, i.e. the API *and* implementations. Such code is reusable from anywhere inside the Cronet codebase. The main distinction between "API" code and "shared" code is that implementations do not necessarily ship with the API code. The textbook example of that is the Cronet impl in Google Play Services, which uses the API classes from the calling app instead of having its own copy. In contrast, implementations always ship with shared code, such that if the API code and impl code are loaded from different sources (which implies potentially different build/version), each side will end up with its own private copy of the shared classes, thus sidestepping any ABI compatibility concerns. The downside is that references to these classes can't cross the Cronet API/impl ABI boundary, but that's fine for what we want to use this for. Bug: b:313418339 Change-Id: I6d3293cdb41f4182c005c7176ba0ac49ce053c6d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5094199 Reviewed-by: Stefano Duo <stefanoduo@google.com> Commit-Queue: Etienne Dechamps <edechamps@google.com> Cr-Commit-Position: refs/heads/main@{#1259759}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.