aboutsummaryrefslogtreecommitdiffstats
path: root/java
Commit message (Collapse)AuthorAgeFilesLines
* Add kotlin stdlib to javac classpathColin Cross2018-06-051-0/+1
| | | | | | | | | | | Java modules that have .kt sources may also use kotlin stdlib types in their .java sources. Bug: 78245848 Test: m checkbuild Change-Id: I064cb76b8a641ad92d648febaa400bc01549a9c5 Merged-In: I064cb76b8a641ad92d648febaa400bc01549a9c5 (cherry picked from commit 49da2757cd04850b4667504e7e9bd595aad25c94)
* Pass platform version name as --version-name for framework-res.apkColin Cross2018-05-091-2/+2
| | | | | | | | | | framework-res.apk should get the platform version name ("9") as --version-name, not the SDK version ("28"). It will get copied to compileSdkVersionCodename in APKs compiled against it. Bug: 78324052 Test: aapt dump badging $OUT/system/framework/framework-res.apk | grep -i version Change-Id: I34a601cb2c14f66199066e7d598862108da0b950
* Export lists of support libraries modules to MakeColin Cross2018-05-031-0/+66
| | | | | | | | | | | | Make will use the list to sort support libraries into LOCAL_STATIC_ANDROID_LIBRARIES and LOCAL_STATIC_JAVA_LIBRARIES as appropriate. Bug: 78300023 Test: m checkbuild Change-Id: I58582b124f2b6a9b124683ddf8f5d77314f2e941 Merged-In: I58582b124f2b6a9b124683ddf8f5d77314f2e941 (cherry picked from commit ff8ab0745f59c9c1ec3268051e24956ba8647849)
* Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIESColin Cross2018-05-036-26/+66
| | | | | | | | | | | | | | | | | | | | | | | If a static android library lib1 has static_libs: ["lib2"] then the R.class files for packages in lib2 will be merged into the jar for lib1. If an app has lib1 in its static_libs it will get the R.class files from lib2 through lib1, instead of regenerating the R.java files with numbering that matches the resource table of the app. Pass transtive static android library dependencies on the aapt2 command line so that aapt2 will always regenerate the R.java constants for those packages. Also extract the packages that have R.java files after each aapt2 invocation. This is not necessary for Soong, but is passed to make to let it force regenerating the packages using --extra-packages. Bug: 78300023 Test: m checkbuild Change-Id: I0f3444af44d2a9f370d1f156c908972f8cc3a1ee Merged-In: I0f3444af44d2a9f370d1f156c908972f8cc3a1ee (cherry picked from commit 66f78820e12138dcc9acf1b3c6bd6d26f3340f93)
* Use and export proguard flags from static dependenciesColin Cross2018-05-033-3/+36
| | | | | | | | | | | | | | | Export proguard flags from Android library modules, and use them from static dependencies in Android apps when running proguard. Also export them to Make. Unlike Make, which concatentates all the exported flags from dependencies, Soong dedups exported flags files. Bug: 73724997 Test: m checkbuild Change-Id: I8f86fecb09cbc591832ce67e8ecef551a6600349 Merged-In: I8f86fecb09cbc591832ce67e8ecef551a6600349 (cherry picked from commit 89c31581a52e4534e1a726f49d700250d676e1a2)
* Remove product-specific flags from android_library modulesColin Cross2018-05-032-18/+22
| | | | | | | | | | | Static android libraries should not get the product-specific flags. Bug: 73724997 Test: m checkbuild Change-Id: I89e8c0a3fb788b18ee6603e9d21c9b9a5275f42f Merged-In: I89e8c0a3fb788b18ee6603e9d21c9b9a5275f42f (cherry picked from commit e78dcd313c0a4e0a1e8c32b26fdc62bd6de93da2)
* Add support for android_library modulesColin Cross2018-05-0310-391/+608
| | | | | | | | | | | 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 Merged-In: I1dfac5fffe577c6680bc4709147b2061eb7d819c (cherry picked from commit a97c5d3f08c1df08c73cee4808feb3c1e015bdc8)
* Don't use AppsDefaultVersionName for framework-res.apkColin Cross2018-04-251-1/+10
| | | | | | | | | | | | | | | | Some builds set AppsDefaultVersionName() to include the build number ("P-123456"). aapt2 copies the version name of framework-res into app manifests as compileSdkVersionCodename, which confuses things if it contains the build number. Use the DefaultAppTargetSdk ("P") instead. Bug: 78324052 Test: m TARGET_BUILD_WITH_APPS_VERSION_NAME=true Dialer aapt dump badging $OUT/system/priv-app/Dialer/Dialer.apk | grep compile shows compileSdkVersionCodename=P Change-Id: If67f40aae1066d4ff3bf97da1b2de2e1e250ad9c Merged-In: If67f40aae1066d4ff3bf97da1b2de2e1e250ad9c (cherry-picked from commit 402d5e091996abe6e69b5055150ab5438fc664ef)
* Reverse RRO dir paths when passing to MakeColin Cross2018-04-181-1/+3
| | | | | | | | | | | | | | | LOCAL_RESOURCE_DIRS puts the highest priority overlay first, but aapt2 expects the highest priority overlay last. Soong stores the list in aapt2 order (low to high priority), but that means when it exports to Make as LOCAL_SOONG_RRO_DIRS, which goes to build_rro_package.mk and then package_internal.mk, it gets reversed again and comes out backwards. Bug: 78032566 Test: m checkbuild Change-Id: If72bf929fbf1d126f9051a2f21ec1eb4e3030e6e Merged-In: If72bf929fbf1d126f9051a2f21ec1eb4e3030e6e (cherry picked from commit a140bb05f1eeafe046574454debd190c32e09888)
* Fix aapt2 --min-sdk-version after finalized SDKColin Cross2018-04-182-1/+94
| | | | | | | | | | | | | 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 Merged-In: I622eaf92f8a940f79007c2a579536da325700b06 (cherry picked from commit d09b0b653b615c322266fa2a41ecf0f0066bc93d)
* Expose ProductVariables from TestConfigDan Willemsen2018-04-172-4/+4
| | | | | | | | | | | In preparation for unexporting ProductVariables, explicitly return a pointer to the structure from TestConfig / TestArchConfig. Bug: 76168832 Test: m blueprint_tools Change-Id: Iccfb4c912f8e0ee3f620cc1ee00f0cdc5cba7735 Merged-In: Iccfb4c912f8e0ee3f620cc1ee00f0cdc5cba7735 (cherry picked from commit 674dc7f7f06dc56edc7e331331d474dcf1bba53d)
* Use Config/DeviceConfig functions to access ProductVariablesDan Willemsen2018-04-171-21/+3
| | | | | | | | | | | | An upcoming change will stop exporting ProductVariables from Config, so switch to using existing accessor functions, and add more when they're missing. Bug: 76168832 Test: out/soong/build.ninja is identical Change-Id: Ie0135bdbd2df3258ef3ddb53e5f8fc00aa9b97f7 Merged-In: Ie0135bdbd2df3258ef3ddb53e5f8fc00aa9b97f7 (cherry picked from commit 3fb1faeeb98143e132ca4d6f1cac42d6f060888b)
* Switch PackageContext functions to take a ctxDan Willemsen2018-04-162-36/+21
| | | | | | | | | | | | So that the Path and similar functions can be used directly, without manually adding something like configErrorWrapper (it just uses it all the time now). Bug: 76168832 Test: out/soong/build.ninja is identical Change-Id: I8cb524b09a84d0b8357d7c3501c71270af411e17 Merged-In: I8cb524b09a84d0b8357d7c3501c71270af411e17 (cherry picked from commit 54daaf0371fd7196bec7fd6c5960ba787b868751)
* Merge "Add trace flag for cpp/Java AIDL generation." into pi-devMartijn Coenen2018-03-281-0/+7
|\
| * Add trace flag for cpp/Java AIDL generation.Martijn Coenen2018-03-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AIDL code generator can now include trace code in every generated AIDL call. We don't want to enable this by default for all interfaces for two reasons: 1) Potential performance overhead 2) For Java targets, the code depends on @hide APIs in android.os.Trace, and I haven't found a clean way to determine whether a target is allowed to use @hide stuff in the SDK. LOCAL_PRIVATE_PLATFORM_APIS is almost it, but it's not set for the core framework (which is exactly one of the things we'd like to trace). Bug: 74416314 Test: verify correct code is generated when flag is set Change-Id: Ic6ab8aee3e708207813da3e803911a844ff3e52b Merged-In: Ic6ab8aee3e708207813da3e803911a844ff3e52b
* | Allow proto properties in cc/java_defaultsDan Willemsen2018-03-221-0/+1
| | | | | | | | | | | | | | | | | | | | (cherry picked from commit 6424d17a2d1c22729f50c7c053eef7c47175df17) Bug: 73175642 Test: Add proto.canonical_path_from_root: true in a cc_defaults Test: Add proto.canonical_path_from_root: true in a java_defaults Merged-In: I9ddfc8af0025705a34b6e487225f1f98915054c3 Change-Id: I9ddfc8af0025705a34b6e487225f1f98915054c3
* | Merge changes I406c5bef,Ibde685d7,I1c09412d,I9bec563c,I34f06abd into pi-devLogan Chien2018-03-221-12/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * changes: Allow VNDK extensions under vendor or device Add unit tests for android/neverallow.go Extract failIfErrored() to android/testing.go RemoveFromList() should remove all matches Add unit tests for android/util.go
| * | Extract failIfErrored() to android/testing.goLogan Chien2018-03-161-12/+2
| |/ | | | | | | | | | | | | | | Bug: 74506774 Test: lunch aosp_walleye-userdebug && make # runs unit tests Merged-In: I1c09412d5988dca2cc1c5f041893b313ab1c163a Change-Id: I1c09412d5988dca2cc1c5f041893b313ab1c163a
* | Replace extract-srcjars.sh with zipsync toolColin Cross2018-03-204-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | extract_srcjars.sh uses zipinfo and unzip, which fail with an error on an empty zip file. Instead of trying to hack around this (which is hard to make guarantees for since they are non-hermetic host tools), replace them with a go tool to unzip a set of zip files into a directory. Bug: 73885582 Test: m checkbuild Change-Id: I151fed347ed5196726e36866ffc27bc831799afb Merged-In: I151fed347ed5196726e36866ffc27bc831799afb (cherry picked from commit 436b76564d83586c68025985bc5d9fc7774109bf)
* | Use turbine's native source jar supportColin Cross2018-03-201-7/+3
|/ | | | | | | | | | | Turbine doesn't need extract_srcjars.sh, just pass the source jars with --source_jars. Bug: 74339924 Test: m checkbuild Change-Id: Ie7fe06f5a9f5e29287cf79c2d46b23a676a03d41 Merged-In: Ie7fe06f5a9f5e29287cf79c2d46b23a676a03d41 (cherry picked from commit 6981f658ef04976437ff69e4ba634d213843d531)
* Turn GlobFiles into a Glob for files, use it am: 540a78c1ce am: f49ff89266Dan Willemsen2018-03-021-15/+2
|\ | | | | | | | | | | am: a7070c158c Change-Id: I06f6cc4481f826de7f7923630c2de344c84603a6
| * Turn GlobFiles into a Glob for files, use itDan Willemsen2018-03-011-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GlobFiles had allowed results to be anywhere in the source tree, restrict it to results within the current module directory. Then use it for ExpandSources and other places where we only want files. This fixes using '*' in cc_test's `data` property, which can only support files. The only thing this changes today is that java_resource_dirs and java_resources no longer pass directories to soong_zip's -f argument. core-libart previously added some icu directories, now it only passes files. Bug: 71906438 Test: only expected changes in out/soong/build.ninja Test: add data: ["**/*"] to a cc_test, build successfully Change-Id: Iff1bd8c005a48e431c740706d7e23f4f957d8b1d
* | Merge "Add droiddoc_template" am: f6366cc0a1 am: 1ba2989d4fDan Willemsen2018-03-012-15/+66
|\| | | | | | | | | | | am: 6f535b5476 Change-Id: I83324c0727741921d549b4435916b98087b07a83
| * Add droiddoc_templateDan Willemsen2018-03-012-15/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We prefer not to use absolute paths in modules, but to reference modules that have associated paths. This a few benefits: * it's easier to move a module than to update all the references * if the module doesn't exist, we treat it as a normal missing dependency, not having to deal with the missing dependency in path.go * implementing visibility(etc) in the future would be simpler if there was a module attached to the reference, so we don't have to do various path-based lookups to try and match things up. So define a `droiddoc_template` module, which takes a path, and will run the glob once in that module. All of the `droiddoc` modules can then specify it through the `custom_template` property, which will pull the necessary data. Also fix that htmldirs should be references from the local path, the htmldir2 argument never being specified, and complain if more than two htmldirs are specified, or if the custom template isn't specified. Test: m core-docs Test: out/soong/build.ninja is nearly identical - line numbers in comments - adds directories to droiddoc template dependency lists, which is more correct, since we need to rerun on added or removed files too. Change-Id: Iff630bddb3818b8eeed439de7e41fc7fbe7cdcb0
* | Change name of droiddoc target output to *-stubs.srcjar am: 3bb14200e2 am: ↵Nan Zhang2018-03-012-3/+3
|\| | | | | | | | | | | | | | | b1e6641a77 am: 7f5686aee1 Change-Id: I81aa0f094cad9f7c00fa7dcbc77c758fccd2d4c4
| * Change name of droiddoc target output to *-stubs.srcjarNan Zhang2018-02-282-3/+3
| | | | | | | | | | | | Test: m -j core-docs Bug: b/70351683 Change-Id: If8c00a9992d262b7cd4c95794073591dcc245bd2
* | Merge changes I84868c92,If1690a70,Ia9aeb2ff am: d2092dbc0d am: 113265ec4cColin Cross2018-02-241-5/+3
|\| | | | | | | | | | | am: a544914e5f Change-Id: I5ffddc29b0006e763fef2cb2c4c315306a8a36d1
| * Merge changes I84868c92,If1690a70,Ia9aeb2ffColin Cross2018-02-241-5/+3
| |\ | | | | | | | | | | | | | | | | | | * changes: Use PathForSource instead of PathsForSource Move AllowMissingDependencies check from PathsForSource to PathForSource Pass nil instead of []string{} to ctx.Glob* functions
| | * Use PathForSource instead of PathsForSourceColin Cross2018-02-231-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reapplies If1690a708393964d3030cb908beaf7b6897c0084. PathForSource does the AllowMissingDependencies check now, use it instead of PathsForSource. Test: m checkbuild Change-Id: I84868c92ee43779f9b5c8b285dac92f5f87b018c
* | | Merge "Add proto.canonical_path_from_root" am: 7c695eb797 am: c530837d4cDan Willemsen2018-02-233-23/+26
|\| | | | | | | | | | | | | | | | | am: fb408c8e6d Change-Id: I6bfe260cc2c8d67f73bdbb1eb70ee1df6bf33de4
| * | Merge "Add proto.canonical_path_from_root"Dan Willemsen2018-02-233-23/+26
| |\ \ | | |/ | |/|
| | * Add proto.canonical_path_from_rootDan Willemsen2018-02-223-23/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Historically, we've always passed '-I .' as the first argument to protoc, essentially treating all proto file package names as their full path in the android source tree. This would make sense in a monorepo world, but it makes less sense when we're pulling in external projects with established package names. So keep the same default (for now), but allow individual builds to opt into using local paths as the default names with 'canonical_path_from_root: false'. A cleanup effort and/or large scale change in the future could change the default to false. As part of this, run protoc once per input proto file, since the flags may need to change per-file. We'll also need this in order to specify --dependency_out in the future. Bug: 70704330 Test: aosp/master build-aosp_arm.ninja is identical Test: aosp/master soong/build.ninja has expected changes Test: m Test: Build protobuf test Change-Id: I9d6de9fd630326bbcced1c62a4a7e9546429b0ce
* | | Merge "Revert "Use PathForSource instead of PathsForSource"" am: 0c18d451d2 ↵Colin Cross2018-02-231-3/+5
|\| | | | | | | | | | | | | | | | | | | | | | | am: be6724dd30 am: dd5d40eb37 Change-Id: I0cabaeee1add960ea94ba2b06985655dcfe9efe8
| * | Merge "Revert "Use PathForSource instead of PathsForSource""Colin Cross2018-02-231-3/+5
| |\ \
| | * | Revert "Use PathForSource instead of PathsForSource"Colin Cross2018-02-231-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9d37831dd3f5a8133c0fc353ce1993e1585aa178. Reason for revert: Broke builds with ALLOW_MISSING_DEPENDENCIES=true Change-Id: Ibff79642f747b83364c83d6b298334121028e02d
* | | | Merge changes If1894fd9,Id7925999,I4fe11c3f,Iea2b0781,Id2c0a503 am: ↵Colin Cross2018-02-232-8/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1b5599e462 am: b3407069ee am: 945aebf48e Change-Id: Ie14264d306d957f92beca7070867d947773692b1
| * | | Merge changes If1894fd9,Id7925999,I4fe11c3f,Iea2b0781,Id2c0a503Treehugger Robot2018-02-232-8/+6
| |\| | | | |/ | |/| | | | | | | | | | | | | | | | | | | * changes: Use PathForSource instead of PathsForSource Move AllowMissingDependencies check from PathsForSource to PathForSource Propagate errors out of validatePath Add t.Run and t.Helper to paths_test.go Remove unused intermediates parameter from ExistentPathForSource
| | * Use PathForSource instead of PathsForSourceColin Cross2018-02-221-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | PathForSource does the AllowMissingDependencies check now, use it instead of PathsForSource. Test: m checkbuild Change-Id: If1894fd98d8d757ebc3c1635d5fcea86f81bfc4a
| | * Remove unused intermediates parameter from ExistentPathForSourceColin Cross2018-02-221-3/+3
| | | | | | | | | | | | | | | Test: m checkbuild Change-Id: Id2c0a5039c2ec3b3795385c135ffec022ccd691e
* | | Soong AAR prebuilt support am: fabb608b27 am: cb7137994fColin Cross2018-02-224-2/+207
|\| | | | | | | | | | | | | | | | | am: dc425fe743 Change-Id: Icecd172a1bae483d0aad04f68dba30832a4b2dd3
| * | Soong AAR prebuilt supportColin Cross2018-02-224-2/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for android_library_import modules that take an aar file. Bug: 73724997 Test: m checkbuild Change-Id: I670b56f0a3b7501d9478a6064a04d0cb9c1bb611
* | | Add aapt includes for prebuilt SDK jars am: 9ca6942956 am: 022c52e269Colin Cross2018-02-221-0/+6
|\| | | | | | | | | | | | | | | | | am: 380c9a1f87 Change-Id: I1c5c4b13ffe7390953c9763e3090639b5eedd154
| * | Add aapt includes for prebuilt SDK jarsColin Cross2018-02-221-0/+6
| |/ | | | | | | | | | | | | | | Add -I arguments to the aapt link command line if sdk_version is set to a numbered SDK prebuilt jar. Test: m checkbuild Change-Id: Ieeadf84bc131ba94e0e4ee1b9eec7d1e80b31b19
* | Droiddoc Support in Soong am: 581fd21e91 am: 2ea76706b3Nan Zhang2018-02-226-12/+535
|\| | | | | | | | | | | am: a400bb400c Change-Id: I5c317052e5b1cba68e04720db75cb07cdd7ca0f7
| * Droiddoc Support in SoongNan Zhang2018-02-226-12/+535
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support Droiddoc to Soong based on core/droiddoc.mk. The non-std doclet based droiddoc compilation output is a "real" stubs.jar instead of a directory of java files and a timestamp file. The std doclet based javadoc compilation output is a "empty" stubs.jar instead of a timestamp file. The stubs.jar will be exported to out/target/common/obj/JAVA_LIBRARIES/$(LOCAL_MODULE)_intermediates/classes.jar and out/target/common/docs/$(LOCAL_MODULE)-stubs.jar A $(LOCAL_MODULE).zip file will be generated also, and is exported to out/target/common/docs/$(LOCAL_MODULE)-docs.zip if property: installable is not set to false. Bug: b/70351683 Test: unittest + convert libcore docs Android.mk to Soong manually. Change-Id: I1cffddd138a5d9d445f86a3d4a3fd4de88a2bc0f (cherry picked from commit 78188ec622cb1ee24171455867fc58ffab91562e)
* | Merge "Use android.InList for inList" am: e35ad13004 am: 20b350b433Colin Cross2018-02-221-9/+1
|\| | | | | | | | | | | am: 3ef40fd3e4 Change-Id: Iaf540c0d55cbbf9780fcf2721f0a67de43902948
| * Use android.InList for inListColin Cross2018-02-211-9/+1
| | | | | | | | | | | | | | Remove duplicate implementations of inList. Test: m checkbuild Change-Id: I6943b95f6d47e6722b9ff1ab61ab14c429fe33a0
* | Fix comment on how java rules handle unknown output files am: f7eac7a2ac am: ↵Colin Cross2018-02-201-3/+3
|\| | | | | | | | | | | | | | | a14eee8e4a am: 4bc286eca9 Change-Id: I19e6cd473f0bd854e35a2e6ccc70fe2bccc02ed5
| * Fix comment on how java rules handle unknown output filesColin Cross2018-02-201-3/+3
| | | | | | | | | | Test: none Change-Id: I985e7961c87dd145d6eb2bd94cb8bdc43becc360
* | Merge "Revert "Revert "Support filegroup in exclude_srcs""" am: f28e32a2a5 ↵Nan Zhang2018-02-192-10/+40
|\| | | | | | | | | | | | | | | am: 3aa79ee5f5 am: 6df794ebb4 Change-Id: If6f3707008c217dec95f991f3c8fa3585ce42b0b