Would have been very useful to avoid http://b/227682097
Bug: 227682097
Test: m apexer apexer_test deapexer debugfs_static; atest --host apexer_test
Change-Id: I24234d053a06868493831d40f94f7e46956391a1
Soong's cc support for protos is inconsistent, it adds a dependency on
lite proto library is proto.type is unspecified, but builds as full.
Update aapt2 to explicitly build full protos rather than rely on
Soong's inconsistent defaulting of proto.type
Test: CI
Change-Id: I5600d04c7ac32a04fd2b230912e02280a3874812
Includes instructions on how to expose new public resource IDs
and how to "remove" unused resource IDs before finalization.
Temporarily restricts OWNERS to ensure T remains stable until
a long term static analysis solution is found.
Fixes the script for finalization to handle split files and
seed the next release's staging-public-group blocks.
Bug: 222537368
Test: manual, checked build before and after mock finalization
Change-Id: I901a80e487f5eaab9689f469196648535857e0e1
Ignores and increments the ID if the entry contains removed_, to prevent
shifting IDs by leaving a hole, allowing staging resources to be removed
before finalization.
This was broken out from the parent change to allow other CLs fixing the
resource IDs to be merged without splitting public.xml.
Bug: 222537368
Test: manual, see bug for other changes
Change-Id: I56f4fd70824bd42ec62f4fa0a2f067e2a3c094b5
This type will be used as part of ResourceName to support types with
custom names inside aapt2.
DD: go/custom-resource-types-in-aapt2
Bug: b/215108200
Test: Resource_test.cpp
Change-Id: Ib09776e6b2f69fefb9724136a345dc25bea42573
Avoid writing test files in the build output directory which fails when
run with Bazel. This happens because Bazel's sandboxing environment
ensures that the test's working directory is unwritable.
See https://docs.bazel.build/versions/main/sandboxing.html for more
information.
Bug: 209687942
Test: atest --bazel-mode aapt2_tests
Test: atest aapt2_tests
Change-Id: I0fce701bbac255c3e308ad5c85aa27230c3b620b
This change introduces a new <apex-system-service> tag to the manifest.
A manifest may have multiple <apex-system-service> tags, with each tag
denoting one system service that lives in an apex. If the service is
not in SYSTEMSERVERCLASSPATH, the android:path attribute may be used to
indicate where the jar is located on the filesystem. The minSdkVersion
and maxSdkVersion attributes may be used to indicate which SDKs the
service should start on.
Test: atest PackageParserTest
Bug: 192880996
Change-Id: I28e595b397ed8db6c412f490f12c73537972efab
This reverts commit a22b7e05d4.
Reason for revert: This is a roll forwards with the fix applied.
Fixes: 208710019
Change-Id: Id4e9029ebe5864ddcc5583ce525e8e70da79f82c
This reverts commit 8d0ec8faa8.
Reason for revert: DroidMonitor: Potential culprit for Bug 208710019 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted
Change-Id: Ic1ff41e7648afc0fa50081de9b7d538a49c6468a
Design: go/sdk-android
Basic boilerplate code, only adding a concept of SDK library to the OS.
Additional public APIs and more custom processing are to follow.
Tests are added in ag/16348319.
Can't submit together because of the checked build error: AndroidManifest.xml:32: Error: Misspelled tag <sdk-library>: Did you mean <uses-library> ? [ManifestTypo]
Apparently it needs updated aapt2 before it can process the new manifest even though the aapt2 is part of this change.
Bug: 207413168
Test: atest AndroidPackageTest ScanTests PackageManagerSettingsTests PackageManagerComponentLabelIconOverrideTest PackageManagerShellCommandTest
Change-Id: I9ea77ba3a0550ef7d58778a3a6cb402f09e2d8d7
AAPT compile provides a "--source-path" option that instructs aapt to
use a provided source path rather than the default source resource as
resource orgin. However, this is not file system agnostic. This causes
incorrect outputs of AAPT link, as source path parsing is tied to the
file system. This change ensures that AAPT Files::getFilename can parse
filepaths, regardless of file system filepath type.
Bug: 141301405, 155218379
Test: manually tested on windows with a unix style filepath, passes aapt
tests
Change-Id: I548de01ad513b549dc30eb35d2a59813fa3d4e69
Revert^2 "Remove the reference of libaapt2_jni in build file"
46fe10698b38f405085a24d23e4371cd1c4bc63c
Change-Id: Id50c2a7cf12d1078ab4afc2d75251c12a34cfc0b
Revert "Remove the reference of libaapt2_jni in build file"
Revert submission 16102170-remove_libaapt2_jni
Reason for revert: b/204805075 breakages on git_master - BuildMonitor
Reverted Changes:
I2331fcac1:Remove the reference of libaapt2_jni in build file...
I193ff8b5b:Remove the implementation of libaapt2_jni in build...
Change-Id: I37384f995bf34df3cc2654e1439ceecc720243ac
Previously, eng builds included a fingerprint that was a combination of
the developers ldap, the date, and the time. This meant that the build
system (including RBE) couldn't cache the ouput of aapt. This removes
the ldap, day, and time part of that so that caching will work.
Fixes: 200741997
Test: ran `aapt2 version` to verify the updated format
Change-Id: Id0d1ff99c8fbbf18261d3fc06f21b2969ed2e247
This patch uses reinitialization to solve clang_tidy
bugprone-use-after-move warning in ResourceParser.
The local variables `comment` in functions is used to record comments
in XML. After calling std::move(comment), to use comment.clear() to
reinitialize the value of the variable `comment`.
Reference: https://clang.llvm.org/extra/clang-tidy/checks/\
bugprone-use-after-move.html
Test: export WITH_TIDY=1 ; \
rm -rf out/soong/.intermediates/frameworks/base/tools/aapt2* \
out/host/linux-x86/bin/aapt* \
out/host/windows-x86/bin/aapt* ;\
make aapt2
Bug: 150953574
Change-Id: I5658eaedf48e46fb5e7f12a510b83f490f9bc94b
libaapt2_jni is ready to phase out. build-tools includes libaapt2_jni.
However, there is no usage of libaapt2_jni in AOSP so this patch
removes the implementation of libaapt2_jni and its header files.
Test: make clean; make
Bug: 203475226
Change-Id: I193ff8b5b2326f83f59f2591d2e2392dd75438d3
Treat it as Stylable, same as XML parsing works
Bug: 203821692
Test: aapt2 dump resources CtsContentTestCases.apk succeeds
Change-Id: I836495743aea1a19af9ed273a6b33f15494b2e97
The code used to expect all original staged resources to get
parsed before their finalized version. Looks like that's not the
actual case, and parsing code needs to expect those to come
later, and preserve the information that they aren't needed
anymore
Bug: 203779955
Test: manual, aapt2 dump resources <finalized framework SDK>
Change-Id: I6d9efe2eb7b406d05ca49a0a6ed745a1c509e2ef