This artifact contains the system server jars that were used in the
build. At ToT, this was disabled when prebuilts were enabled to prevent
version skew between the system server jars built from source, and the
system server jars deapexed from the prebuilt apex that was installed
into the system image.
With this CL, this artifact is now compatible with prebuilts. If a
google prebuilt apex is used, system_server.zip will contain the .jar
deapexed from that prebuilt. e.g. if art _and_ btservices prebuilts are
enabled, then system_server.zip will contain the prebuilt jars for those
apexes, and sources for others.
This implementation leverages the fact that soong copies the _selected_
system server jars to out/soong/system_server_dexjars for dex2oat. Soong
is aware of source/prebuilts, and populates this directory with the
correct system server jar.
One side effect of this change is that affects the directory structure
of the zip. Previously, service-art.jar will be present in the zip file
at apex/com.android.art/java/service-art.jar. After this change
service-art.jar will be present in the top-level directory of the zip
Bug: 308188056
Test: the zip is not bit-identical, but I checked that the file contents are indentical (discussed below)
Test: unzip out/target/product/vsoc_x86_64/system_server.zip.before -d system_server.before
Test: unzip out/target/product/vsoc_x86_64/system_server.zip.before -d system_server.after
Test: find system_server.before/ -type f -printf '%s\t%p\n' | sort -n | cut -f2- | xargs cat | shasum
Test: find system_server.after/ -type f -printf '%s\t%p\n' | sort -n | cut -f2- | xargs cat | shasum
Test: the shasums are identical
Test: in internal, lunch cf_x86_64_phone-next-userdebug (next uses bt
prebuilts)
Test: m nothing
Test: aninja -t path out/target/product/vsoc_x86_64/system_server.zip <vendor_dir_path>/BluetoothGooglePrebuilt/com.google.android.btservices.apks; path exists
Change-Id: I213150b7ee2b012fd649b308f3c72bebf5ca7bf8
If boot_variable_file is not found locally, look for it inside
input_target_files.
Bug: 335732867
Test: generate OTA with file in target-files.zip and verify metadata
Change-Id: I2e61f50850e82a3795f2e0e1aefcaf2329a8cfb1
Simplify storage write api so that we don't need the storage records pb
file.
Bug: b/312444587
Test: atest -c
Change-Id: I7e336b1d7766983364715dae15786b91b0c0743f
The --unused parameter inverts the output of whichgit, reporting which
git projects are not used for a given build target.
Test: build/make/tools/whichgit --unused
Test: build/make/tools/whichgit --unused --modules framework
Existing use-cases should remain unchanged:
Test: build/make/tools/whichgit --modules framework
Change-Id: Ia4e55a5cb0331d522fed76821fe813ef98c25a67
This list is used to create soong config namespaces per toggle-able
module, and set source_build property. internal and partner branches now
use RELEASE_APEX_CONTRIBUTIONS_* for source vs selection, so remove this
mechanism to prevent confusing behaviors when these two mechanisms have
conflicting values.
`art_module.source_build` is a special-case which uses an additional variable
`ART_MODULE_SOURCE_BUILD`. This will be tracked in
https://r.android.com/3037396
Bug: 308188056
Test: presubmits
Test: downloaded this CL in v-aml branch, m
out/soong/prebuilt_info.json; file is identical
Merged-In: I3f9cbb24d6f3a7a0312683906826708147f469ee
Change-Id: I3f9cbb24d6f3a7a0312683906826708147f469ee
Occasionally sourcing the script would close my overall shell when it
hit an error. By having it just be an executable script, this prevents
it from impacting a user's normal shell environment and can depend on it
always being bash, rather than whatever shell people happen to be using.
Bug: 334870672
Test: tools/check-flagged-apis/check-flagged-apis.sh
Change-Id: Ic46cb4fefdea8d51be018d4f7a92b0d9ca7e57b3
The expanded list seems to be no longer required when using prebuilts.
Test: downloaded this CL in v-aml-prebuilt-dev
Test: lunch gsi_partner_arm-ap31-userdebug && m # no ninja analysis
error
Change-Id: I818191f36449032aee98879506c1e564fd0bc1b1
Update the map in soong instead of that in bazel
Bug: 315353489
Test: manual
Merged-In: I3a51be1119109d2a6cf3959bdc8a48192872580f
Change-Id: Ia61a17be4a7d85c00d2e9758ea2409019d451dfd
No need for cache filtering based on container anymore. This is now
performed by build system automatically. The caches feed into storage
generation command are automatically filtered based on owning
container.
Bug: b/312444587
Test: atest aconfig.test
Change-Id: I44f3ac03d50b77a191a82ff7ed4d02766012492d
Note that tool logging is still disabled by default.
This change validates that the ADB shell function
does not break any user flows when integrated with
the logging facility.
Test: adb devices -l
Bug: 331638854
Change-Id: Ic27fd44c9385ca48df79f2d7570c037b6fe18232
Replaces the use of `--input-jar-file` and `--api-xml` with the newly
added `jar-to-diff` command.
Test: TARGETS=$(for i in api.xml system-api.xml module-lib-api.xml system-server-api.xml test-api.xml; do echo out/target/common/obj/$i; done)
m $TARGETS
# Diff $TARGETS with and without this change to make sure that
# they are identical, which they are.
Change-Id: I6a78febb4b2e4d06a0b3aea29fb4a7f94c9ab9a4
previously we store three bits per flag: is sticky, is read write, has
override. so when a local override arrives, is sticky bit as well has
override bit are set to true. this becomes problematic when the local
override is removed. we are not sure if we should remove has override
bit as well (server override could still be in place).
therefore restructuring the flag info for each flag into new three bits:
is read write, has server override and has local override. so now server
override and local override bits are independent from each other.
Bug: b/312444587
Test: atest -c
Change-Id: I03b2bb7312480773236c95f2b39f2589fee41924