In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.
Test: CI
Bug: 339477385
Change-Id: I6deb4a005876848f28a5b823a712d9eea33a44e6
Permissions of apex variants of shared java sdk libraries should use the
base apex name (com.android.foo) and not the override apex name
(com.mycompany.android.foo). The override apex name started being used
when separate variants were created for override apex transitive deps
(https://r.android.com/3083813)
Bug: 346486531
Test: m com.google.android.ipsec
Test: verified that
out/target/product/<product>/apex/com.google.android.ipsec/etc/permissions/android.net.ipsec.ike.xml
contains /apex/com.androiqd.ipsec/javalib/android.net.ipsec.ike.jar #
previously it contained com.google.android.ipsec
Test: https://android-build.corp.google.com/builds/abtd/run/L59900030004679761
Change-Id: I863170d78efa017bef5e4ece3b1471f74ba84b0c
So that users can use select statements with it.
Fixes: 347605145
Bug: 342006386
Test: m nothing --no-skip-soong-tests
Change-Id: Ica0ca6d1725b000b3748c0293e5a9f9b38ed87f9
flags_packages property was added to supports flagging the manifest
files. The listed names of `aconfig_declarations` modules are passed to
aapt2. However, this is currently scoped to the module level, and is not
propagated to the reverse dependencies. In other words, if the manifest
is flagged with `featureFlag` property, all of the reverse dependency of
the android_app/android_library should specify `flags_packages` property
in the bp module definition, leading to huge toil for the users.
In order to resolve such inconvenience, this change modifies the build
rules of android_app,android_library and runtime_resource_overlay such
that flags_packages of the static dependencies are collected.
Test: Patch ag/27816261 && m Settings --no-skip-soong-tests
Bug: 347289274
Change-Id: I4c3855541dd09cb72293515eb2626eaf4ae8c0df
This reverts commit ce320f86a0.
Reason for revert: <Dorid monitor: Likely culprit for b/347143262 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.>
Change-Id: I70eabe014acc6feb123f28ac487f7d7d39e9fb6b
- move WriteMakefile to release_config.go
- use slices.Sort instead of slices.SortFunc where applicable.
- improve error message when inheriting an invalid release config
Bug: None
Test: manual
Change-Id: Id959ddccc75fad912518d5cce8d14da506e0bbea
Soong generates AndroidMk modules and Make installs the required
dexpreopt files for APEX bundles. This dependency is not tracked by
the soong and missing from the soong filesystem.
Call PackageFile for the dexpreopt files of APEX bundles to install
the files in the soong-built system image.
Bug: 346439786
Test: lunch aosp_cf_x86_64_phone-trunk_staging-userdebug \
&& m aosp_cf_system_x86_64
Change-Id: I6af4afe5b3183c89bf687ac779007b87e1d7e948
Dexpreopt files use RuleBuilder.Install() that installs the file from
Make. By calling PackageFile, this information is also shared to
soong PackagingSpec.
Bug: 339314890
Test: See if .prof, .bprof, and vdex files are installed with
"m aosp_cf_system_x86_64"
Change-Id: I42167603ecfd4334e4f35602bdf03a21846fc798
`odexOnSystemOther` (presumably) returns a boolean indicating whether
.odex/.vdex files should be installed in system_other.img. The
installation location logic is now colocated in build/soong/dexpreopt
package, so we can delete this unused function.
Test: go build ./java
Change-Id: Ibd1a3a0b945f8d7953baad05cbaf65cb58b5a05a
This change modifies the flags passed to aapt2 when generating the APKs.
Currently, the version code of the platform sdk version is passed to
aapt2 when the bp module definition does not explicitly specify the
`--version-code` flag in "aaptflags" parameter. This change modifies
such behavior so that the newly introduced `--non-updatable-system` flag
is passed instead of implicitly passing the `--version-code`.
If "versionCode" is explicitly specified in the app manifest, the
`--non-updatable-system` flag is overriden and is a no-op. This way, the
build continues to stay agnostic to the content of the manifest files.
This flag is not passed for build actions of android_test modules, as
test targets do not set `versionCode`.
Test: m nothing --no-skip-soong-tests && manually inspect aapt2 build rules
Bug: 311724570
Change-Id: Ie3e50506d90da1d28b8039e29d76859b1927b5e2
bootclasspath.pb.textproto of an apex contains
min_sdk_version/max_sdk_version information of its exported libraries.
It is populated using the stateful minSdkVersion/maxSdkVersion
properties of the SdkLibrary module. These were previously indirectly
populated by invoking `module.Library.GenerateAndroidBuildActions(ctx)`,
which has been removed https://r.android.com/3079425.
This CL updates the implementation to use `MinSdkVersion(ctx)` and
`MaxSdkVersion(ctx)` to get the appropriate values directly and not rely
on GenerateAndroidBuildActions.
Bug: 345621958
Test: cat out/soong/.intermediates/packages/providers/MediaProvider/apex/com.android.mediaprovider-bootclasspath-fragment/android_common_apex30/c49cac19acc21350e0f3590de64d2f7f/bootclasspath.pb.textproto
jars {
path: "/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar"
classpath: BOOTCLASSPATH
min_sdk_version: "30"
max_sdk_version: ""
}
jars {
path: "/apex/com.android.mediaprovider/javalib/framework-pdf.jar"
classpath: BOOTCLASSPATH
min_sdk_version: "30"
max_sdk_version: ""
}
jars {
path: "/apex/com.android.mediaprovider/javalib/framework-pdf-v.jar"
classpath: BOOTCLASSPATH
min_sdk_version: "34"
max_sdk_version: ""
}
// min_sdk_version values were empty previously
Change-Id: Ia547747b16d255c1a093deee96a1abb61fd47dff