Age | Commit message (Collapse) | Author |
|
newly added AndroidLibraryDependencyInfo." into main am: f920cc5d8e am: a783122642
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3446190
Change-Id: I72d0059f4170d0b4bb3291fa85ea80d3ffcd91ec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
added AndroidLibraryDependencyInfo.
Bug: 377723687
Test: Unit tests and compare the ninja and mk files generated.
Change-Id: Iad4013d3212e8f575dd55bcfec0e2b659ae0d8db
|
|
ModuleProxy." into main am: d8c9b4edf7 am: 1a34e9431f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3414380
Change-Id: I7aad646c118e81c6f0576751f3746358f0d63616
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Bug: 377723687
Test: Unit tests and compare the ninja and mk files generated.
Change-Id: I6fe92d788c9bbbe3b5b476d61c94e1105d1859b0
|
|
After moving the code to mainline module, all interactions from
platform should be via APIs or relevant util classes cloned and
jarjar'd within the module.
This change moves such usages to existing APIs or makes a module-utils
copy of such classes to be used independantly in the module.
Flag: build.release_ondevice_intelligence_module
Bug: 376427781
Change-Id: I5bc5fa5b7e2e2ba2899b4cbba536103d66a6aa19
|
|
main am: bfb3ed2149 am: 2c8c4fa5d2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3342398
Change-Id: I57348dfb755982a4dfba4e2a7ce5232e8e62edb2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This change modifies the dependency graph of framework-doc-stubs to
depend on the exportable stub source jar of the mainline modules,
so that the flagged apis symbols are not elided.
Test: m doc dist && unzip -l out/dist/offline-sdk-docs-docs.zip | grep "android/configinfrastructure/aconfig"
Bug: 377585897
Change-Id: I2de643c27417a0ccb21016a3bc495127f3a30f81
|
|
Creating new jar "framework-platformcrashrecovery".
This would separate all the apis to a different sdk library while still
being part of core platform.
This jar is behind release_crashrecovery_module flag which also controls enabling CrashRecovery module apex.
Based on the flag only one of platformcrashrecovery jar or CrashRecovery Apex will be used.
So essentially on device if release_crashrecovery_module flag is
1. true: CrashRecovery Apex is present, this jar is not used
2. false: CrashRecovery Apex is not used, this jar is present
Bug: 289203818
Test: Jar is present in Bootclasspath on device
Test: ExplcitHealthCheckService registered on device
Flag: build.release_crashrecovery_module
Change-Id: I4696e74a1ba236614398b48a6d7145777079286b
|
|
When adding a dependencies, if the variants don't match, but the
dependency only has 1 variant anyways, soong will always use that
variant. This makes it hard to add new variants to soong, because the
1-variant fallback stops being used and you start getting missing
variant errors. Make changes to bp files such that all dependencies
correctly specify the variant to use.
Bug: 372091092
Flag: EXEMPT refactor
Test: m nothing
Change-Id: I305d9a549fc132c3d14f56eae1abbac1b9defd10
|
|
Currently, adding depedencies will use the only variant of a module
if only 1 variant exists. Otherwise, the variations of the two modules
+ the variations explicitly requested must match. The 1-variant
fallback causes issues for incremental soong, so remove reliances on it.
Bug: 372091092
Test: m nothing --no-skip-soong-tests
Change-Id: I778d1d8d67e9d0ccc3432f12e50d15c174b5dbf5
|
|
Load hooks are very early, when trying to change the configuration
for certain modules in the build, we can't read the configuration
this early.
Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: I08252aa42a92498f90863522d8eba243cd035ffc
|
|
Revert submission 3207397-revert-2982300-java_api_library_non_sdk-FIKZOSARQI
Reason for revert: Post submit build breakage culprit fixed
Reverted changes: /q/submissionid:3207397-revert-2982300-java_api_library_non_sdk-FIKZOSARQI
Change-Id: Ie4741daf508c7cc9c6688091d44658bfb76df6b1
|
|
Revert submission 2982300-java_api_library_non_sdk
Reason for revert: DroidMonitor: Potential culprit for b/357648959 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted changes: /q/submissionid:2982300-java_api_library_non_sdk
Change-Id: I4224efbb47dc5ecf9afd7e3c9cd00b59a6c337ae
|
|
The toggle between from-text and from-source stubs are made within
java_sdk_library level stubs, and they no longer depend on the full api
surface java_api_library modules. Therefore, these can be safely
removed.
This change also rename android_*_stubs_current.from-source to
android_*_stubs_current, and remove the full api surface modules that
are currently generated from api.go.
Test: ENABLE_HIDDENAPI_FLAGS=true m
Bug: 327507877
Change-Id: If1f081693c7380e2ed5b5d4a1a7f7365ef1770ca
|
|
|
|
This change removes the combined_apis_defaults module type, given that
combined_apis module type is not defaultable as it creates a default
module in its module factory. The only usage of this module type has
been removed with https://r.android.com/3184819 .
Test: m nothing --no-skip-soong-tests
Bug: 349800749
Change-Id: Ib78eb965124b2c80e871b1bc022011843ebaab9a
|
|
This change allows combined_apis.bootclasspath and
combined_apis.system_server_classpath properties to be modified based on
configuration using select statements.
Bug: 349800749
Test: m nothing --no-skip-soong-tests
Change-Id: I08bf4200738268fe833389f15e24271058528944
|
|
Needed to ensure recently added nullability annotations `@Nullable` and
`@NonNull` are correctly replaced with `@RecentlyNullable` and
`@RecentlyNonNull` respectively.
Bug: 347751326
Test: # Build modules before and after this change and verify that
# public stubs are unchanged but other stubs use the correct
# nullability annotations.
Change-Id: If97859b6207f03c1dcd3a0cc9c44f82147449cad
|
|
Previously, APIs from updatable modules and information about the SDK
extensions was only included in `api_versions_public` and
`api_versions_system`. This change adds the following two modules:
* `api_versions_module_lib_complete`
* `api_versions_system_server_complete`
It did not change `api_versions_module_lib` or
`api_versions_system_server` because Android Lint requires that they do
not include information about APIs from updatable modules because
otherwise it will report calls within a module as it has no way to
determine whether a call crosses an API boundary or not.
Bug: 336993217
Test: TARGETS=$(for i in public system module-lib module-lib-complete system-server-complete; do U=$(echo $i | sed "s|-|_|g"); echo "out/target/common/obj/PACKAGING/api_versions_${U}_generated-api-versions.xml"; done)
m $TARGETS; mkdir -p before; cp $TARGETS before
m $TARGETS; mkdir -p after; cp $TARGETS after
meld before after
# Review differences.
Change-Id: Ia542fbdc517fb223a0488f0e3f81b8727cb204e4
|
|
|
|
This change sets is_stubs_module property to true for combined modules
genreated in `combined_apis` and non-updatable stub modules, which are
not generated via java_sdk_library but are maintained separately.
Test: m nothing --no-skip-soong-tests
Bug: 310504781
Merged-In: I1293208e575a76db2cc4dc6c8564369804bb4ac5
Change-Id: I1293208e575a76db2cc4dc6c8564369804bb4ac5
|
|
This ensures that we do not run into circular depencies when
UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true. When this variable
is true, apps compile with a min_sdk_version equivalent to the sha of
the apis (i.e. the java_genrule `api_fingerprint`). If the api stubs are
allowed to depend on android apps, we will run into circular deps
Implementation details
1. Modify the deps mutator of combined_apis to add a dependency on the
stub java modules
2. Do a graph walk in GenerateAndroidBuildActions and ensure that no
child is an android_app. This will be determined by casting to
AndroidLibraryDependency.
Re (2): this does a graph walk via ctx.WalkDeps, but should not be
computationally intensive because
(a) We do this for a single module (i.e. combined_apis)
(b) The transitive closure is shallow since it starts from stubs
Test: presubmits
Test: locally, added an app to libs of `service-sdksandbox` and verified
that the error is raised
Bug: 315016205
Change-Id: Iaf35f03171d13d75e75de6e0e744fcf34e3294fd
|
|
Currently, ther merged txt filegroups are dist'ed as api/*-current.txt
and api/*-removed.txt files during droid dist build.
This change adds additional merged txt filegroup modules
that depend on the non-updatable exportable txt files instead of
the checked in non-updatable txt files (under frameworks/base/core).
These added modules will be dist'ed in droid build, instead of the
currently existing merged txt filegroups.
Test: m nothing && inspect ninja output
Bug: 324254328
Change-Id: Ib0b47ba032a2917d0f2df6ad585d2102d6940c50
|
|
* changes:
nfc(api): Move NFC API lint baseline
nfc(api): Move nfc classes to framework-nfc
framework-nfc: Switch to "framework-module-defaults"
|
|
|
|
Now that all the @hide usage of NFC API's from rest of platform is
cleaned out, we can now switch to the module defaults and continue the
separation of NFC API classes.
Bug: 303286040
Test: Compiles
Merged-In: I8bd5e38b1482600594c41660d14537cf15b48318
Change-Id: I8bd5e38b1482600594c41660d14537cf15b48318
|
|
The two major roles of the full api surface stubs (i.e.
android_*_stubs_current) are:
- Appended to classpath when a module sets sdk_version
- Input to generating hiddenapi flags and determine the accessibility of
the api at runtime
With Trunk Stable, all flagged apis that are not enabled should not be
accessible at runtime. In other words, the currently existing full api
surface stubs that include both non flagged and flagged apis should not
be used to generate the hiddenapi flags.
To resolve this problem, this change introduces full api surface stubs
of the "exportable" stubs (i.e. non flagged apis + flagged apis enabled
by release configuration).
The new modules are named similarly to the currently existing full api
surface stubs, but appends the "_exportable" prefix to differentiate
with the currently existing modules. These modules are solely used for
hiddenapi flags generation, and the currently existing modules continue
to serve the first aforementioned role.
The new modules will toggle between the from-text stubs module and the
from-source stubs module when the exportable stubs can be generated from
the from-text stubs generating `java_api_library` module. For now, these
modules are always built from source.
Test: m android_stubs_current_exportable
Bug: 317426356
Change-Id: I1f6f738ae9c5ebf151a1554aa1e357ef0092c89c
|
|
Allow specifying default combined api properties. This would be currently used to control the enablement of new mainline modules
Bug:b/289203818
Test: verified locally
Change-Id: I9415140453ce04efd5461cb8684c70e987810ecc
|
|
Bug: 315353489
Test: m blueprint_tests
Change-Id: I50d938017203ad12198d8a6373c9aef80a8535c6
|
|
Bug: 303286040
Test: Device boots up after flashing
Merged-In: Iad08614f0aa3b7bea12a1ad52debd0ee13302a8e
Change-Id: Iad08614f0aa3b7bea12a1ad52debd0ee13302a8e
|
|
Note that this is a re-cherry-pick of the original CL that is closer
to the original CL than the first CP, to minimize the number of
conflicts in Android.bp files.
Bug: 289776578
Test: presubmit
Merged-In: I721fc4ae5c62cf1eada9bb6b4e5b3f1a4c9db21a
Change-Id: Ibf98f37cb795bc7f627a485546b6ce8ec23b3a9e
|
|
Provides SdkTestCore/test_core_current sdk_version for non-updatable
modules that have their test scope dependent on test apis from
framework-minus-apex.
Ignore-AOSP-First: Change in topic with internal-first projects
Bug: 289776578
Test: m checkapi
Merged-In: I855346c01bb609e81b14dbdc13330315badc339e
Change-Id: I855346c01bb609e81b14dbdc13330315badc339e
|
|
This is groundwork for allowlist v2, and ensures that rdeps of
merged_txt targets appropriately reflect that these targets exist.
Fixes: 302061007
Test: Unit test update
Change-Id: I1d64635bb3db50ee525f1a557fd4b73d50dba879
|
|
Test: See CL topic
Change-Id: Id7d5366fd713409c2a9e12407b901d5d1d91a289
|
|
|
|
Bug: 295737759
Test: ./gradlew
Change-Id: Ied167094b04492ca49ea2b0e9d7fd91d534e483d
|
|
previous_api input is required to migrate nullness information in
metalava and generate loosely equivalent from-text stubs. Since
"android.api.public.latest" is the only input for previous_api in the
tree, this is hardcoded for full api surface java_api_library modules
defaults for now.
Test: m && compare nullness annotations for from-text stubs and from-source stubs
Bug: 293962901
Change-Id: Ic07db8c3bd37fa41ff245952c94b5c5b4773af36
|
|
This change renames the full api surface stub jar generating
java_library modules by adding ".from-source" suffix and creating the
modules in combined_apis. Either the ".from-source" module or the
".from-text" module is added as static libs based on the build config.
Bug: 284150060
Bug: 284995489
Bug: 285410821
Test: m && m --build-from-text-stub and verify no ninja path between android_stubs_current and android_stubs_current.from-source
Change-Id: I1419af0cd0ca2199e82e3337717b6391a51267c4
|
|
combined_apis.bootclasspath lists java_sdk_library modules that
contribute to API surfaces. The api_contribution modules generated from
these sdk_library modules (more specifically, from droidstubs module
created from the sdk_library module) are used to generate full api
surface java_api_library modules. Currently, the java_defaults modules
are hardcoded, but this leads to a duplicate source of truth, adding
difficulty in scaling the api domains that contributes to api surfaces.
Generating the java_defaults dynamically in combined_apis instead of
hardcoding resolves this problem, as well as the discrepancy in the list
of api contributions in aosp and internal master.
Test: m android_<API_SURFACE_NAME>_stubs_current.from-text
Bug: 277378670
Change-Id: I987c2c1d89535d2347cf14d084c9c9a47e1db5e0
|
|
|
|
The trimmed api versions file was used to remove updatable apis from
the lint database. This non-updatable lint database was used with
modules that compile against module-lib or system-server sdks.
However, now we have proper module-lib and system-server lint sdk
databases, that don't have the updatable apis inherently, and we
can remove the api versions trimmer.
Bug: 193460475
Test: Presubmits
Change-Id: Iac50c7647491ce3e4e85f75dd92d63c6ee1286b2
|
|
Test: m and api_test
Change-Id: Id36892325ffd35004c4b88b69d52f9e1c6afe759
|
|
4 merged_txts targets will be generated for a combined_api target
Test: api_conversion_test.go and TH
Bug: 267600251
Change-Id: I8ec4a1073538c394a7eef896d8f6e354986fa2cd
|
|
api.go was made to create modules that were hard to create in
Android.bp. However since we now have a filegroup with all the
public srcjars this rule can very easily be expressed in Android.bp.
Test: build before & after (no diff)
Change-Id: I1d6c6bdcd6b75693de1e80ced13efd1d10202171
|
|
java_sdk_libraries can be part of non-updatable modules. Those modules
might have a need to expose @TestApis that are only used in CTS tests.
This change adds an ability for them to do so by introducing
all-non-updatable-modules-test-stubs, and adding it to the
android_test_stubs_current.
Note that this change doesn't allow updatable modules to contribute to
test API stubs, since the list of the modules that can contribute to
test APIs stubs is hardcoded in the non_updatable_modules constant.
Bug: 261004711
Test: m
Change-Id: I9d17f49702bd64f5718b445f14b203c146bc6794
|
|
Since framework-virtualization is part of a non-updatable APEX module,
it should still be allowed to compile against unstable APIs. However,
the current setup of all-framework-module-impl prevents that, since the
all-framework-module-lib target compiles against module_sdk.
This change works around this by introducing the
updatable-framework-module-impl target which builds against
module_current SDK, and includes all updatable modules.
The non-updatable modules are then statically linked into the
all-framework-module-impl target, which builds against hidden APIs.
Bug: 243512044
Test: builds
Change-Id: I253aa8dcd7c9b109e023a44128ce08ec8f2b4d33
|
|
Soong modules compiled against the module or system server sdks
should use the api_versions.xml for their respective sdk, but
currently they use the public-filtered api database. Add module
and system server sdk build targets to be used later.
Right now they're unused. I'm adding them first so that they
can be built on the build server, and then we can import them
into prebuilts/sdk, as some builds require the api files to be
prebuilt.
Bug: 193460475
Test: m api-versions-xml-module-filtered api-versions-xml-system-server-filtered
Change-Id: I668a878a470125ed3ecf79435713c27c4dd92b0a
|
|
Bug: 236760014
Merged-In: I5705ac7586cb73b7bc2bd60bb792d0a0a951ed74
Change-Id: I59a4fd917c95c8c9e258cd743cee2d950a46d9cd
|
|
This is going to be disted instead of the monolithic one being
used currently.
Bug: 235140934
Test: m sdk-annotations{,-system}.zip and diff; manual spot checking
Test: m sdk dist && diff out/dist/system-data/annotations.zip with this
Change-Id: I9874f88e933a8b804a73638e6bac7a9d312c7c9f
|
|
It's clearer to define the module in Android.bp, and keep
our custom Go code to the minimal. The only thing the go
code really needs to do is create a "all module annotations"
module. This matches the pattern of the other modules here (the
pattern was invented after sdk-annotations.zip was first
migrated).
Bug: 235140934
Test: m sdk-annotations.zip before/after (no diffs)
Change-Id: Iae246081bcf4e5177d1da98c2e01c702fb349a22
|