aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* soong: Add function to return camera parameters library namelineage-17.0Rashed Abdel-Tawab2019-12-091-0/+4
| | | | Change-Id: I3113ea6813b82c3f6b250205080030ff9c2255ec
* soong: Give priority to modules in exported namespaces for bootjarsSam Mortimer2019-10-306-1/+139
| | | | | | | | | | | | | | | * Looking for modules that provide a boot jar is currently done by module name match only. This breaks when you have multiple copies of the same module in your build tree (eg in another device). * Add a new mutator that marks the modules that should be used for bootjar content. * The logic is simple: give priority to modules that are in exported soong namespace. Change-Id: I2476174b892475c14a9f10b5e66b8496186f81c0
* soong: Allow setting namespace import to "all" to import every namespaceRashed Abdel-Tawab2019-10-061-1/+6
| | | | Change-Id: I5fc78a15349a77fff85b69bf2a92172149ce37fc
* Comment out broken android_app_imports testsRashed Abdel-Tawab2019-10-061-0/+10
| | | | Change-Id: Ia7404539bf155819e15495c96238c6359b9a065c
* Fix split apk paths.Jaewoong Jung2019-10-062-1/+5
| | | | | | | | | | | | | 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
* Fix android_test install path.Jaewoong Jung2019-10-064-10/+35
| | | | | | Test: m nothing + diff soong mk and ninja files. Bug: 140795853 Change-Id: I3667eac951dea7e447cf73219ff89199fca9ed63
* AndroidMkEntries minor refactoring.Jaewoong Jung2019-09-275-45/+56
| | | | | | | | | 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
* Add overrides property to prebuilt_apexJaewoong Jung2019-09-272-29/+35
| | | | | | Bug: 137218697 Test: apex_test.go Change-Id: I55a42e1e4af60d6d7185515a380c786312b8b29b
* Add sh_test_host.Jaewoong Jung2019-09-272-0/+33
| | | | | | Fixes: 136272143 Test: sh_binary_test.go Change-Id: I2e6580286fcdf43ab20020fcd147648a3009aa9f
* Add data property to sh_test.Jaewoong Jung2019-09-272-18/+101
| | | | | | Fixes: 131861785 Test: sh_binary_test.go, a real sh_test with added data Change-Id: Ic78022d2db38a530074c70823ef16773d8ba6821
* New AndroidMk authoring system based on entry map.Jaewoong Jung2019-09-275-193/+279
| | | | | | | | | | | 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 default_dev_cert to android_app_importJaewoong Jung2019-09-272-10/+52
| | | | | | | Test: app_test.go Bug: 122333215 Bug: 128610294 Change-Id: I4be98a57ffec0885258ed7d7bb2badc8b2798750
* Add arch variant support to android_app_import.Jaewoong Jung2019-09-274-30/+120
| | | | | | | Bug: 128610294 Fixes: 138792623 Test: app_test.go Change-Id: I47c80ec283ce58a0ce9b7d0af40844bd73e9d3f1
* Add filename property to android_app_importJaewoong Jung2019-09-273-21/+70
| | | | | | Test: app_test.go Bug: 137218697 Change-Id: If2b20a355bb6e9e8dbcd57347c0e2c6fa041a932
* Improve android_app_import.dpi_variants handling.Jaewoong Jung2019-09-274-79/+119
| | | | | | | | | | | | | 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
* androidmk conversion logic for android_app_importJaewoong Jung2019-09-274-21/+138
| | | | | | Test: androidmk_test.go, bpfix_test.go Bug: 128610294 Change-Id: Ide183ba1e696fa0ffb4245e3288ffc47535b39af
* Implement DPI variants in android_app_import.Jaewoong Jung2019-09-274-9/+169
| | | | | | Bug: 128610294 Test: app_test.go Change-Id: Ie3e558bfdb40de6b0b9df95d3b373d08a4084d7b
* Uncompress dex file in imported apk when needed.Jaewoong Jung2019-09-271-0/+18
| | | | | | | This implements the uncompress-dexs macro's behavior in Soong. Test: Converted TvSampleLeanbackLauncher + zipinfo Change-Id: I9477aa21429d055f3f36ca90c7fd2c345c999029
* uncompressedDex option for android_app_import.Jaewoong Jung2019-09-271-13/+18
| | | | | | | | This also partially consolidates shouldUncompressDex implementations. Bug: 128610294 Test: TreeHugger Change-Id: I7cea5a3890ddd473f63c0738a35af067455b5c4d
* Add android_app_import.Jaewoong Jung2019-09-276-31/+286
| | | | | | | | This is an initial version that handles the most basic cases. Bug: 128610294 Test: app_test.go + prebuilt webview.apk Change-Id: Ic525559aad5612987e50aa75b326b77b23acb716
* Use ctx.Fatalln instead of log.Fatalln for absolute path errorsColin Cross2019-09-261-16/+15
| | | | | | | | | | log.Fatalln calls os.Exit, which skips deferred functions and leaves the console with the cursor disabled. Use ctx.Fatalln instead, which uses a panic to exit and calls the deferred function to restore the cursor. Test: DIST_DIR=/tmp/\test\ foo m dist Change-Id: Ie92297075e37c171d5ba48848a0ddb19652b051c
* Force dumpvars into dumb terminal mode and move log filesColin Cross2019-09-264-24/+45
| | | | | | | | | | | Force soong_ui in dumpvars mode to use a dumb terminal so that it doesn't print an empty status table. Also move the logs to files that are prefixed with "dumpvars-" so that they don't rotate the real build logs. Fixes: 139307849 Test: lunch Change-Id: If92421af07731fedc9ca42670f309e95922a2224
* status table: don't write newlines in non-scrolling terminalsColin Cross2019-09-261-29/+21
| | | | | | | | | Multiple terminals have had issues with writing newlines into the non-scrolling region, just set the cursor to the beginning of the next line instead. Test: m nothing in JediTerm Change-Id: I2e434f4cc263ca13b82889a79d6a8bb48d084cb3
* status table: ANSI code rows and columns are 1-basedColin Cross2019-09-261-4/+4
| | | | | | | | Don't pass 0 to setCursor or setScrollingMargins. Passing 0 hasn't caused any known issues, but 1 is correct. Test: m nothing Change-Id: I8735032eb3f1d46df4c41c4ea9ef95b5fd842824
* Compute critical path when ninja finishesColin Cross2019-09-266-0/+326
| | | | | | | | | Keep a running map of the critical path to each edge as it finishes. At the end of the build, find the edge with the longest critical path and print the path to out/soong.log. Test: critical_path_test.go Change-Id: Ie01d26b068b768156b166bff00cdc3273e8124ca
* Stop using build/target -> build/make/target symlinkDan Willemsen2019-09-255-11/+11
| | | | | | | Instead, fully specify build/make/target/... everywhere Test: treehugger Change-Id: I07ba0e9b0604919a271afd5133070616e1f404fc
* Fix formattingEthan Chen2019-09-131-4/+3
| | | | Change-Id: If8fce98316be03fc9dabe27864bc4a324ab6fdb7
* Add missing cortex-a76 arm configurationLuca Stefani2019-09-121-0/+1
| | | | Change-Id: I55620e602b9e97fe7a6d36fa142ddfde77b6025b
* Make additional manifests transitiveLuca Stefani2019-09-111-7/+6
| | | | | Test: m, additional_manifests is now transitive Change-Id: I3134c5e942959fe762024602fd833ec4a4312d2c
* Add 'Additional_manifest' property to merge other manifestschangho.shin2019-09-112-1/+10
| | | | | | | | This is equivalent to 'LOCAL_FULL_LIBS_MANIFEST_FILES' in Make. Fixes: 123374442 Test: m -j Change-Id: Ic4b40a08f2454687c74949020598651acea3b2dd
* Pass --remove-tools-declarations to manifest mergerColin Cross2019-09-112-4/+13
| | | | | | | | | Manifest merger needs --remove-tools-declarations to match Gradle behavior. Bug: 112607039 Test: m checkbuild Change-Id: Id93bcaeaf03770a4acd2e1fdf44e418f55540dd3
* Don't use merged manifest for android_library modulesColin Cross2019-09-113-47/+65
| | | | | | | | | | | | 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-09-107-5/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* soong: Whitelist nprocSam Mortimer2019-09-081-0/+1
| | | | Change-Id: Ie83688c900a241728b1153cc8ac2aeccc2cb31f6
* soong: Add PathForSourceRelaxedSam Mortimer2019-09-071-0/+50
| | | | | | | | | | | | Used by vendor/lineage generated kernel header module. Partial pick from: Author: Sam Mortimer <sam@mortimer.me.uk> Date: Fri Aug 17 11:25:08 2018 -0700 soong: Add java sources overlay support Change-Id: I94143febb0a8afa6a165364d36a40d5120a4e7bc Change-Id: I415af71458f2a7be8e256cb3c548994f09c5bebf
* soong: add support for nested structs in variablePropertiesSimon Shields2019-09-071-2/+12
| | | | Change-Id: I0e5395ac70220f1d3a1c87c6112e33f84f526fea
* soong: extend with lineage board flagsSimon Shields2019-09-073-1/+10
| | | | | | | | | | | | | Includes the following commit: Author: Simon Shields <simon@lineageos.org> Date: Mon Sep 4 21:09:44 2017 +1000 soong: explicitly specify name of Lineage variables struct Change-Id: Ic754b8a13658ddc40620f985581bd1754b780b15 Change-Id: If127c9da6b57340ae57e0cf725151cdcc3c82ef3
* soong sbox: Add option to allow copying all generated outputSam Mortimer2019-09-071-3/+12
| | | | | | | | | | *) Add option --copy-all-files that copies all generated output. *) When enabled, do not error when unexpected output files are found. *) For use by lineage_generator module. Change-Id: Ia3cd2216807f6165b23a97a001db7303f15d33e2
* cleanbuild: add *.zip.md5sum to installclean_filesMichael Bestas2019-09-061-0/+1
| | | | Change-Id: I9af8579f4acf5043375650ec4f7fadb66c0eb15e
* Add dumpvar for WITH_SUAbhisek Devkota2019-09-061-0/+2
| | | | | | | | -Allow folks to see easily if the term session they are in has WITH_SU set to true -Also add a dumpvar rule for WITH_GMS for those that have it Change-Id: Ib310d0016bb9eb16960f794720321b706b6fd8b0
* soong: Add LINEAGE_VERSION to dumpvarsRashed Abdel-Tawab2019-09-061-0/+1
| | | | Change-Id: I24b29442f041aec451a173db404f542060ac67d2
* Give Blueprint modules access to all namespacesColin Cross2019-09-052-0/+48
| | | | | | | | | | Don't enforce namespaces on Blueprint modules like bootstrap_go_package, their dependencies are handled before namespaces are initialized in namespaceMutator. Fixes: 135246048 Test: TestDependingOnBlueprintModuleInRootNamespace Change-Id: I7cf1c26bb8512eed59d6b4eb42a49f7080ffa281
* Remove support for ONE_SHOT_MAKEFILEDan Willemsen2019-09-044-416/+189
| | | | | Test: treehugger Change-Id: Icdbe62bcb7bc4717228c5d974962b939d8eafee6
* Deprecate ONE_SHOT_MAKEFILEDan Willemsen2019-09-041-1/+20
| | | | | | | | | | mm is now doing the same thing as mma. Now print a deprecation message for other tools that may be setting ONE_SHOT_MAKEFILE directly (or users that are still using a very old envsetup.sh). Test: mm # does not print Test: ONE_SHOT_MAKEFILE=bionic m Change-Id: I98221657024d824a61c0d721d5c7dd1a2ea2fb1e
* soong_ui: Do not clean the OutDir path multiple times.Patrice Arruda2019-09-041-1/+1
| | | | | | | | | | | If OUT_DIR has been specified through the command line arguments, it is sanitized first and NewConfig sets the OUT_DIR in the build environment. When calling OutDir from Config instance, the out was being sanitized again which is unnecessary. Bug: b/118730755 Test: Ran unit test cases, "lunch" followed by "m" command. Change-Id: Ieb4ffa1026c802c76c7369e8cdb3923a4c70f4b3
* soong_ui: Construct the proper MODULES-IN-<dir name> for m* build commands.Patrice Arruda2019-09-042-19/+85
| | | | | | | | | | | | | | | | | | Previously, any of the build commands (mma, mmma, etc...) would traverse up the directory path until an Android build file has been found. That directory path would eventually become the MODULES-IN-<dir name> build target. The directory where the m* command was executed may contain a build file in a sub directory. For that case, the build target is the MODULES-IN-<dir name> where dir is the directory of the executed m* command since the target has been constructed by the core makefile. Bug: b/118730755 Test: Wrote and ran unit test cases. Ran "lunch", "m". Went to a directory in AOSP that had build files in sub directories and executed mma. Went to a directory that had only build files in parent directories and executed mma. Change-Id: I9458cbc4bf0fc25bfb0848e96e92d261442d5cb0
* soong_ui: Do not find a build file if targets are specified.Patrice Arruda2019-09-042-22/+30
| | | | | | | | | | | | | | | | For mmma and mmm, the findBuildFile function in config.go is invoked every time for specified directories and directories with targets. For directories with targets, an Android build file must exist in the directory where mmma and mmm was invoked. There is no need to invoke findBuildFile function as a simple check of the build file exists in the specified directory. This is also refactoring the code for b/118730755 Bug: b/118730755 Test: Executed unit test cases through Intellij and executed mmma command: "mmma external/protobuf:aprotoc external/bzip2". Change-Id: I5428e3a3c36f77ff740617564b7853705521f29f
* soong-ui: Redirect mm to mma.Patrice Arruda2019-09-041-1/+4
| | | | | | | | | This is the first part of deprecating the mm command. mm will simply be redirected to mma by building the modules and their dependencies. Bug: b/135187558 Test: Ran mm in external/protobuf directory. Change-Id: Idad40f89e3768aeb459172f632a44fd7b0a201bc
* soong-ui: Redirect mmm to mmma.Patrice Arruda2019-09-041-1/+4
| | | | | | | | | | This is the first part of deprecating the mmm command. mmm will simply be redirected to mmma by building the list of modules with their dependencies. Bug: b/135187558 Test: Ran mmm external/libusb:libusb. Change-Id: I50cf0d6a07197556ab6130e612561c6d5a3fb31e
* soong_ui: Build under a path that contains a symbolic link.Patrice Arruda2019-09-042-1/+59
| | | | | | | | | | | | | The build directory passed in to soong_ui can contain a symbolic link. soong_ui was not evaluating the build directory to retrieve the true path, hence failing to execute the internal soong. Fixes: b/135995632 Test: Unit test case and executed the scenario in the bug description. Change-Id: I5779c6aa3f3183810437dbe2b2d4e40acbafb205