Bundle wrapper test scripts calls such as
/out/Debug/bin/monochrome_public_bundle install
/out/Debug/bin/trichrome_chrome_google_bundle run
use the '-m' flag to include DFMs. In particular, the switch for the
DevUI DFM is '-m dev_ui' (and '-f dev_ui' for fake install).
However, most developers who use these test scripts don't care about
this detail. This CL makes the DevUI DFM installed by default when
these build scripts are used, to simplify development. The master list
|default_modules_for_testing| is in chrome_bundle_tmpl.gni, and
currently on has "dev_ui".
To make it still possible to test install flows of DevUI DFM, this CL
also adds the new flag '--no-module' to exclude non-base DFMs that are
installed by default (currently only {dev_ui}). Fake installs, e.g.,
'-f dev_ui', also excludes the default install.
Bug: 1081812, 987040
Change-Id: Icf87515382cc6d0b3d52fc3fa1914c7a4830b6cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2197339
Reviewed-by: Egor Pasko <pasko@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#768784}
Use of java_files is being deprecated in favor of sources.
Update documentation that still references java_files.
TBR=aluo,bialpio,dpranke,pasko
Bug: 1035082
Change-Id: Ibcab73a9d90e010cdffd3018d3fd238662945f97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1980981
Reviewed-by: Natalie Chouinard <chouinard@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727284}
The intrinsic dependencies encountered along the way made it difficult
(less effective) to break up this CL into multiple smaller CLs
(apologies to the reviewers in advance).
To simplify its understanding, please refer to the following doc:
https://docs.google.com/document/d/1ClZglFQroV53zSYEGIZ7yca8KIsPHGBmzMCbtreu5lg
The following are the major points to review:
- refactoring of the infra into builder, installer, logger, observer, util
- new design (IoC driven) for installers to enable for easy testability
- new design for emitted modules (cross-package communication)
Out-of-scope (following CLs):
- removal of bytecode processing for third-party activities (no longer needed)
- move code from ModuleInstallerConfig.java into BuildConfig.java
- unit tests for the remaining module_installer classes
Testing: this change was verified with vr, ar, autofill_assistant, dev_ui,
and test_dummy modules. It was tested with both -m and -f command line args.
Bug: 1005802
Change-Id: Icf357c06c4b71a96ed9fa0584f6322d6dc6143d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1813520
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Fred Mello <fredmello@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702165}
Previously interface ModuleInstallUi.FailureUiListener has two
callbacks: {onRetry(), onCancel()}. This CL merges the callbacks to
onFailureResponse(), which takes a |retry| param to distinguish the two
cases. This results in a slight savings in method counts (4 right now).
Bug: 927131
Change-Id: I2965906f033fc05920657ea4cb1cd7424bc8a86c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1763640
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689153}
The new module descriptors greatly simplify to add new feature modules.
Previously, a module author had to create a template and instantiate
that template for each Chrome bundle. With this change, the author only
has to create the module descriptor and add it to the appropriate
descriptor list once. In more detail, this CL:
- Adds a module descriptor for each feature module, which is a GN scope
listing its content.
- Adds chrome_feature_module template, which instantiates an
android_app_bundle module based on the module descriptors.
- Adds lists aggregating the module descriptors that should go into each
Chrome flavor.
- Adds code to autogenerate chrome_feature_module targets for each
descriptor in the aggregated lists.
- Updates various other targets to work with module descriptors.
Bug: 968522
Change-Id: Ie20e9ca784eec6e17c10fbc1454df47a464321ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1700308
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Auto-Submit: Tibor Goldschwendt <tiborg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#679140}
GN already has the concept of a minSdkVersion. This CL adds target- and
maxSdkVersion and makes GN the source of truth by removing the
<uses-sdk> element from all manifests. There are three steps that
require [min|target|max]SdkVersion: linting, manifest merging and
resource compilation. Each of these steps get the versions passed from
GN. Furthermore, manifest merging removes the SDK version from the
output manifest so that GN stays the source of truth.
+ Add a manifest_utils to unify manifest parsing, rewriting, etc. in a
single place.
+ Move manifest verification to compile resources steps, where the final
manifest is written.
This CL adds some temporary workarounds to keep downstream working.
Those will be removed once downstream is updated.
Bug: 891996
Change-Id: If24be69d9c6b03a0d2423fad830a4da375d68505
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1650265
Reviewed-by: Peter Kotwicz <pkotwicz@chromium.org>
Reviewed-by: Simeon Anfinrud <sanfin@chromium.org>
Reviewed-by: Yuchen Liu <yucliu@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669810}
This CL creates the Devtools DFM upstream, hidden behind a new flag
|dfmify_devtools| (default = false). The currently empty DFM is created
by following the instructions in
docs/android_dynamic_feature_modules.md
and also add an empty DevtoolsUi class. Details:
* DevtoolsUi is needed so dexsplitter.py and apkbuilder.py can have
a valid DEX param for the Devtools DVM.
* DevtoolsUi uses @UsedByReflection so it won't be optimized away by
ProGuard / R8.
Bug: 927131
Change-Id: Iefbe39f5825f8c1579f8b9c1a94d7196b1f44734
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613558
Commit-Queue: Samuel Huang <huangs@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Cr-Commit-Position: refs/heads/master@{#662635}