Commit Graph

1456 Commits

Author SHA1 Message Date
Elliott Hughes
34b49d1402 Use toybox md5sum instead of md5 on macOS.
Test: builds locally
Change-Id: I04aa52de96e0525a44331cb0c057a8e18a95891d
2019-09-06 14:42:24 -07:00
Martin Stjernholm
242d9ed1ca Update dexpreopt for the ART APEX name change.
am: cc4b0ad706

Change-Id: I925557842275381d5a8754771a39cf72821628f0
2019-09-02 03:43:53 -07:00
Martin Stjernholm
cc4b0ad706 Update dexpreopt for the ART APEX name change.
Test: Build & boot
Bug: 135753770
Exempt-From-Owner-Approval: Approved internally
Change-Id: I3aac9112b022cce3ef8cfdf4bdbbed8bb0c8f4c7
Merged-In: I3aac9112b022cce3ef8cfdf4bdbbed8bb0c8f4c7
2019-08-30 17:47:30 +01:00
Treehugger Robot
7153b767a5 Merge changes from topic "drop_circular_dep"
* changes:
  Remove srcs_lib and srcs_lib_whitelist_pkgs
  Remove the automatic dependency to framework-res.apk for R/Manifest
  Prepare to be able to put framework-res in srcs
2019-08-30 13:47:31 +00:00
Jiyong Park
2867f766d4 Merge changes from topic "drop_circular_dep" into stage-aosp-master
* changes:
  Remove srcs_lib and srcs_lib_whitelist_pkgs
  Remove the automatic dependency to framework-res.apk for R/Manifest
  Prepare to be able to put framework-res in srcs
2019-08-30 05:14:21 +00:00
Pete Gillin
82639482fa Merge "Normalize and validate the java_version property."
am: 17f4728d4b

Change-Id: Ib1caaf9cbe29cfee6bbffa54acdd3aaabaf59e20
2019-08-29 11:32:00 -07:00
Treehugger Robot
17f4728d4b Merge "Normalize and validate the java_version property." 2019-08-29 18:15:07 +00:00
Anna Trostanetski
d5c734f2c3 Merge "Move platform compat config to their own directory."
am: c772405d75

Change-Id: Ia8037254a105de27bcd6c871fa1a3ef2858a0826
2019-08-29 10:08:30 -07:00
Pete Gillin
4e8b48a055 Normalize and validate the java_version property.
There are two parts to this change.

Normalization: If a module specifies 'java_version: "9"', this is now
normalized into 'java_version: "1.9"'. Users might reasonably assume
that "9" should be valid, since javac treats them as synonyms (and, in
fact, the javac documentation lists "9" as a valid value but doesn't
mention "1.9"). However, the soong code that triggers JPMS support
(i.e. setting -system rather than --boot-class-path) looks for the
string "1.9", so prior to this change modules specifying "9" would
fail with a confusing error ('javac: option --boot-class-path not
allowed with target 1.9'). Normalizing "9" to "1.9" fixes this. (The
change normalizes the other supported values, too, for consistency.)

Validation: This change also makes the build fail-fast with a clear
error message for invalid values. In particular, modules specifying
"10" or "11" fail with an explicit message that this is not supported,
in anticipation of the switch to OpenJDK 11. Prior to this change,
modules setting those values would get the confusing
'--boot-class-path not allowed' error described about since JPMS
support would not be triggered. (That could be fixed by changing the
JPMS logic to trigger on "10" and "11", but that would be dangerous
since support in the rest of the system for v54 and v55 class files is
unproven: it is better to fail explicitly.) (This change also makes it
fail-fast for any unrecognized values.)

Test: make java
Test: make targets with java_version set to "1.8", "8", "1.9", and "9", all succeed ("9" fails without this change)
Test: make targets with java_version set to "10" and "11", fail with the explicit "not supported" message
Test: make target with java_version set to "xxx", fails fast with the "unrecognized" message
Bug: 131683177
Change-Id: I2f5eb496c29d7736c68c01401c3f0967aeae99fc
2019-08-29 16:10:04 +01:00
atrost
87901b055b Move platform compat config to their own directory.
This prevents SystemConfig from trying to read them. Also removed ' ' prefix+postfix when creating an empty config.
Bug: 140074769
Bug: 140092095
Test: Flashed device, no more "SystemConfig: Tag compat-change is unknown..." warnings in logcat

Change-Id: I374826526fe3e4555474688b65a0be7253c6dd8c
2019-08-29 13:46:41 +00:00
Jiyong Park
01d5401dc0 Remove srcs_lib and srcs_lib_whitelist_pkgs
They are no longer used. Sources are provided via filegroup.

Also removing the SrcDependency interface as it is no longer used.

Bug: 135922046
Test: m
Merged-In: I81f9614d20fbdd2f7d18340d6dbdb592e7acde06
(cherry picked from commit fa21cba64a)
Change-Id: I81f9614d20fbdd2f7d18340d6dbdb592e7acde06
2019-08-29 15:54:29 +09:00
Jiyong Park
0650aca86a Remove the automatic dependency to framework-res.apk for R/Manifest
framework-minus-apex and framework-annotation-proc had automatic
dependency to framework-res.apk to get the generated R.java and
Manifest.java as their inputs.

That is no longer needed as the sources are fed from framework-srcs
filegroup.

Bug: 70046217
Test: m

Merged-In: Ibb03db01c177d6e908cbbdf91f18be8744f02c03
(cherry picked from commit 8cc55bdffe)
Change-Id: Ibb03db01c177d6e908cbbdf91f18be8744f02c03
2019-08-29 15:54:23 +09:00
Jiyong Park
4c61d97457 Prepare to be able to put framework-res in srcs
This change introduces two changes required to put
framework-res explicitly in srcs property, without relying on the build
system to specially add framework-res as a dependency to
framework-minus-apex, etc.

1) R.java and Manifest.java generated from aapt were packaged to the file
R.jar directly under the gen directory. With this change, the file
becomes android/R.srcjar under the gen directory.

2) android_app module now overrides OutputFileProducer interface so that
it can recognize "{.aapt.srcjar}" tag to reference the generated srcjar file.

Being able to put framework-res in srcs allows us to pass all the source
files (both in the source tree and the ones generates) via a filegroup.
Previously, the source files could only be passed via the java_library
module type. This caused a circular dependency problem when the java
library was used as an input (src_libs) of the droiddoc module. Using
filegroup eliminates the circular dependency.

Bug: 70046217
Test: m

Merged-In: I9ab6116bcc6fa3da60933d427575463b05ae69b4
(cherry picked from commit 94f37f33ed)
Change-Id: I9ab6116bcc6fa3da60933d427575463b05ae69b4
2019-08-29 15:54:17 +09:00
Jiyong Park
b5ddfa9219 Remove srcs_lib and srcs_lib_whitelist_pkgs
They are no longer used. Sources are provided via filegroup.

Also removing the SrcDependency interface as it is no longer used.

Bug: 135922046
Test: m
Merged-In: I81f9614d20fbdd2f7d18340d6dbdb592e7acde06
(cherry picked from commit fa21cba64a)
Change-Id: I81f9614d20fbdd2f7d18340d6dbdb592e7acde06
2019-08-29 13:58:40 +09:00
Jiyong Park
289206594c Remove the automatic dependency to framework-res.apk for R/Manifest
framework-minus-apex and framework-annotation-proc had automatic
dependency to framework-res.apk to get the generated R.java and
Manifest.java as their inputs.

That is no longer needed as the sources are fed from framework-srcs
filegroup.

Bug: 70046217
Test: m

Merged-In: Ibb03db01c177d6e908cbbdf91f18be8744f02c03
(cherry picked from commit 8cc55bdffe)
Change-Id: Ibb03db01c177d6e908cbbdf91f18be8744f02c03
2019-08-29 13:58:18 +09:00
Jiyong Park
b7c639e0b3 Prepare to be able to put framework-res in srcs
This change introduces two changes required to put
framework-res explicitly in srcs property, without relying on the build
system to specially add framework-res as a dependency to
framework-minus-apex, etc.

1) R.java and Manifest.java generated from aapt were packaged to the file
R.jar directly under the gen directory. With this change, the file
becomes android/R.srcjar under the gen directory.

2) android_app module now overrides OutputFileProducer interface so that
it can recognize "{.aapt.srcjar}" tag to reference the generated srcjar file.

Being able to put framework-res in srcs allows us to pass all the source
files (both in the source tree and the ones generates) via a filegroup.
Previously, the source files could only be passed via the java_library
module type. This caused a circular dependency problem when the java
library was used as an input (src_libs) of the droiddoc module. Using
filegroup eliminates the circular dependency.

Bug: 70046217
Test: m

Merged-In: I9ab6116bcc6fa3da60933d427575463b05ae69b4
(cherry picked from commit 94f37f33ed)
Change-Id: I9ab6116bcc6fa3da60933d427575463b05ae69b4
2019-08-29 13:57:32 +09:00
Jaewoong Jung
6e104c7ee5 Merge changes Ife12ba69,Ibf910262
am: 7ca5576905

Change-Id: I4e486be727b3be79afac66644cc3e9967e43bd45
2019-08-28 18:17:30 -07:00
Jaewoong Jung
b28eb5fdcb Implement android_test_import
Test: app_test.go, prebuilt CTS tests
Fixes: 132371143
Change-Id: Ife12ba691dfa597dde90faf0957224a6f444e139
2019-08-28 14:58:19 -07:00
Jaewoong Jung
e0dc8dfd22 AndroidMkEntries minor refactoring.
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
2019-08-28 13:07:03 -07:00
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