aboutsummaryrefslogtreecommitdiffstats
path: root/java/app_test.go
Commit message (Collapse)AuthorAgeFilesLines
* Comment out broken android_app_imports testsRashed Abdel-Tawab2019-12-111-0/+10
| | | | Change-Id: Ia7404539bf155819e15495c96238c6359b9a065c
* Add default_dev_cert to android_app_importJaewoong Jung2019-12-111-3/+32
| | | | | | | Test: app_test.go Bug: 122333215 Bug: 128610294 Change-Id: I4be98a57ffec0885258ed7d7bb2badc8b2798750
* Add arch variant support to android_app_import.Jaewoong Jung2019-12-111-0/+63
| | | | | | | Bug: 128610294 Fixes: 138792623 Test: app_test.go Change-Id: I47c80ec283ce58a0ce9b7d0af40844bd73e9d3f1
* Add filename property to android_app_importJaewoong Jung2019-12-111-0/+48
| | | | | | Test: app_test.go Bug: 137218697 Change-Id: If2b20a355bb6e9e8dbcd57347c0e2c6fa041a932
* Improve android_app_import.dpi_variants handling.Jaewoong Jung2019-12-111-1/+1
| | | | | | | | | | | | | Instead of circumventing the limitation of Prebuilt implementation by picking a source path itself, it now uses the same mechanism as archMutator and replaces the source path in advance so that Prebuilt always sees the corrent source path. Because this requires the Apk field to be a string pointer, the single source prebuilt implementation is being updated to be reflection-based. Test: Soong unit tests, m soong_docs, TreeHugger Change-Id: I2304f15e32d632f74f95f0d9e9bf1f75ff3e2225
* Implement DPI variants in android_app_import.Jaewoong Jung2019-12-111-3/+82
| | | | | | Bug: 128610294 Test: app_test.go Change-Id: Ie3e558bfdb40de6b0b9df95d3b373d08a4084d7b
* Add android_app_import.Jaewoong Jung2019-12-111-0/+84
| | | | | | | | This is an initial version that handles the most basic cases. Bug: 128610294 Test: app_test.go + prebuilt webview.apk Change-Id: Ic525559aad5612987e50aa75b326b77b23acb716
* Stop using build/target -> build/make/target symlinkDan Willemsen2019-12-111-4/+4
| | | | | | | Instead, fully specify build/make/target/... everywhere Test: treehugger Change-Id: I07ba0e9b0604919a271afd5133070616e1f404fc
* soong: Squash of lineage-sdk bringup commitsRashed Abdel-Tawab2019-12-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squash of: Author: Rashed Abdel-Tawab <rashed@linux.com> Date: Thu Aug 9 14:08:53 2018 -0700 soong: Special case Lineage SDK * org.lineageos.platform-res.apk needs to be installed to /system/framework * org.lineageos.platform-res needs to be a dependency for org.lineageos.platform and org.lineageos.platform.internal * Add other special exceptions for org.lineageos.platform-res Change-Id: Ic617c07c086916005ea4b88f26d31c61691a45f8 Author: Sam Mortimer <sam@mortimer.me.uk> Date: Thu Aug 30 15:33:16 2018 -0700 soong: make org.lineage.platform-res depend on framework-res *) Allows us to build org.lineage.platform-res with no_framework_libs true (as is done for framework-res). *) Whilst we're here, undo a dependency loop prevention in aar.go that we added during sdk bringup to allow our platform res to build with no_framework_libs false. Change-Id: Ib452a2e45112baf5d61b70b4be1ce0c01dfd84e5 Author: Luca Stefani <luca.stefani.ge1@gmail.com> Date: Mon Feb 4 18:56:52 2019 +0100 Always link org.lineageos.platform-res for org.lineageos.platform.sdk Test: m clean && m org.lineageos.platform.sdk Change-Id: I58956855bd4d1157e2582103c4861e7b384b4f73 Author: Sam Mortimer <sam@mortimer.me.uk> Date: Fri Aug 31 10:52:29 2018 -0700 soong: Allow framework to access lineage-sdk resources *) Make framework depend on lineage-sdk resource package *) Allows framework module to access lineage-sdk resources via usual org.lineageos.platform.internal.R paths. Change-Id: Ifd19d43d9308ac370ad40a499de16bf8ce204beb Change-Id: Icc18de5dfaa83fc0a1eda6f3704f3a92e1de0764
* Uncompress dex in unbundled privileged appsColin Cross2019-06-251-0/+85
| | | | | | | | | | | | Mainline builds privileged apps unbundled and then uses them as prebuilts, so they need to respect the privileged flag when deciding whether or not to uncompress the dex. Bug: 135772877 Test: TestUncompressDex Change-Id: I91da7116b779ae35c0617ef77dbcb9788902370c Merged-In: I91da7116b779ae35c0617ef77dbcb9788902370c (cherry picked from commit 53a87f523b75f86008c3e0971489a06a6450a670)
* Optionally embed NOTICE files in apks.Jaewoong Jung2019-06-251-0/+95
| | | | | | | | | | | | | If embed_notices or ALWAYS_EMBED_NOTICES is set, collect NOTICE files from all dependencies of the android_app, merge them with the app's own one (if exists), transform it to HTML, gzip it, and put it as an asset in the final APK output. Bug: 135460391 Test: app_test.go + Built Mainline modules Change-Id: I52d92e2fd19b3f5f396100424665c5cc344190d8 Merged-In: I52d92e2fd19b3f5f396100424665c5cc344190d8 (cherry picked from commit 5b425e2e20c55216c1ed13fcf047b0df33886736)
* Fix an override_module bug.Jaewoong Jung2019-03-271-2/+3
| | | | | | | | | | | | proptools.PrependProperties doesn't replace a pointer when both the src and the dst have one. This prevented override_module from overriding simple value pointer properties when the base module has existing values. It turns out this was why the name property needed to be overwritten manually. Bug: 122957760 Test: app_test.go Change-Id: I3302287c31a560422548c22fade95261ddbe606a
* Always package JNI libs into android_test modulesColin Cross2019-03-271-44/+88
| | | | | | | | | android_test modules should always have native libraries packaged into the APK even when use_embedded_native_libs: false is set. Fixes: 129298278 Test: TestJNIPackaging Change-Id: Idfcc630f7c6579c1280a920b5d71808b0a502e06
* Add package_name property to android_app.Jaewoong Jung2019-03-261-0/+24
| | | | | | | | | This enables users to override the package name of their apps either directly in android_app or through override_android_app. Bug: 122957760 Test: app_test.go Change-Id: I98080a4076ce970fc85e58fc33495ba9b363eec9
* Add override_android_app module type.Jaewoong Jung2019-03-211-0/+72
| | | | | | | | | | | This is a new implementation of overriding module types that makes use of local variants. With this, product owners can use PRODUCT_PACKAGES to decide which override module to include in their products. Bug: 122957760 Bug: 123640028 Test: app_test.go Change-Id: Ie65e97f615d006b6e9475193b6017ea9d97e8e97
* Separate device and product overlaysAnton Hansson2019-03-211-9/+38
| | | | | | | | | | | | | | | | This change adds book-keeping of whether an overlay came from DEVICE_PACKAGE_OVERLAYS or PRODUCT_PACKAGE_OVERLAYS. This is later used when writing the output to soong_app_prebuilt.mk, to use either LOCAL_SOONG_[DEVICE|PRODUCT]_RRO_PACKAGES depending on the original source. This change is intended to be a noop on its own, but allows a follow-up make change to customize the location of the auto-generated RRO packages. Bug: 127758779 Test: verify noop on presubmit targets Change-Id: Ib24fe1d05be132c360dd6966f7c83968c9939f77
* Support package_splitsColin Cross2019-03-191-0/+24
| | | | | | | | | | Pass the package_splits list from the property to aapt2 as --split arguments, sign the extra outputs, install them, and add them as extra output files for SourceFileProducer. Bug: 127921149 Test: TestAppSplits Change-Id: Id94a53ae6a8a68ec81e98abba2fefc9c23feaa7a
* aapt2 flag for target manifest package overrideJaewoong Jung2019-02-281-0/+27
| | | | | | | | | | This change adds an aapt2 flag, rename-instrumentation-target-package, when an android test's instrumention target module's manifest package name is overridden. Bug: 122957760 Test: app_test.go, atest DocumentsUITests Change-Id: I7116a51ec5ec9d61a20cd28509b3af0e383730d7
* Revert "Add override_module."Jaewoong Jung2019-02-281-54/+0
| | | | | | | | This reverts commit aa65e17016152d0d73cd10ab3987bc3bd5c2ef91. Reason for revert: Not compatible with PRODUCT_PACKAGES, and so has very limited use. Change-Id: Ib141d3984a6f12bb50989e66037494c466b066f1
* Add override_module.Jaewoong Jung2019-02-271-0/+54
| | | | | | | | | | | This new module type replaces the inherit-package function in make by allowing developers to override the name, the certificate, and the manifest package name of an android_app module. Bug: 122957760 Fixes: 123640028 Test: app_test.go + BrowserGoogle Change-Id: Iefe447e7078b25039233221361ef95c83a29973a
* Fix resource overlay order for static librariesColin Cross2019-02-141-34/+91
| | | | | | | | | | | | | | | | | | If a static library has static library dependencies then all resources need to be moved to an overlay to maintain the correct ordering so that a static library resource overlays the same resource in a dependency. Also fix the ordering of transitive static dependencies, a direct dependency should override a transitive dependency. Expand TestEnforceRRO to include a transitive static library and verify both the direct resources and overlays, and rename it to TestAndroidResources. Bug: 124108931 Test: TestAndroidResources Change-Id: I355f835a2ffb728af28aa208d951794c609e7409
* Allow disabling implicit resource_dirs and asset_dirsColin Cross2019-02-081-0/+58
| | | | | | | | | Specifying [] for resource_dirs or asset_dirs will prevent using the default "res" or "assets" directories. Test: TestResourceDirs Bug: 124035856 Change-Id: I96e38ac1319260db43950299a8b1774da68ea85e
* Export RRO resource dirs from static android_library dependenciesColin Cross2019-02-061-2/+10
| | | | | | | | | RRO dirs from static android_library dependencies should be included in the final module. Bug: 123510624 Test: TestEnforceRRO Change-Id: I28c45e139b187894a4ebc43d573eab5ea1be9861
* Add a static lib to TestEnforceRROColin Cross2019-02-061-3/+29
| | | | | | | | | Add a static lib dependency to TestEnforceRRO in preparation for capturing static dependencies in rroDirs. Bug: 123510624 Test: TestEnforceRRO Change-Id: I9754ebf02866e8b3e4ad0c55ff099e546f8e2bc2
* Move TestEnforceRRO test cases into test functionColin Cross2019-02-061-56/+56
| | | | | | | | | The test cases will need to reference buildDir, which is not yet set at global variable initialization time. Bug: 123510624 Test: TestEnforceRRO Change-Id: I0dda0184dfab496c820e11ed76b7594a60d5d587
* Replace *[]string with []string in product variablesColin Cross2019-02-011-3/+3
| | | | | | | | There is no need for *[]string, []string can already hold a nil value to specify "not set". Test: all soong tests Change-Id: I85a51b042c12aee1565a9287d62924feeeafd486
* Allow excluding specific overlay sub-directoriesAnton Hansson2019-01-301-7/+12
| | | | | | | | | | | | This change allows PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS to refer to subdirectories of directories in PRODUCT_PACKAGE_OVERLAYS, e.g.: PRODUCT_PACKAGE_OVERLAYS := foo/overlay PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := foo/overlay/packages/apps/HelloWorld Bug: 118823052 Test: m nothing (soong tests) Change-Id: Ic9f89c11d023ea1b4f6f2f6683d94c81aa7b8a1b
* Add a prod var to override package names.Jaewoong Jung2019-01-251-0/+63
| | | | | | | | | | Currently only java/app.go is affected by package name overrides. When the var is used, the corresponding module's install APK name is changed to the overriding name. Bug: 122957760 Test: app_test.go + TreeHugger Change-Id: Ie522da3d7280970d740d779cf2694560feae6180
* Parameterize RRO testAnton Hansson2019-01-241-50/+40
| | | | | | | | Makes it easier to add more test cases. Bug: 123300034 Test: m nothing Change-Id: Ice5df7afbd55c3a4f9edf60e13bf6b850a485370
* Enable certificate overrides with product vars.Jaewoong Jung2019-01-241-0/+86
| | | | | | | | | | | Currently it is only for android_app, though it can be easily ported to apex. The make-side change will be made later, along with a real application. Bug: 122957760 Test: app_test.go Change-Id: I41f0be84f8b9f93e9518a16160e10eaa649388cd
* Add support for JNI libraries to android_app modulesColin Cross2018-10-081-0/+116
| | | | | | | | | | | Make android_app modules a MultiTargets module, which means the common variant will have a list of Targets that it needs to handle. Collect JNI libraries for each Target, and package them into or alongside the APK. Bug: 80095087 Test: app_test.go Change-Id: Iabd3921e1d4c4b4cfcc7e131a0b0d9ab83b0ebbb
* Use manifest merger in SoongColin Cross2018-07-111-1/+4
| | | | | | | | | | | | Move the manifest merger config to Soong, and use it to merge manifests of static dependencies of android_library and android_app modules. Bug: 110848854 Test: m checkbuild Change-Id: Ib89e1f1a52a8b76157e4e0348baf42800412df0d Merged-In: Ib89e1f1a52a8b76157e4e0348baf42800412df0d Merged-In: I5d055ce63b8371db500f8868fb73ab3604b8c24a
* Fix aapt2 --min-sdk-version after finalized SDKColin Cross2018-04-181-0/+95
| | | | | | | | | | | aapt2 --min-sdk-version was using AppsDefaultVersionName(), which is OMR1 for a non-finalized SDK, but 8.1.0 after finalization. Add PlatformSdkCodename() for non-finalized SDKs, use it for DefaultAppTargetSdk(), and pass it for aapt2 --min-sdk-version. Bug: 78224641 Test: TestAppSdkVersion in app_test.go Change-Id: I622eaf92f8a940f79007c2a579536da325700b06
* Add support for android_library modulesColin Cross2018-04-161-31/+34
| | | | | | | | | Add support for compiling android_library modules into AARs, and refactor app support on top of it. Bug: 73724997 Test: app_test.go Change-Id: I1dfac5fffe577c6680bc4709147b2061eb7d819c
* Expose ProductVariables from TestConfigDan Willemsen2018-04-111-3/+3
| | | | | | | | | In preparation for unexporting ProductVariables, explicitly return a pointer to the structure from TestConfig / TestArchConfig. Bug: 76168832 Test: m blueprint_tools Change-Id: Iccfb4c912f8e0ee3f620cc1ee00f0cdc5cba7735
* Fix ordering of overlaysColin Cross2018-01-041-3/+3
| | | | | | | | | | | Device overlays are passed to Soong in highest priority to lowest priority order, but aapt2 keeps the last value provided on the command line. Reverse the order that overlayGlobResults are collected. Bug: 71595164 Test: app_test.go Change-Id: Ibc6b8297f1548766c5c92f3be969b89736dc8dff
* Sort compiled resources by output pathColin Cross2017-12-011-1/+6
| | | | | | | | | | | | | | Soong was keeping the compiled resources in the same order as the input resources, which are sorted lexicographically. Converting the path names in pathsToAapt2Paths results in a list that is no longer lexicographically sorted. Make sorts the inputs to aapt2 link by compiled resource name, so do the same in Soong. Bug: 69917341 Test: no change to framework-res.apk when converting to Soong Change-Id: I29e8339b9969b0d323d469dac140c7e172b7ebfa
* Add enforced RRO support to SoongColin Cross2017-12-011-0/+141
| | | | | | | | | | Ignore overlay directories that have been selected for enforced RRO by the product, and pass them to Make instead to be converted to an auto generated RRO package. Bug: 69917341 Test: m checkbuild Change-Id: I8e2677f4c600acdd8dee0869bf4fbc3d5dbc8b44
* Split up testJavaWithEnvFsColin Cross2017-12-011-4/+17
| | | | | | | | | | | Instead of passing all the options to testJavaWithEnvFs, split it up into testConfig, testContext, and run. Tests that don't need any special options can continue to use testJava, more complicated tests can call the three functions manually. This gives more flexibility in complicated tests for the next patch. Test: soong java tests Change-Id: Ifd5dcb40cf08e4cbf69bf8e02c5698adbfbcdcb3
* Allow building framework.jar and framework-res.apkColin Cross2017-11-291-11/+1
| | | | | | | | | | Update app support enough to build framework-res.apk, link framework.jar against its generated files, and export it to make. Bug: 69917341 Test: m checkbuild tests docs Change-Id: I7db29cd1f5fabb22e844483ecc7c38abfedbbe0a
* Replace aapt support with aapt2Colin Cross2017-11-291-0/+90
Use aapt2 instead of aapt to compile Android app resources. Also generate all files into srcjars instead of individual sources. Test: m checkbuild Change-Id: I5a67991a0daf0017e8159b46fcff7d5564a91468