aboutsummaryrefslogtreecommitdiffstats
path: root/android
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-10.0.0_r31' into lineage-17.1-android-10.0.0_r31Luca Stefani2020-03-075-122/+463
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Move sharding functions for reuseColin Cross2019-11-212-0/+132
| | | | | | | | | | | | | | | | | | | | | | Move shardPaths and shardTests to android.ShardPaths and android.ShardStrings for reuse in other packages. Bug: 144948629 Test: m checkbuild Change-Id: I868802872c73616b80f56cbf11f959c01a8b793a Merged-In: I868802872c73616b80f56cbf11f959c01a8b793a (cherry picked from commit 0a2f719bcaad397f27bcf52cd6604df6b5cec03b)
| * Rewrite depfile from sbox to stay reproducibleDan Willemsen2019-11-212-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sbox will generate a random directory for the output root, and most tools will encode that directory name in the output target of the depfile. So embed the library from dep_fixer into sbox so that it can rewrite the output filename to a static (reproducible) value. Ninja doesn't care what that value is, so it's just "outputfile". Also fix up rule_builder to actually tell sbox about the depfile. Bug: 144948629 Test: mmma system/iorap; check the contents of: out/soong/.intermediates/system/iorap/libiorap-binder/android_arm_armv7-a-neon_core_static/gen/aidl/system/iorap/binder/com/google/android/startop/iorap/IIorap.cpp.d Change-Id: I3640a2e8b0c034f143a35e398a8418a6d621b265 Merged-In: I3640a2e8b0c034f143a35e398a8418a6d621b265 (cherry picked from commit c89b6f19810d368d7d5c128407c3eaaa5e3b2e81)
| * Support RuleBuilder.Sbox to wrap commands in sboxDan Willemsen2019-11-213-122/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | This essentially allows you to declare that everything in a directory will be created by the rule, and we'll ensure that your command actually writes out all of the claimed outputs, and remove any other files that previously existed in that directory. Bug: 144948629 Test: built-in tests Change-Id: I990dce2b3a0d89ebd2736ac1a0cadfb5864c6e73 Merged-In: I990dce2b3a0d89ebd2736ac1a0cadfb5864c6e73 (cherry picked from commit 633c50229544db07f48e75833cab655a294f677d)
* | soong: Add function to return camera parameters library namestaging/lineage-17.0_merge-android-10.0.0_r9Rashed Abdel-Tawab2019-12-111-0/+4
| | | | | | | | Change-Id: I3113ea6813b82c3f6b250205080030ff9c2255ec
* | soong: Give priority to modules in exported namespaces for bootjarsSam Mortimer2019-12-112-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-12-111-1/+6
| | | | | | | | Change-Id: I5fc78a15349a77fff85b69bf2a92172149ce37fc
* | Fix android_test install path.Jaewoong Jung2019-12-113-0/+18
| | | | | | | | | | | | Test: m nothing + diff soong mk and ninja files. Bug: 140795853 Change-Id: I3667eac951dea7e447cf73219ff89199fca9ed63
* | AndroidMkEntries minor refactoring.Jaewoong Jung2019-12-113-28/+35
| | | | | | | | | | | | | | | | | | 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 sh_test_host.Jaewoong Jung2019-12-112-0/+33
| | | | | | | | | | | | Fixes: 136272143 Test: sh_binary_test.go Change-Id: I2e6580286fcdf43ab20020fcd147648a3009aa9f
* | Add data property to sh_test.Jaewoong Jung2019-12-112-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-12-114-191/+277
| | | | | | | | | | | | | | | | | | | | | | 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 arch variant support to android_app_import.Jaewoong Jung2019-12-111-0/+4
| | | | | | | | | | | | | | Bug: 128610294 Fixes: 138792623 Test: app_test.go Change-Id: I47c80ec283ce58a0ce9b7d0af40844bd73e9d3f1
* | Improve android_app_import.dpi_variants handling.Jaewoong Jung2019-12-111-8/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+5
| | | | | | | | | | | | Bug: 128610294 Test: app_test.go Change-Id: Ie3e558bfdb40de6b0b9df95d3b373d08a4084d7b
* | Stop using build/target -> build/make/target symlinkDan Willemsen2019-12-111-2/+2
| | | | | | | | | | | | | | Instead, fully specify build/make/target/... everywhere Test: treehugger Change-Id: I07ba0e9b0604919a271afd5133070616e1f404fc
* | soong: Add PathForSourceRelaxedSam Mortimer2019-12-111-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-12-111-2/+11
| | | | | | | | Change-Id: I0e5395ac70220f1d3a1c87c6112e33f84f526fea
* | soong: extend with lineage board flagsSimon Shields2019-12-111-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Give Blueprint modules access to all namespacesColin Cross2019-12-112-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
* Fix sanitizer depJiyong Park2019-08-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes a problem in sanitizerMutator where a module is linked with of non-sanitized variant of a lib at build-time, but is linked with the sanitized variant of the lib at run-time. This happened because, for each sanitizer type, every shared libs are split into non-sanitized and sanitized variants, and then either of the variants are suppressed from Make so that it isn't installed to the device. This change fixes the problem by NOT splitting for shared libs; only the sanitized variant is created if needed. Header libs, static libs and shared libs for a few sanitizer types (asan/fuzzer) are however split into two. This is because the static and headers libs become part of the depending module, and asan/fuzzer require that the depending module and the dependant module should be compiled for the same sanitizer. Bug: 138103882 Bug: 138426065 Test: m com.android.runtime.debug Check that libziparchive exists under both /system/apex/com.android.runtime/[lib|lib64] Merged-In: Ia447785c485c0d049e19477b32bc638bfe6f1608 (cherry picked from commit 1d1119f4bd20368dc686c6980d80a3ea34311716) Change-Id: Ia447785c485c0d049e19477b32bc638bfe6f1608
* Don't use prebuilt_apex when TARGET_FLATTEN_APEX is set to trueJiyong Park2019-07-071-0/+4
| | | | | | | | | | | When the device does not support non-flattened APEX (i.e. TARGET_FLATTEN_APEX is set to true), then ignore the prebuilt_apex modules even when `prefer: true`. Bug: 136251130 Bug: 136662772 Test: build marlin, and check if /system/apex has flattened APEXes Change-Id: I9f3dfefc3bd357d6750fbb1e418937d095720b04
* Uncompress dex in unbundled privileged appsColin Cross2019-06-251-0/+1
| | | | | | | | | | | | 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-252-8/+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)
* OverridableModuleBase shouldn't embed ModuleBase.Jaewoong Jung2019-06-191-3/+1
| | | | | | | | | | | Individual module structs normally embed ModuleBase themselves. This caused duplicate embedding, and so made common properties like notice inaccessible. Bug: 135460391 Test: app_test.go, TreeHugger Change-Id: I5683b194e3de909d480c083a931cc7e871de1d74 Merged-In: I5683b194e3de909d480c083a931cc7e871de1d74
* neverallow: vintf to libhidltransport impl libSteven Moreland2019-06-142-16/+1
| | | | | | | | | Also delete useless testcase. Bug: 134961554 Test: build Change-Id: Ie76492f806757b86d94d29a736773f72ce2ab104
* Fix data race and ordering consistency in apex modulesColin Cross2019-06-051-1/+7
| | | | | | | | | | | | | | | | | apexDepsMutator can be called on multiple apex modules in parallel, and then two goroutines could call BuildForApex on the same module in parallel, leading to a data race appending to apexVariations. This also results in random ordering of the entries in apexVariations. Hold a mutex around appending to apexVariations, and sort it before passing it to ctx.CreateVariations. Fixes: 134425751 Test: m nothing Change-Id: If5a3b53a778daacb3e26ac05cde872cf8eb980b3 Merged-In: If5a3b53a778daacb3e26ac05cde872cf8eb980b3 (cherry picked from commit cefa94bd27f696b975cc7c3dc97ba7ecc91ef0cc)
* Merge "Revert "Revert "Android Q is API 29""" into qt-devIan Pedowitz2019-05-151-0/+1
|\
| * Revert "Revert "Android Q is API 29""Ian Pedowitz2019-05-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 9e2bf9ec51ad16e8bc8f3754eadc2cd4a0b40e73. Reason for revert: Rolling forward for Q-Finalization Bug: 129975435 Bug: 129943426 Change-Id: Ic8a09aca67c189edfda4b10e5deb13716eb66adc Test: Build
| * Revert "RESTRICT AUTOMERGE Android Q is API 29"Ian Pedowitz2019-05-021-1/+0
| | | | | | | | | | | | | | | | | | This reverts commit ca6e92767850864b665d1e4a14af182a241b26a7. Reason for revert: QT SDK Finalization. Will be merged again on/after May 13th Bug: 129975435 Change-Id: Ice988aea0cab8ba462166c27b0d7f95fc7d46466
| * RESTRICT AUTOMERGE Android Q is API 29Suprabh Shukla2019-04-301-0/+1
| | | | | | | | | | | | | | Test: Only updated a constant. Builds as expected. Bug: 129975435 Change-Id: I10bb72d59d7ffdb942b11701d3cebc383afa6a77
* | Emit LOCAL_MODULE_TARGET_ARCH for prebuilt_etcJiyong Park2019-05-031-0/+1
|/ | | | | | | | | | | | | Absense of the flag causes problem when prebuilt_etc is configured with compile_multilib. Bug: 130138217 Test: choosecombo to aosp_x86_64 and build test_com.android.media.swcodec Check that the test APEX has 32-bit artifacts. Merged-In: Idd28443d129ff70053295015e69328a8fa3eca47 Change-Id: I6b90668d6effc9f82f7cf3a958d4964e8f06ac8e
* Merge "Prebuilt APEXes are recoreded in apexkeys.txt" into qt-devTreeHugger Robot2019-04-241-0/+4
|\
| * Prebuilt APEXes are recoreded in apexkeys.txtJiyong Park2019-04-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | apexkeys.txt now correctly lists prebuilt APEXes with keys specified as PRESIGNED. This change also fixes a bug that non-installable APEXes are listed in the file. Bug: 131130235 Test: m out/soong/apexkeys.txt and check that com.android.apex.cts.shim.apex is listed there with PRESIGNED keys. Change-Id: Ib6d391a82864714743a1cc59cd655bea917b5073
* | Merge changes Ic5f467fb,I68d52668 into qt-devTreeHugger Robot2019-04-232-11/+86
|\ \ | |/ |/| | | | | | | * changes: Ensure that PathsForModuleSrc works with prebuilts Fix: PathsForModuleSrc does not work for a replaced dependency
| * Ensure that PathsForModuleSrc works with prebuiltsJiyong Park2019-04-201-11/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prebuilt_test is amended to ensure f2976304f70fe61b705300f309687317c90a84fb is not broken. PathsForModuleSrc is called to check if the file is from correct module (either from source or prebuilt module) Bug: 130627486 Test: m Merged-In: Ic5f467fbc2837727df92102530687e967cd5529f Change-Id: Ic5f467fbc2837727df92102530687e967cd5529f (cherry picked from commit d4671111ef95e3bbb844661d7a89c83b28d2d6fa)
| * Fix: PathsForModuleSrc does not work for a replaced dependencyJiyong Park2019-04-201-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PathsForModuleSrc does not work if a source module is replaced with a prebuilt module. This is because the function uses GetDirectDepWithTag with the name of the original source module. Since the dependency is replaced and the prebuilt module has the name "prebuilt_<name>", the search always fails. Fixing this by re-implementing GetDirectDep* functions inside Soong using VisitDirectDep. Bug: 130627486 Test: m Merged-In: I68d52668283c429d5e93c7f2c81f6a8db1f24893 Change-Id: I68d52668283c429d5e93c7f2c81f6a8db1f24893 (cherry picked from commit f2976304f70fe61b705300f309687317c90a84fb)
* | Allow codename.fingerprint format for targetSdkVersionColin Cross2019-04-221-1/+1
|/ | | | | | | | | | | Use codename.fingerprint format for targetSdkVersion if it is unset in the manifest and UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true. Test: manual Bug: 130541924 Change-Id: I4e3b1274cc32038b00b292dc6d67559eb320e9e4 Merged-In: I4e3b1274cc32038b00b292dc6d67559eb320e9e4 (cherry picked from commit 109328714ff626446e16cfdd3103a5b969284841)
* TARGET_FS_CONFIG_GEN is a list, not a single pathDan Willemsen2019-04-182-2/+2
| | | | | | | | | Bug: 130787336 Test: m oemaids_header_gen oemaids_headers passwd group Test: Set TARGET_FS_CONFIG_GEN to a list of paths Change-Id: Ic1f7d38239f3f805ca0723c24005d3e18a811870 Merged-In: Ic1f7d38239f3f805ca0723c24005d3e18a811870 (cherry picked from commit 54879d193e6f6f9466fe39cf1aa7984527701a07)
* Fix missing genrule srcs and tools with ALLOW_MISSING_DEPENDENCIES=trueColin Cross2019-04-162-19/+69
| | | | | | | | | | | | | | | Set the location label for missing srcs and tools to avoid nonsensical errors when parsing the command. Cherry-pick note: Being cherry-picked to qt-dev to fix unbundled -qt builds, see b/130588113. Bug: 130588113 Test: genrule_test.go Test: paths_test.go Test: unbundled branch with missing framework-res module needed by robolectric genrule Change-Id: I9c1f1cd82a80f048c0e903b8e93910b1ae34b0b1 (cherry picked from commit ba71a3fb116729a73a950ed1e319069d219bb25b)
* Merge "Export more config variables" into qt-devTreeHugger Robot2019-04-122-8/+28
|\
| * Export more config variablesColin Cross2019-04-112-8/+28
| | | | | | | | | | | | | | | | | | Export some more config variables that will be used to generate robolectric's build.prop file. Bug: 122331577 Test: m checkbuild Change-Id: I39f3436ed5d5c4e730dd3e1f86c840cf6358ec87
* | Merge "Fix package path of android/soong/android pctx" into qt-devTreeHugger Robot2019-04-121-1/+1
|\ \
| * | Fix package path of android/soong/android pctxColin Cross2019-04-101-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | android/soong/common was renamed to android/soong/android long ago, but the pctx package path was still "android/soong/common". This required all users of rules defined in android/soong/android to import "android/soong/android" and then pctx.Import("android/soong/common"). Bug: 130298888 Test: m checkbuild Change-Id: I20d096522760538f7cfc2bec3d4bfeba99b275d4
* / Expose TargetFSConfigGen to DeviceConfig from MakeDan Willemsen2019-04-112-0/+6
|/ | | | | | | | Bug: 118089258 Test: m oemaids_header_gen oemaids_headers Change-Id: I2675822ae01af9bbec70f0c0413c047f36b5e024 Merged-In: I2675822ae01af9bbec70f0c0413c047f36b5e024 (cherry picked from commit 71c74607133b017c874340c0cce6892a14733b50)
* Merge "Fix sdk_version: "system_current" when Platform_sdk_final=true" am: ↵Colin Cross2019-04-031-6/+8
|\ | | | | | | | | | | | | | | b007b2bde5 am: 8c3f398c6c am: 209edee425 Change-Id: I54ea846c9ac2b29354109755225db71dcdaa1527
| * Fix sdk_version: "system_current" when Platform_sdk_final=trueColin Cross2019-04-021-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | When PLATFORM_VERSION_CODENAME is set to REL Platform_sdk_final becomes true, which causes the return value of sdkVersionToNumber for "system_current" to a real version number instead of FutureApiLevel. This enables the check against PlatformSystemSdkVersions, which doesn't contain "current". Use the numeric value instead. Fixes: 129786845 Test: sdk_test.go Change-Id: If7cf211cc01c5fbf3e3ece3c3f604718a13d5a9b
* | Make libc_scudo always go first.Christopher Ferris2019-04-021-1/+2
| | | | | | | | | | | | | | | | | | In addition, add Shared_libs to malloc_not_svelte. Bug: 123689570 Test: Verified that libc_scudo is first wherever it is added. Change-Id: Ibdc5dbd019a382630a727c270f846aa4446f8d99
* | Add support for protoc plugins am: fe17f6f0e8 am: 91c063cfdcColin Cross2019-04-022-4/+52
|\| | | | | | | | | | | am: 7299e418df Change-Id: I30e57f6678343f57233831775b62afa1f043a450
| * Add support for protoc pluginsColin Cross2019-04-022-4/+52
| | | | | | | | | | | | | | | | | | Add a proto.plugin property to allow specifying a custom protoc plugin to generate the code. Fixes: 70706119 Test: m am StreamingProtoTest Change-Id: I1ecdd346284b42bbcc8297019d98d2cd564eb94c