aboutsummaryrefslogtreecommitdiffstats
path: root/java/androidmk.go
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-10.0.0_r31' into lineage-17.1-android-10.0.0_r31Luca Stefani2020-03-071-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 10.0.0 release 31 * tag 'android-10.0.0_r31': Revert submission 9940985-qpr1-dev merge Revert submission 9919844-manual r1 merge DO NOT MERGE: Add tradefed_java_library_host DO NOT MERGE: Add tradefed_java_library_host DO NOT MERGE: Add tradefed_java_library_host Switch to clang-r353983c1. Switch to clang-r353983d Shard gensrcs modules into multiple commands Move sharding functions for reuse Rewrite depfile from sbox to stay reproducible Support RuleBuilder.Sbox to wrap commands in sbox Update droidstubs build target Change-Id: Iff6698461ec43d1c74e70e3a693ebd028fe7b8b7
| * Update droidstubs build targetJerome Gaillard2019-11-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to use Metalava to generate metadata files useful for Android Studio as part of a droidstubs target. Once those files have been created in a new metadata folder, they are zipped to make it easier to transfer them into the out/target/common/obj/PACKAGING folder where they can then be picked up by the SDK build to be included there. Bug: 142480924 Test: m sdk Change-Id: I4be1c9e78369c65ee9cd94706c6d20ab0df6b797 Merged-In: I4be1c9e78369c65ee9cd94706c6d20ab0df6b797
* | Fix split apk paths.Jaewoong Jung2019-12-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Soong has been outputting incorrect Android.mk entries for split apks. soong_app_prebuilt.mk expects LOCAL_SOONG_BUILT_INSTALLED to contain a list of <split apk path>:<on device install path> pairs whereas Soong outputs <split apk path>:$(LOCAL_MODULE_PATH)/<split apk filename> pairs. This also adds a missing underscore in split apk filenames. Test: m Split Bug: 140795853 Change-Id: I3d6506f5e12106174fbbaef34749a272b5e1b90c
* | AndroidMkEntries minor refactoring.Jaewoong Jung2019-12-111-12/+14
| | | | | | | | | | | | | | | | | | This includes a few changes that make AndroidMkEntries more resemble AndroidMkData, especially in terms of how extra entries are added. Most importantly it can now have multiple custom functions. Test: Soong tests Change-Id: Ibf9102624d16d0c1c9894a2794fc7c797bb34c9a
* | New AndroidMk authoring system based on entry map.Jaewoong Jung2019-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | The new system collects all Android.mk variable assignments using a map and writes them to io.Writer. Compared to the previous system, which directly writes all entries to buffers, this new system is more robust and test-friendly. Test: Built without prebuilt_etc.go change and diffed the mk output. Test: prebuilt_etc_test.go Change-Id: Idd28443d129ff70053295015e69328a8fa3eca47
* | Add filename property to android_app_importJaewoong Jung2019-12-111-20/+15
| | | | | | | | | | | | Test: app_test.go Bug: 137218697 Change-Id: If2b20a355bb6e9e8dbcd57347c0e2c6fa041a932
* | Add android_app_import.Jaewoong Jung2019-12-111-0/+26
| | | | | | | | | | | | | | | | This is an initial version that handles the most basic cases. Bug: 128610294 Test: app_test.go + prebuilt webview.apk Change-Id: Ic525559aad5612987e50aa75b326b77b23acb716
* | Don't use merged manifest for android_library modulesColin Cross2019-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Don't use the merged manifest for android_library modules. We still have to run manifest merger for android_library modules because Make can't handle transitive dependencies, so it will continue to merge the manifests at each library, and then merge the manifests of direct dependencies into the final application. Bug: 113294940 Test: m checkbuild Change-Id: Ia8f9f910bd0a134730ddf2d542460eeddbc0a075
* | soong: Squash of lineage-sdk bringup commitsRashed Abdel-Tawab2019-12-111-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Support target.hostdex.requiredColin Cross2019-04-261-0/+3
| | | | | | | | | | | Hostdex modules sometimes need extra required modules, add target.hostdex.required. Bug: 131167818 Test: manual Change-Id: I599f3499f0b738556baeb27185371a42b4c2701b Merged-In: I599f3499f0b738556baeb27185371a42b4c2701b (cherry picked from commit 7f87f4fdeb30f612d74001acb26c466cbb452467)
* Check package restrictions for Java libs.Vladimir Marko2019-04-091-0/+4
| | | | | | | | | | | Test: m checkbuild; inspect verbose log. Test: Manual - compile with unmet restrictions. Bug: 122937705 (cherry picked from commit 0975ee0de3d2befefa613754b4dd684a1a9b8c0e) Change-Id: Ibecfb53072f060e046d3c8fdca0911d66cc6922d Merged-In: I9360ae8b6d9ce016b7827be5e8ffc6eb521809b7
* Add java_test_helper_libraryPaul Duffin2019-03-251-21/+23
| | | | | | | | Extracts testSuiteComponent() function to reduce duplication. Bug: 128969758 Test: atest CtsJdwpTestCases Change-Id: I23746b18112d22f8670666f429a665b34b1955fd
* Separate device and product overlaysAnton Hansson2019-03-211-2/+16
| | | | | | | | | | | | | | | | 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
* Add dex_import module typeColin Cross2019-03-201-0/+22
| | | | | | | | | | | | | Add a module type for importing a prebuilt jar that contains classes.dex files. Test: m with a prebuilt jar that contains classes.dex files in PRODUCT_BOOT_JARS Test: java_test.go, dexpreopt_test.go, dexpreopt_bootjars_test.go Bug: 124804356 Bug: 125517186 Change-Id: I496848f9dca11f758d49b1cb68168cec7f8e1718
* Support package_splitsColin Cross2019-03-191-0/+4
| | | | | | | | | | 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
* Add RuleBuilder.Installs().String()Colin Cross2019-02-131-3/+3
| | | | | | | | | Add a RuleBuilderInstalls type for a slice of RuleBuilderInstalls, and give it a String() method that returns the list of installs in the format that is convenient for passing to Make. Test: rule_builder_test.go Change-Id: I2e9cd9abf4dfb0ad312d0a6662f1567baf9cd222
* Add Android.mk lines for package name overriding.Jaewoong Jung2019-02-071-2/+18
| | | | | | | | | This ensures the overriding/overridden packages are processed as intended when producing the final system image. Bug: 122957760 Test: Manual tests with Browser2, BrowserGoogle, and Chrome Change-Id: Ica05e53601b27c73de7f5c3bfcb9000103a11db6
* Enable last released check for SystemApiAdrian Roos2019-01-301-2/+2
| | | | | | Test: make droid Bug: 123222452 Change-Id: I952ec3d64a51fb892b14146a7fe38db358bea476
* Add last released API check to checkapi for public Android APIAdrian Roos2019-01-251-0/+18
| | | | | | Test: make droid Bug: 123222452 Change-Id: I2b0b6c9196bfb963bd6085554ff6fdcc9cb53942
* Don't install java libraries that are already in an apex.Nicolas Geoffray2019-01-211-3/+0
| | | | | | | | | This need to have -hostdex rules not look at the installFile. In the near future, all -hostdex files come from jars that are in an apex. bug: 119868597 Test: m Change-Id: I4423626c5ced5d098ddd97c122fbfced54f817fc
* Set LOCAL_PREBUILT_MODULE_FILE for hostdex modulesColin Cross2019-01-171-0/+5
| | | | | | | | Java modules with hostdex: true have to manually create an extra androidmk entry, which was missing LOCAL_PREBUILT_MODULE_FILE. Test: m checkbuild Change-Id: I9ecb853e149c83282738178f74c1c3a263d203cc
* Support core librarySundong Ahn2019-01-161-17/+20
| | | | | | | | | | | | | | | To support core library, "Openjdk9", "No_standard_libs" and metalava properties are added to java_sdk_library. If core_lib is true, dist paths are changed to apistubs/core/.... impl library name is changed to {module_name}.jar instead of {module_name}.impl.jar Bug: 110404779 Test: m -j Change-Id: Ieb6248ea714b4260333d8bf61573d4f3413f7f24 Merged-In: Ieb6248ea714b4260333d8bf61573d4f3413f7f24 (cherry picked from commit af4907fed798aa736d3d20f5439ba87be7ab0f10)
* Revert "Set LOCAL_PREBUILT_MODULE_FILE for hostdex modules"Colin Cross2019-01-161-5/+0
| | | | | | | | This reverts commit 462963b513fd54d36de0c18cc2436d751518d3b4. Reason for revert: broke emma turbine build Change-Id: I2e49bb127e1eb5006e7e27a59c4e85efa63bb38e
* Set LOCAL_PREBUILT_MODULE_FILE for hostdex modulesColin Cross2019-01-141-0/+5
| | | | | | | | Java modules with hostdex: true have to manually create an extra androidmk entry, which was missing LOCAL_PREBUILT_MODULE_FILE. Test: m checkbuild Change-Id: I0fb50196fe01ba9eb0c4aef446e7c8f28bbaec12
* Export dex jars from java binariesColin Cross2019-01-141-0/+6
| | | | | | | | | | Set LOCAL_SOONG_DEX_JAR and LOCAL_SOONG_BUILT_INSTALLED for java binaries to install the jar with classes.dex and the preopted files. Bug: 122831369 Test: m deployagent Change-Id: I6018aee25491e0c77a5f6dc464668d2bf6c317c0
* Dexpreopt soong modules inside soongColin Cross2018-12-151-17/+12
| | | | | | | | | | | | | | | | | | | | | | | Port the dexpreopt logic from Make to the dexpreopt package in Soong, and use it to dexpreopt Soong modules. The same package is also compiled into the dexpreopt_gen binary to generate dexpreopt scripts for Make modules. This relands Ib67e2febf9ed921f06e8a86b9ec945c80dff35eb and I462182638bd57b1367b5bfb0718e975c11ae66f7, along with multiple fixes to depsfile generation in dexpreopt_gen that caused .odex files for modules in defined make to be missing dependencies on boot.art, and a fix to not dexpreopt and strip tests. Bug: 119412419 Bug: 120273280 Test: no differences to dexpreopt outputs on aosp_sailfish system/, only expected changes to dexpreopt outputs on system_other (.vdex files for privileged Soong modules no longer incorrectly contain .dex contents). Test: OUT_DIR=$PWD/out m Test: NINJA_ARGS="-t deps out/target/product/sailfish/obj/APPS/Contacts_intermediates/dexpreopt.zip" m Change-Id: I6bb2c971cee65d2338839753aa0d84939f335b1b
* Revert "Dexpreopt soong modules inside soong"Colin Cross2018-12-141-12/+17
| | | | | | | This reverts commit 29ff88741e710b05743dcf347484c31311e81cda. Test: none Bug: 119412419
* Dexpreopt soong modules inside soongColin Cross2018-12-131-17/+12
| | | | | | | | | | | | | | | Port the dexpreopt logic from Make to the dexpreopt package in Soong, and use it to dexpreopt Soong modules. The same package is also compiled into the dexpreopt_gen binary to generate dexpreopt scripts for Make modules. Bug: 119412419 Bug: 120273280 Test: no differences to dexpreopt outputs on aosp_sailfish system/, only expected changes to dexpreopt outputs on system_other (.vdex files for privileged Soong modules no longer incorrectly contain .dex contents). Change-Id: Ib67e2febf9ed921f06e8a86b9ec945c80dff35eb
* Add check_nullability_warnings support to droidstubs.Pete Gillin2018-11-011-0/+8
| | | | | | | | | | | | | | This takes the warnings file written by metalava and diffs it against the expected (checked-in) file, in a manner similar to the checking and updating of the signature files. This makes it possible for a developer adding a large API surface (e.g. by moving to a new version of upstream sources for ojluni) to do so without being blocked on adding the annotations, while ensuring that at all times there is an up-to-date record of the API surface which is missing annotations. Bug: 73448108 Test: See the other change in this topic. Change-Id: If9ed470ef3355a0d713bb556b5561fb255e4e277
* Pass AAR to makeColin Cross2018-10-311-0/+3
| | | | | | | | Pass the output AAR file to make, where it will be copied to the dist directory if requested by an unbundled build. Test: m checkbuild Change-Id: I126a81bd4b8ad0eeade99638ce9c2aa4579935bb
* Create bundle modules suitable for bundletoolColin Cross2018-10-311-0/+3
| | | | | | | | | | | Create a bundle module in addition to creating an APK, which can then optionally be merged with bundle modules from builds for other architectures and then be passed to bundletool to create an app bundle. Bug: 117295826 Test: tapas RecoveryLocalizer && m dist Change-Id: I98a17d7407dc56823ece9ec88c087780185a6555
* APEXs are signed with apk signerJiyong Park2018-10-311-1/+1
| | | | | | | | | | | | | The entire APEX (which is a zip file) is signed with the apk signer. Certificate can be specified via the 'certificate' property just like ordinary apps. Note: multiple additional certificates are not supported. Bug: 115721587 Test: m apex.test Test: jarsigner -verify -verbose -certs .../apex.test.apex shows the certificate info Change-Id: Ia4c898d3427779a3809fdc683b85d7661ca65137
* Add android_test_helper_appColin Cross2018-10-081-0/+15
| | | | | | | | | Add a module that can build an APK that will be used by a test. The APK will be sideloadable, and can be added to a test suite, but will not autogenerate a test config file. Test: m checkbuild Change-Id: Idf325b1c9a2cbcd16b126da3331671e4aed4b3da
* Add support for JNI libraries to android_app modulesColin Cross2018-10-081-0/+4
| | | | | | | | | | | 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
* Export Api-versions.xml generated by SoongNan Zhang2018-09-191-0/+3
| | | | | | | | | Test: m -j out/target/common/obj/PACKAGING/api-stubs-docs_generated-api-versions.xml Bug: b/78245848 Change-Id: I951ac6294b1cdab3904009897efb8139c7c4f1a2 Merged-In: I951ac6294b1cdab3904009897efb8139c7c4f1a2
* Add jdiff support for SoongNan Zhang2018-09-181-0/+3
| | | | | | Test: api-stubs-docs-diff Bug: b/78245848 Change-Id: I069f6f8b1f9aa74ae1425cd5b792643d05b26820
* Split doclava run from metalava target.Nan Zhang2018-09-111-4/+70
| | | | | | | | | | | | | | | | | | | | | Originally when metalava sees arg: "--generate-documentation", it will create a seperate process to invoke javadoc/dokka. Now this is handled by our build system. Basically metalava target will only generate a .srcjar file. Any other droiddoc target which generates docs can depend on this metalava target. By doing this, if multiple doc targets depending on the same metalava sources. The metalava won't need to be re-run by multiple times which could cause quite some timing overhead. Test: m clean && m -j core-docs and compare the results using md5sum between the old and new content. also m clean && m -j core-current-stubs-gen-docs and compare the results using md5sum between the old and new content. Bug: b/78245848 Change-Id: If7deef0da738645efe7d3a8376ff2bb3dec92c01
* Adapt special case framework support.Mathew Inwood2018-09-041-1/+1
| | | | | | | | | | | | | I'm adding a annotation processor to the framework target that does not run as part of the main build, but only for a parallel build target framework-annotation-proc, which is identical to framework except that it also runs an annotation processor. Update build rules to be aware of this target so that it builds successfully. Test: m framework-annotation-proc Bug: 113853502 Change-Id: I8b20758dc8bd0e8cb2542414d7a45a2cd7d2e158
* Add support for dumping proguard api file.Nan Zhang2018-08-221-0/+3
| | | | | | | | Test: ref go/ag/4783442 Bug: b/70351683 Change-Id: I0aedd41686535c9a662b935003b80634e56663e0 Merged-In: I0aedd41686535c9a662b935003b80634e56663e0 (cherry-picked from commit: 26c055258b92b8c5ba428cd6c1c6bd7e6c457d49)
* Don't pass resources to r8Colin Cross2018-08-161-6/+11
| | | | | | | | | | R8 complains when it gets dex files in the input jar, but some tests use dex files or dex jars as resources. Keep resources separate from classes until after r8 has been run. Test: java_test.go Test: m checkbuild Change-Id: I1d9164d60d6b054ebb138648da07d80ee769177f
* Support data properties in java_test and android_testColin Cross2018-08-141-0/+15
| | | | | | | | Files in the data property will be passed to LOCAL_COMPATIBILITY_SUPPORT_FILES in Make. Test: m checkbuild Change-Id: Ifc074317f957aba8f55daa30abc5b9737d1eceac
* Move autogenerated test config into SoongColin Cross2018-08-141-6/+8
| | | | | | | | | | Move autogenerating the test config for Soong modules into Soong for java_test and android_test modules. Bug: 70770641 Test: m checkbuild Test: atest CtsUiRenderingTestCases Change-Id: I02593add0407ef694b91c14cf27411a4f3cc4745
* Support overrides for android_appJason Monk2018-08-101-0/+3
| | | | | Test: use it Change-Id: I61b933b757081f08a417e66a8c02d62916bd3f8b
* Use soong_droiddoc_prebuilt.mkColin Cross2018-08-081-2/+2
| | | | | | | | | | | | | | Soong droiddoc modules were using soong_java_prebuilt.mk, but they don't need any of the java logic from it, and it includes base_rules.mk which was not included by droiddoc.mk. Use soong_droiddoc_prebuilt.mk that just installs the droiddoc outputs without including base_rules.mk. Fixes building docs modules in mm, mma, and m checkbuild. Bug: 112388925 Test: m docs Change-Id: I8ccbcd34adf268a830ee1a203270b955ea696701
* Support 'test_config' into soong modulesJulien Desprez2018-08-071-0/+8
| | | | | | Test: make general-tests Bug: 110982517 Change-Id: Ib2eab2653fdfce6f699b85c9fbc64558b6d40363
* Mark soong-generated phony rules as PHONYDan Willemsen2018-07-251-1/+1
| | | | | Test: add --writable=out/ to kati, see fewer warnings with this change Change-Id: I4beb47f41888e3743b298c90edfeb38fcc0b3d32
* Use Metalava based android.jar for SDKNan Zhang2018-07-241-0/+3
| | | | | | | | Define LOCAL_DROIDDOC_ANNOTATIONS_ZIP to export zip file. Test: m out/target/common/obj/PACKAGING/metalava-api-stubs-docs_annotations.zip Bug: b/78245848 Change-Id: I66ca2a50adc095cc8a8a1a10620427a91480a9bc
* Don't install java libraries by defaultColin Cross2018-07-111-2/+2
| | | | | | | | | | | | | | | | | Very few java libraries need to be installed, most are statically included in other modules. Device modules that are not installed also don't need to be dexed, saving checkbuild time. Change the default for java_library to not be installed, and allow libraries that should be installed to specify installed: true. This makes java_libary and java_library_static identical. It also simplifies some corner cases when converting from Make to Soong if a module is built for the host (which doesn't differentiate between static and non-static/installable) and statically for the device, which couldn't be represented in a single java_library in soong. Bug: 110885583 Test: m checkbuild, compare presubmit target files Change-Id: Idc0841c39a17cebd7bac3559c9408596d167a393
* Add support for min_sdk_versionColin Cross2018-07-091-3/+3
| | | | | | | | | | | Add min_sdk_version properties and use it for aapt2 --min-sdk-version and --target-sdk-version flags. Add an sdkContext interface that any function that needs an sdk version can take in order to get the values for the current module. Bug: 110848854 Test: m checkbuild Change-Id: Ic69f1f935d8b865ec77689350407df08bfac5925
* Export SDK library namesJiyong Park2018-06-201-0/+4
| | | | | | | | | | | | | | java_library, java_import, and android_library export SDK library names that they are using directly or indirectly via its dependencies. When building an apk, the manifest fixer uses the SDK lib names to automatically add <uses-library> tags. The SDK lib names are exported to the make world via LOCAL_EXPORT_SDK_LIBRARIES flag. Bug: 77575606 Test: m -j Change-Id: I4fe606eb7ed23843c58eebe6a324405fe1da34e5