Summary:
- Create python classes for ninja vocbulary in `ninja_syntax.py`. These
classes will be serialized to a ninja file
- Create a Writer class in `ninja_writer.py`. The current API supports
adding variables,rules,build actions, etc. This can be extended in the
future (See `test_ninja_writer.py` for examples)
Future Work:
- Update the `Subninja` class once chDir is supported (aosp/2064612)
- Support a width parameter that will be used to wrap long lines of
text. This will improve readability of the generated files
Expected Use Case: Multi-tree build orchestrator
Test: python ./test_ninja_syntax.py
Test: python ./test_ninja_writer.py
Change-Id: I90c7ee69ddeb7c20c3fd4fca5a911dddbf2253bd
The SDK no longer includes system images, so no longer needs to depend
on targets that are only relevant for the system images.
Remove all the explicit dependencies that end up depending on
"everything" but are not included in the sdk zip.
Two positive side-effects:
- fewer unused things get built (now ~32k targets, down from ~108k)
- apexes no longer get built, eliminating the risk of mismatch between
module sdk prebuilts and source-built AOSP apexes.
There are some potential risks with this CL:
- because we no longer forcefully rebuild everything, if there are bugs
in dependencies of exising files in the SDK, incremental builds may
not rebuild them.
- some files that get built into the SDK may be being built as a
side-effect of other files included in the SDK, so removing one file
may cause another to not get built. The solution to that is to add
the file not getting built to ALL_SDK_FILES.
Bug: 205008975
Test: m sdk sdk_repo dist && diff sdk.zip before/after (identical)
Change-Id: I97284864f66aa88556fbe16864f45b04be97634e
signapk currently accepts a Provider class that can be instantiated
and inserted before the signing. This commit adds support to specify
a -providerArg parameter that can be used to configure the Provider.
Prior to JDK 9 a Provider would accept a providerArg in a constructor
accepting a String; in JDK 9+ a Provider should first be instantiated
with the zero-arg constructor, then the configure method should be
called with the providerArg.
Bug: 142334653
Bug: 190974913
Fixes: 232134730
Test: Manually verified new Provider can be inserted with pre- and
post-JDK 9 behavior.
Change-Id: I96f027640c59d3357e8dcf656626d1601bfef861
There are no more BUILD_HOST_DALVIK_* modules, remove the host dalvik
support. The equivalent support in Soong just copies the device dex
file to the host dalvik location.
Test: m checkbuild
Change-Id: I4bcf916518317b28d3217994b2fe9ee95d7f50d6
Because bpmodify is safe in multi-process env.
Bug: 190577319
Bug: 229413853
Test: aidl-freeze-api
Change-Id: Ie47afc25e2259bbcbbff50f98fa9d36887558d27
Downgrade OTA was broken because generic_ramdisk was removed from boot
partition in android T. Neither does O6 have init_boot. O6 also doesn't
include generic ramdisk in vendor boot, so no way for otatools to locate
contents of generic ramdisk. As a hack, omit boot partition timestamp if
we can't find ramdisk.
Test: generate T->S downgrade OTA for O6
Bug: 231656318
Change-Id: I9f5359462332aadadc324348873a3a4b2b126068
The adb module has been moved from system/core to packages/modules/adb.
Update the path to the adb tab completion script accordingly.
Also teach envsetup.sh to complain if completion files are not found.
Test: manual: adb tab completion works
Test: source build/envsetup.sh && declare -F _adb
Change-Id: I7d6fda3813b95e64de7b1953675f66659e750c31
This is a temporary workaround that should be replaced with build logic
that would propagate optionality via generated exported-sdk-libs files.
Bug: 214255490
Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
&& adb wait-for-device && adb root \
&& adb logcat | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
# empty output, no errors at boot
Change-Id: I05e22e5f72a9f936b6e0010240f5e71849a9b2b0
Only enable zucchini if configuration file zucchini_config.txt exits
in target files and version in source and target is the same.
Without this patch zucchini would be enabled if configuration file
was missing from both target files.
Bug: 231204699
Test: Run ota package generation with zucchini_config.txt missing from
both source and target zips. Confirm that zucchini is disabled.
Change-Id: Ia34998fd911d5860b38fe49fa5a88056a22d661e
bpmodify isn't safe for multi processes env because it doesn't use any
lock mechanism even with -w option(in-place change)
So, added -j1 option as a temp solution.
Bug: 190577319
Bug: 229413853
Test: run aidl-freeze-api with -j1
Change-Id: I7fabfa1224ea0bb8d71538f4c8012255df28a3e8
Always enable the rbc board config along with
the product config now that board config works
well.
Bug: 231224938
Test: Presubmits
Change-Id: I52a79d53dfe54878477ee015bd21863c4cee6b05
Some OTA files may have additional OTA props; when this is being computed within
ota_utils.py -> ComputeRuntimeBuildInfos, the ramdisk type needs to be passed into
PartitionBuildProps.FromInputFile as not all ramdisk may still use gzip. This check
is already defined in common.py, so this change also exposes the function GetRamdiskFormat.
Bug: 231075507
Signed-off-by: TJ Rhoades <tjr@microsoft.com>
Change-Id: If1b93b887990f0d90df2c6003122821c1e66a1ac
We might add new values to dynamic_partition_info.txt, so some kind of
generic fallback mechanism is needed. If keys are different, we need to
decided on a case-by-case basis which side takes precedence. For
example, Virtual AB requires vendor support, so vendor side takes
precedence. VABC on T+ devices are implemented entirely in system, so
system/framework side takes precedence.
Bug: 230876542
Test: th
Change-Id: I67747368547d3ef3e29ad64f8f818ef4c5896246
Rather than hardcoding a list of allowed vendor partitions, we accept
anything in the vendor target files that is not a framework partition.
Also extend support for inferred misc_info keys when the device uses
SYSTEM/product or SYSTEM/system_ext.
Test: test --host releasetools_test
Test: Use to merge a device with a custom IMAGES/*.img in the vendor
build, and SYSTEM/system_ext in the system build.
Bug: 225902565
Change-Id: I638c0f9c019357150516ea6c208ecd60c03c450f
Evaluate the list of all active codenames when version_util.mk is
invoked.
Bug: 230720688
Change-Id: I1c6a3e94230e856cf41f1f79b37893576957dc3d
Signed-off-by: Sebastian Ene <sebastianene@google.com>