Commit Graph

1437 Commits

Author SHA1 Message Date
Colin Cross 702c5a7b0f Merge "Add docs.zip output tag to droiddoc"
am: 80f8d8cd2d

Change-Id: I0f3df78e99d937587a5050e2e92588374028f4af
2019-08-27 08:46:16 -07:00
Treehugger Robot 80f8d8cd2d Merge "Add docs.zip output tag to droiddoc" 2019-08-27 15:28:26 +00:00
Treehugger Robot 309b9c02a5 Merge "Implement sysprop_library API stability check" 2019-08-27 00:44:34 +00:00
Jiyong Park 0f60062cb5 Merge "Remove srcs_lib_whitelist_dirs" 2019-08-27 00:30:06 +00:00
Jaewoong Jung 01dee1d934 Merge "Add default_dev_cert to android_app_import"
am: a436b1ae86

Change-Id: I9dd99bfee7f816d0a714d6d0b015bf6894145408
2019-08-26 15:31:51 -07:00
Jaewoong Jung a436b1ae86 Merge "Add default_dev_cert to android_app_import" 2019-08-26 19:58:50 +00:00
Jiyong Park 1112c4c0d7 Remove srcs_lib_whitelist_dirs
This change removes srcs_lib_whitelist_dirs which was used to let
droiddoc to know the base directories for the AIDL/Java source files.
Instead, the base directories are given via the path property of the
filegroup modules.

This change also includes a fix that the base directories from all
filegroup modules listed in srcs are used as the import paths for the
AIDL compiler. This removes the need to have aidl.[local_]include_dirs.

Bug: 70046217
Test: m
Exempt-From-Owner-Approval: Approved internally
Merged-In: I62ff2a7dd3943d9a3d95d91c36a30fd44ea467d2
(cherry picked from commit f79334d95c)
Change-Id: I62ff2a7dd3943d9a3d95d91c36a30fd44ea467d2
2019-08-26 08:09:33 +00:00
Jiyong Park 6d3550cbe6 Remove srcs_lib_whitelist_dirs
This change removes srcs_lib_whitelist_dirs which was used to let
droiddoc to know the base directories for the AIDL/Java source files.
Instead, the base directories are given via the path property of the
filegroup modules.

This change also includes a fix that the base directories from all
filegroup modules listed in srcs are used as the import paths for the
AIDL compiler. This removes the need to have aidl.[local_]include_dirs.

Bug: 70046217
Test: m
Exempt-From-Owner-Approval: Approved internally
Merged-In: I62ff2a7dd3943d9a3d95d91c36a30fd44ea467d2
(cherry picked from commit f79334d95c)
Change-Id: I62ff2a7dd3943d9a3d95d91c36a30fd44ea467d2
2019-08-24 00:04:42 +00:00
Jaewoong Jung 961d4fdd5b Add default_dev_cert to android_app_import
Test: app_test.go
Bug: 122333215
Bug: 128610294
Change-Id: I4be98a57ffec0885258ed7d7bb2badc8b2798750
2019-08-23 12:07:05 -07:00
Inseob Kim 4288274f14 Implement sysprop_library API stability check
sysprop_library now checks the API stability itself, cutting dependency
on java_sdk_library. Under the directory {module_dir}/api,
{module_name}-current.txt and {module_name}-latest.txt hold API
signatures.

When sysprop_library is built, or a user run "m {module_name}-check-api"
command, API check is performed. First, current.txt must have exactly
same signature with built sysprop_library module. Second, current.txt
must be compatible with latest.txt.

Build system emits a handy error message to generate/update those API
files, in case of missing or mismatching. Also, a script file for
freezing API files is introduced.

Bug: 131637873
Test: 1) m && boot blueline
Test: 2) m {sysprop_library} performs API check
Test: 3) manual test for check-api, freezing api
Change-Id: I9d25f5dc64299e666527ca8e23d7233966901c4e
Merged-In: I9d25f5dc64299e666527ca8e23d7233966901c4e
Merged-In: Ib7ad4f17e82c90da5ef3f80e2ab88c0b53112c60
(cherry picked from commit 093f0eb133)
2019-08-23 06:28:34 +00:00
Treehugger Robot 95515641e7 Merge "Droiddoc can accept logtags as input sources" 2019-08-23 04:35:49 +00:00
Jiyong Park 5fbe62a781 Droiddoc can accept logtags as input sources
Bug: 135922046
Test: m
Merged-In: I3fcdc751c91bd762a3fb19b74c1652be1c7ff115
(cherry picked from commit d734c790ce)
Change-Id: I3fcdc751c91bd762a3fb19b74c1652be1c7ff115
2019-08-22 15:06:05 +09:00
Jiyong Park d90d7413b7 Droiddoc can accept logtags as input sources
Bug: 135922046
Test: m
Merged-In: I3fcdc751c91bd762a3fb19b74c1652be1c7ff115
Change-Id: I3fcdc751c91bd762a3fb19b74c1652be1c7ff115
2019-08-22 03:41:48 +00:00
Inseob Kim 2f791a246b Implement sysprop_library API stability check
sysprop_library now checks the API stability itself, cutting dependency
on java_sdk_library. Under the directory {module_dir}/api,
{module_name}-current.txt and {module_name}-latest.txt hold API
signatures.

When sysprop_library is built, or a user run "m {module_name}-check-api"
command, API check is performed. First, current.txt must have exactly
same signature with built sysprop_library module. Second, current.txt
must be compatible with latest.txt.

Build system emits a handy error message to generate/update those API
files, in case of missing or mismatching. Also, a script file for
freezing API files is introduced.

Bug: 131637873
Test: 1) m && boot blueline
Test: 2) m {sysprop_library} performs API check
Test: 3) manual test for check-api, freezing api
Change-Id: I9d25f5dc64299e666527ca8e23d7233966901c4e
Merged-In: I9d25f5dc64299e666527ca8e23d7233966901c4e
(cherry picked from commit 093f0eb133)
2019-08-21 02:21:52 +00:00
Jeongik Cha 21cf6f3c2e Merge "Elaborate comment on paltform_apis"
am: 8a6f25be55

Change-Id: I25cbfad8a864d118abfb2c608d0598c17fa32275
2019-08-20 07:52:47 -07:00
Treehugger Robot 8a6f25be55 Merge "Elaborate comment on paltform_apis" 2019-08-20 14:41:03 +00:00
Jeongik Cha 356dac4a17 Elaborate comment on paltform_apis
Bug: 132780927
Test: None
Change-Id: If0a4f97ea8f0af0c962fd963daad01adb3e5412f
2019-08-19 14:12:02 +09:00
Jaewoong Jung 7a6bb1d925 Merge "Add arch variant support to android_app_import."
am: a701d9071e

Change-Id: I7e20e0a6f4f0adaec0897fee3a371adcf78106d3
2019-08-16 09:26:58 -07:00
Jaewoong Jung a701d9071e Merge "Add arch variant support to android_app_import." 2019-08-16 16:01:48 +00:00
Jaewoong Jung 1ce9ac6755 Add arch variant support to android_app_import.
Bug: 128610294
Fixes: 138792623
Test: app_test.go
Change-Id: I47c80ec283ce58a0ce9b7d0af40844bd73e9d3f1
2019-08-15 16:26:18 -07:00
Colin Cross 31a23c657b Merge "Make javamicro a plugin"
am: fd26de477f

Change-Id: Ibb4cf9da092e3e04275a4d5f441e59d4fb6f9d02
2019-08-15 13:13:46 -07:00
Jaewoong Jung 0018e85876 Merge "Add filename property to android_app_import"
am: da6a7f458b

Change-Id: I328f0d0a22adef9f9e9376019bc674d62233f174
2019-08-15 13:13:28 -07:00
Treehugger Robot fd26de477f Merge "Make javamicro a plugin" 2019-08-15 18:18:38 +00:00
Jaewoong Jung da6a7f458b Merge "Add filename property to android_app_import" 2019-08-15 17:29:55 +00:00
Adrian Roos 991093b0cb Merge "API: Add baseline file for API check"
am: 2bfc6bf896

Change-Id: I463152cab6aa2a7052a63e703ab9c550fd1567f0
2019-08-14 08:11:24 -07:00
Adrian Roos 2bfc6bf896 Merge "API: Add baseline file for API check" 2019-08-14 14:39:18 +00:00
Colin Cross 2c4803b3cd Merge "Add 'Additional_manifest' property to merge other manifests"
am: 81c5f99808

Change-Id: If7311f20b7d574ce45dca7c4617877b941eb96bd
2019-08-13 18:22:39 -07:00
Colin Cross 81c5f99808 Merge "Add 'Additional_manifest' property to merge other manifests" 2019-08-14 00:47:27 +00:00
Colin Cross 6f205093a4 Make javamicro a plugin
Treat proto.type: "javamicro" as a plugin by explicitly passing the
path to protoc-gen-javamicro.  This allows removing the javamicro
customizations from the core plugin code.

Bug: 117607748
Test: m checkbuild
Change-Id: I703a8c1b788d77dcf6c656e79cab1c02171aa94e
2019-08-13 16:55:59 -07:00
Adrian Roos 14f75a9525 API: Add baseline file for API check
Bug: 139128921
Test: m apicheck
Change-Id: Ia10c51fdca10e2a3d1cc3a7bc6d798d447c7b729
2019-08-13 14:37:21 +00:00
changho.shin b5432b7a3d Add 'Additional_manifest' property to merge other manifests
This is equivalent to 'LOCAL_FULL_LIBS_MANIFEST_FILES' in Make.

Fixes: 123374442
Test: m -j
Change-Id: Ic4b40a08f2454687c74949020598651acea3b2dd
2019-08-13 08:30:00 +00:00
Colin Cross e68e5548e4 Add docs.zip output tag to droiddoc
Let genrules access the docs.zip output using ":module{.docs.zip}".

Bug: 138396395
Test: m checkbuild
Change-Id: I71e22147a596227f21826d875926b8b2ad1c74c1
2019-08-12 14:08:02 -07:00
vichang adf1a128b0 Merge "Add new core-icu4j after separating icu4j from core-libart"
am: dfee9b4364

Change-Id: Ia46581e56d89d19e06511f9df6eedf8a5ea0d785
2019-08-12 09:11:38 -07:00
vichang dfee9b4364 Merge "Add new core-icu4j after separating icu4j from core-libart" 2019-08-12 15:36:50 +00:00
Colin Cross f3d807778d Merge changes I918b4878,I85238d93,Iefee8a91
am: a48f8c8070

Change-Id: Icaea636b21c37c1017d11f104b100805c77459ab
2019-08-08 17:50:47 -07:00
Treehugger Robot a48f8c8070 Merge changes I918b4878,I85238d93,Iefee8a91
* changes:
  Add an output file tag for proguard dictionaries
  Add InstallBypassMake
  Document wokaround for yama ptrace restrictions
2019-08-09 00:12:27 +00:00
Victor Chang 07b5b4cdb8 Add new core-icu4j after separating icu4j from core-libart
Bug: 138994281
Test: m droid
Change-Id: I1e9fe3e344dcdde14fe4880a19440c5085c092e5
2019-08-08 16:02:02 +01:00
Anna Trostanetski eb2c46d576 Merge "Create a module that extracts and installs compat_config."
am: bc93803081

Change-Id: I46d1844f3c4496b1c978fdb3a9894098130fee6e
2019-08-07 09:34:25 -07:00
atrost db25ac07a5 Create a module that extracts and installs compat_config.
Currently it extracts from the provided jar file compat/compat_config.xml
(generated by compat-changeid-annotation-processor) and installs on
/system/etc/sysconfig.
Future improvements:
 - Merge all the configs going for the system image into one, so that
   duplicate change ids across modules are failing the build instead of
   runtime.
 - Support uploading the config onto APEX for APEX modules.

Test: flashed device locally, config files found and read by
com.android.server.compat.CompatConfig.
Bug: 138222363

Change-Id: I64b11fdc466f746702e7e73f612794e024de2288
2019-08-06 19:21:46 +01:00
Colin Cross 2d975b197e Add an output file tag for proguard dictionaries
Allow modules to depend on the proguard dictionary of another module
using module{.proguard_map}.

Bug: 122332855
Test: m checkbuild
Change-Id: I918b487872c1a8ef8a51c0b994277efb0512d157
2019-08-06 09:45:04 -07:00
Jeongik Cha a741ebf342 Merge "Add a rule about platform_apis"
am: 8a64f8c907

Change-Id: Ifdd8bd693fee625f63db403ce7a4dbc9209eb398
2019-07-30 18:33:08 -07:00
Jeongik Cha 8a64f8c907 Merge "Add a rule about platform_apis" 2019-07-31 01:09:35 +00:00
Sasha Smundak 61272795a7 Merge "Support source code cross-referencing for C++ and Java"
am: 247de68b89

Change-Id: I5284d9be9865e95671ce8ec1927f74059f7fdf44
2019-07-29 18:13:05 -07:00
Treehugger Robot 247de68b89 Merge "Support source code cross-referencing for C++ and Java" 2019-07-30 00:13:12 +00:00
Mathieu Chartier 9302d5c78a Merge "Specify boot image format to be lz4hc"
am: 460bf6ae95

Change-Id: Iac2a4275e0998b8ea430f24b8d784db80e0aa94e
2019-07-29 15:15:44 -07:00
Jeongik Cha 538c0d0c29 Add a rule about platform_apis
As sdk_check.mk checks, soong starts to check every app.
If sdk_version is empty, platform_apis must be true.
If sdk_version is not empty, platform_apis must be false.

Test: soong test
Test: m
Bug: 132780927
Change-Id: I7ba702d616404d155f8ac40cd008828663ad1488
2019-07-29 20:48:30 +09:00
Mathieu Chartier 54fd807267 Specify boot image format to be lz4hc
Reduce boot image space taken from 28803072B -> 9572352B (-20MB).

No reason to have this be configurable yet.

Test: ls -l $OUT/system/framework/*/apex*.art | awk '{s += $5} END {print s}'
Bug: 77863440

Change-Id: I280b740dfbd001109ce1e288e395595f21567aa6
2019-07-26 13:51:43 -07:00
Jiyong Park ccca43f986 Merge "Revert "Revert "Split Java libraries per apex"""
am: c89fe6253f

Change-Id: I490b09e3a7b2ef00aad4defaa8c6b100ef249453
2019-07-26 09:39:51 -07:00
Sasha Smundak 2a4549ec98 Support source code cross-referencing for C++ and Java
Use Kythe (https://kythe.io) to build cross reference for the Android
source code. ~generate the input for it during the build. This is done
on demand: if XREF_CORPUS environment variable is set, build emits a
Ninja rule to generate Kythe input for each compilation rule. It
also emits two consolidation rules (`xref_cxx` and `xref_java`),
that depend on all Kythe input generation rules for C++ and Java.

The value of the XREF_CORPUS environment variable is recorded in the
generated files and thus passed to Kythe. For the AOSP master branch it is
`android.googlesource.com/platform/superproject`, so the command to build
all input for Kythe on that branch is:
```
XREF_CORPUS=android.googlesource.com/platform/superproject m xref_cxx xref_java
```

Each Kythe input generation rule generates a single file with .kzip
extension. Individual .kzip files have a lot of common information, so
there will be a post-build consolidation step run to combine them.
The consolidated .kzip file is then passed to Kythe backend.

The tools to generate .kzip files are provided by Kythe (it calls them
'extractors'). We are going to build them in toolbuilding branches
(clang-tools and build-tools) and check them in as binaries into master
and other PDK branches:
For C++,  `prebuilts/clang-tools/linux-x86/bin/cxx_extractor`
for Java, `prebuilts/build-tools/common/framework/javac_extractor.jar`

Bug: 121267023
Test: 1) When XREF_CORPUS is set, build generates Ninja rules to create
.kzip files; 2) When XREF_CORPUS is set, building
`xref_cxx`/`xref_java` creates .kzip files; 3) Unless XREF_CORPUS is
set, build generates the same Ninja rules as before

Change-Id: If957b35d7abc82dbfbb3665980e7c34afe7c789e
2019-07-26 09:16:47 -07:00
Jiyong Park 7f7766d5ee Revert "Revert "Split Java libraries per apex""
This reverts commit f0f7ca8335.

Bug: 138182343
Test: apex_test added
Change-Id: I5c8a0935ac0f456137c8656815e220b0e7848a5d
2019-07-26 14:19:38 +09:00