Commit Graph

3399 Commits

Author SHA1 Message Date
Paul Duffin
ff6e55b301 Merge "Fix build breakages when WITHOUT_CHECK_API=true" into rvc-dev am: 4c21463f04
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/11931085

Change-Id: Ibf4d31078a4a206c7296241aef8c06cfa7b0becb
2020-06-22 12:50:21 +00:00
Paul Duffin
10269f1da9 Fix build breakages when WITHOUT_CHECK_API=true
Bug: 158578354
Test: export WITHOUT_CHECK_API=true
      m checkbuild
Change-Id: I7b5fff40b870c9d754f779ff1c3314bac7e42440
Merged-In: I7b5fff40b870c9d754f779ff1c3314bac7e42440
2020-06-22 12:40:24 +00:00
Paul Duffin
4c21463f04 Merge "Fix build breakages when WITHOUT_CHECK_API=true" into rvc-dev 2020-06-22 12:39:41 +00:00
Paul Duffin
49d3a523bf Instrument the java_sdk_library implementation library
Bug: 159241638
Test: build jacoco-report-classes-all.jar with and without
      prebuilt for framework-tethering. Ensure it contains the
      jacoco-report-classes.jar for framework-tethering.
Change-Id: I8183bd9613dfaf0ded5f9ac36567d5d29a8941e8
Merged-In: I8183bd9613dfaf0ded5f9ac36567d5d29a8941e8
2020-06-20 11:38:22 +01:00
Paul Duffin
9ee66da850 Fix check-boot-jars when a boot jar is provided by prebuilt
Previously, when a boot jar was provided by a java_sdk_library_import
module the check-boot-jars check failed because the file it depended on
was not available. In an incremental build the build failed due to the
file in the out directory not having a rule to generate it.

That was because the module was named prebuilt_<module>.<apex> instead
of <module>.<apex>. This was fixed by simply removing prebuilt_ prefix
from the name if it was present.

After fixing that the check-boot-jars still did not work properly
because it was expecting a jar file containing .class files but instead
was given a jar file containing .dex files which meant the check did
not work properly.

This was fixed by defining a new ApexDependency interface for use by
the apex/apex.go code to use instead of java.Dependency for generating
the androidmk entries. The *SdkLibraryImport type then implemented
those, by delegating to the implementation library.

Bug: 158304459
Bug: 159112414
Test: m check-boot-jars
      m checkbuild
	  manual inspection of the .jar file used by check-boot-jars to
	  ensure it contained .class files and not .dex files.
Change-Id: I545c5c9072dd472337d2f9b4dfdf08f53c981662
Merged-In: I545c5c9072dd472337d2f9b4dfdf08f53c981662
2020-06-20 11:38:08 +01:00
Yo Chiang
c2ade3fb63 Merge "java_sdk_library: Require xml permission file only if it is generated" am: 34753055d1 am: cdb20caaca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1324106

Change-Id: I5de0149b8c0afcab72c9c75cca6ae3c33d788402
2020-06-20 03:51:33 +00:00
Yo Chiang
34753055d1 Merge "java_sdk_library: Require xml permission file only if it is generated" 2020-06-20 03:19:17 +00:00
Ramy Medhat
0b85c50817 Merge "Add sandbox property to the javadoc rule." am: 997a2f5b4e am: a195919e38
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1335053

Change-Id: I31135dccd6451355fdaff3f86db309f45fc2a2a7
2020-06-20 01:58:49 +00:00
Ramy Medhat
997a2f5b4e Merge "Add sandbox property to the javadoc rule." 2020-06-20 01:33:24 +00:00
Colin Cross
8a3050e50d Merge changes I25c77994,I7da78ef4,I89197d0a am: 181c2a40d8 am: 7be9f60488
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1344320

Change-Id: I8b955daa70d3348ab011dee437ce028dd8c74a2f
2020-06-19 20:23:57 +00:00
Colin Cross
205a504053 Support adding extra lint checks
Add a lint.extra_check_modules property to list modules to use as
plugins to Lint.

Bug: 153485543
Test: m checkbuild
Change-Id: I25c7799438cfec43163e757637c65b8657488d36
Merged-In: I25c7799438cfec43163e757637c65b8657488d36
(cherry picked from commit 92e4b46af5)
2020-06-19 12:53:09 -07:00
Colin Cross
aaf58061a0 Allow kotlin modules to skip packaging the kotlin stdlib
Host tools like lint may package their own version of the kotlin
stdlib, and any jars loaded by them shouldn't contain the platform
version.  Add a static_kotlin_stdlib property that defaults to true
to allow building the module without staticalling including the kotlin
stdlib.

Bug: 153485543
Test: m ApiFinder
Change-Id: I7da78ef493806ce4ab0050e4ee9e8d330b0509c8
Merged-In: I7da78ef493806ce4ab0050e4ee9e8d330b0509c8
(cherry picked from commit 0b67a8bd0f)
2020-06-19 12:53:09 -07:00
Colin Cross
3791b45f67 Fix annotation processors in kotlin modules that generate resources
The kapt rule was only keeping the generated sources, and not the
generated classes directory.  The generated classes directory will
contain resources generated by the annotation processor and needs
to be added to the final jar.

Test: m ApiFinder
Bug: 153485543
Change-Id: I89197d0afcb1eee011c01aa400f9977e66f43768
Merged-In: I89197d0afcb1eee011c01aa400f9977e66f43768
(cherry picked from commit 9ca38d22a4)
2020-06-19 12:53:09 -07:00
Colin Cross
181c2a40d8 Merge changes I25c77994,I7da78ef4,I89197d0a
* changes:
  Support adding extra lint checks
  Allow kotlin modules to skip packaging the kotlin stdlib
  Fix annotation processors in kotlin modules that generate resources
2020-06-19 19:52:37 +00:00
Paul Duffin
e20f474e55 Merge "Instrument the java_sdk_library implementation library" am: 333cb9ea44 am: 076ff4db08
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1343578

Change-Id: I21aced434112c564b770feba6e6aa714db50ea4e
2020-06-19 18:42:32 +00:00
Paul Duffin
333cb9ea44 Merge "Instrument the java_sdk_library implementation library" 2020-06-19 18:20:28 +00:00
Paul Duffin
86672f6f4e Fix build breakages when WITHOUT_CHECK_API=true
Bug: 158578354
Test: export WITHOUT_CHECK_API=true
      m checkbuild
Change-Id: I7b5fff40b870c9d754f779ff1c3314bac7e42440
2020-06-19 19:15:29 +01:00
Makoto Onuki
4ef6bce3cf Merge "Disable "show member in hidden parent" metalava error" am: 56ecbaef4c am: 7d91b8867c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1340546

Change-Id: Ibcd5a9333017685404f5a97b18bb490ad0fc600f
2020-06-18 23:18:28 +00:00
Colin Cross
92e4b46af5 Support adding extra lint checks
Add a lint.extra_check_modules property to list modules to use as
plugins to Lint.

Bug: 153485543
Test: m checkbuild
Change-Id: I25c7799438cfec43163e757637c65b8657488d36
2020-06-18 15:58:32 -07:00
Colin Cross
0b67a8bd0f Allow kotlin modules to skip packaging the kotlin stdlib
Host tools like lint may package their own version of the kotlin
stdlib, and any jars loaded by them shouldn't contain the platform
version.  Add a static_kotlin_stdlib property that defaults to true
to allow building the module without staticalling including the kotlin
stdlib.

Bug: 153485543
Test: m ApiFinder
Change-Id: I7da78ef493806ce4ab0050e4ee9e8d330b0509c8
2020-06-18 15:58:32 -07:00
Colin Cross
9ca38d22a4 Fix annotation processors in kotlin modules that generate resources
The kapt rule was only keeping the generated sources, and not the
generated classes directory.  The generated classes directory will
contain resources generated by the annotation processor and needs
to be added to the final jar.

Test: m ApiFinder
Bug: 153485543
Change-Id: I89197d0afcb1eee011c01aa400f9977e66f43768
2020-06-18 15:58:28 -07:00
Makoto Onuki
56ecbaef4c Merge "Disable "show member in hidden parent" metalava error" 2020-06-18 22:57:48 +00:00
Makoto Onuki
1d5b713275 Disable "show member in hidden parent" metalava error
There are a quite few violations unfortunately, so let's disable it for now.
The plan is to fix all the issues in the internal master and enable it.

Bug: 159121253
Test: build / Tree hugger
Change-Id: I0b0ce937ecd17853b3bb32f7605310b21be77b31
2020-06-18 13:34:19 -07:00
Paul Duffin
296cf33171 Instrument the java_sdk_library implementation library
Bug: 159241638
Test: build jacoco-report-classes-all.jar with and without
      prebuilt for framework-tethering. Ensure it contains the
      jacoco-report-classes.jar for framework-tethering.
Change-Id: I8183bd9613dfaf0ded5f9ac36567d5d29a8941e8
2020-06-18 21:19:08 +01:00
Colin Cross
1e28e3c615 Add support for running Android lint on java and android modules.
Add a rule that runs Android lint on each java and android module
and produces reports in xml, html and text formats.

Bug: 153485543
Test: m out/soong/.intermediates/packages/apps/Settings/Settings-core/android_common/lint-report.html
Change-Id: I5a530975b73ba767fef45b257d4f9ec901a19fcb
Merged-In: I5a530975b73ba767fef45b257d4f9ec901a19fcb
(cherry picked from commit 014489c1e6)
2020-06-18 11:01:47 -07:00
Colin Cross
1c14b4ecf6 Consolidate adding common java properties
Use a method to add the properties that are present on all java modules.

Bug: 153485543
Test: m checkbuild
Change-Id: I7803b15eb0de810c8ab8d4b9acf2511935a26fb6
Merged-In: I7803b15eb0de810c8ab8d4b9acf2511935a26fb6
(cherry picked from commit ce6734e666)
2020-06-18 11:01:47 -07:00
Ramy Medhat
2f99eec459 Add sandbox property to the javadoc rule.
The sandbox property indicates whether metalava should only read
inputs explicitly specified on the command line. This CL adds the
property and sets the appropriate configuration for RBE depending
on whether the sandbox is set or not.

Test: built aosp_crosshatch-userdebug with/without RBE_METALAVA.
Change-Id: I7256d29f18e0af18dbe65d1c7dbbf62fd3d65f4c
2020-06-17 22:57:42 -04:00
Colin Cross
c65658301b Merge "Add support for running Android lint on java and android modules." am: a553358b34 am: 05394377ba
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1324098

Change-Id: Iae0b83aef382b116bedefa896e72d0c244046c61
2020-06-18 01:44:53 +00:00
Colin Cross
a553358b34 Merge "Add support for running Android lint on java and android modules." 2020-06-18 01:16:40 +00:00
Treehugger Robot
6b8f282d98 Merge "Consolidate adding common java properties" am: d7ffbb578d am: 6eb9a491ea
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1337094

Change-Id: I680fe974df8e68207c8bbb2bc0fce24635d4bdc8
2020-06-17 22:21:58 +00:00
Treehugger Robot
d7ffbb578d Merge "Consolidate adding common java properties" 2020-06-17 21:52:55 +00:00
Anton Hansson
71f093e485 Merge "Fix check-boot-jars when a boot jar is provided by prebuilt" am: 0e63a8e761 am: ac2a42054f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1341756

Change-Id: Ife514f78e7aea0b8ed05f74c21d3ce95054796cc
2020-06-17 20:02:20 +00:00
Paul Duffin
44b481b81b Fix check-boot-jars when a boot jar is provided by prebuilt
Previously, when a boot jar was provided by a java_sdk_library_import
module the check-boot-jars check failed because the file it depended on
was not available. In an incremental build the build failed due to the
file in the out directory not having a rule to generate it.

That was because the module was named prebuilt_<module>.<apex> instead
of <module>.<apex>. This was fixed by simply removing prebuilt_ prefix
from the name if it was present.

After fixing that the check-boot-jars still did not work properly
because it was expecting a jar file containing .class files but instead
was given a jar file containing .dex files which meant the check did
not work properly.

This was fixed by defining a new ApexDependency interface for use by
the apex/apex.go code to use instead of java.Dependency for generating
the androidmk entries. The *SdkLibraryImport type then implemented
those, by delegating to the implementation library.

Bug: 158304459
Bug: 159112414
Test: m check-boot-jars
      m checkbuild
	  manual inspection of the .jar file used by check-boot-jars to
	  ensure it contained .class files and not .dex files.
Change-Id: I545c5c9072dd472337d2f9b4dfdf08f53c981662
2020-06-17 16:59:43 +01:00
Jiyong Park
49062c89f9 Rename module -> module-lib
When sdk_version: "module_current" in an unbundled build, previously
prebuilt/sdk/current/module/android.jar was used. But that path is
wrong; we have prebuilt/sdk/current/module-lib/android.jar for the
module APIs. Fix the mismatch by changing the string name of the module
API from "module" to "module-lib".

Also, "system_server" for system server API is changed to
"system-server" to match with the path
/prebuilts/sdk/current/system-server/.

Bug: N/A
Test: https://android-build.googleplex.com/builds/forrest/run/L86100000601675127
Change-Id: I23e9befbd9592d3b22989c2c8fbf34d434273288
2020-06-17 21:31:00 +09:00
TreeHugger Robot
78bb73972d Merge "Installed APKs should not have prebuilt_ prefix" into rvc-dev 2020-06-16 23:27:33 +00:00
Treehugger Robot
6e28ab8c7a Merge "Installed APKs should not have prebuilt_ prefix" am: 001ad5a6fc am: 05cd5562f2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1339635

Change-Id: Ia2a3197e0b509387ff782bf7e295bff7e8b56471
2020-06-16 23:01:29 +00:00
Colin Cross
014489c1e6 Add support for running Android lint on java and android modules.
Add a rule that runs Android lint on each java and android module
and produces reports in xml, html and text formats.

Bug: 153485543
Test: m out/soong/.intermediates/packages/apps/Settings/Settings-core/android_common/lint-report.html
Change-Id: I5a530975b73ba767fef45b257d4f9ec901a19fcb
2020-06-16 15:44:16 -07:00
Treehugger Robot
001ad5a6fc Merge "Installed APKs should not have prebuilt_ prefix" 2020-06-16 22:34:29 +00:00
Alex Humesky
7072985393 Merge "Do not override "-g:source,lines" for host java binaries when PRODUCT_MINIMIZE_JAVA_DEBUG_INFO is set." am: c7f8b74365 am: 849ca22fe0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1339636

Change-Id: I482dee048952846d251168df148817e5b6c0efbd
2020-06-16 20:36:44 +00:00
Alex Humesky
c7f8b74365 Merge "Do not override "-g:source,lines" for host java binaries when PRODUCT_MINIMIZE_JAVA_DEBUG_INFO is set." 2020-06-16 20:08:58 +00:00
Anton Hansson
c3754ba042 Merge "Let APEX build against preferred java_sdk_library_import" into rvc-dev 2020-06-16 17:47:16 +00:00
Sasha Smundak
854c14f334 Installed APKs should not have prebuilt_ prefix
Bug: 159031374
Test: treehugger & manual
Merged-In: I48f2595781efc1303c777619e082ce7765b73038
Change-Id: I86d8036e277ef978256d0a69de0edbb30a2bc304
2020-06-16 10:29:18 -07:00
Sasha Smundak
57f0ee1fa9 Installed APKs should not have prebuilt_ prefix
Bug: 159031374
Test: treehugger & manual
Change-Id: I48f2595781efc1303c777619e082ce7765b73038
2020-06-16 09:41:02 -07:00
Yo Chiang
07d75070a6 java_sdk_library: Require xml permission file only if it is generated
Eliminates invalid LOCAL_REQUIRED_MODULES lines in the generated
Android.mk entries.

Bug: 7456955
Test: TH artifact noop
Test: Add unittest to java/androidmk_test.go
Test: m nothing and verify build rule doesn't contain invalid REQUIRED
Change-Id: Ic8d7e6d08181f6a24fd2aa86479bb9303cfd9be8
2020-06-16 19:20:23 +08:00
Paul Duffin
98c5d09541 Merge "Let APEX build against preferred java_sdk_library_import" am: e40383355b am: 86be0eafca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1331928

Change-Id: Ia4bb1dc336da459172dd74bedef7396085796dfc
2020-06-16 09:57:40 +00:00
Paul Duffin
f642a31ab5 Let APEX build against preferred java_sdk_library_import
If a java_sdk_library_import has a corresponding java_sdk_library then
make the java_sdk_library_import export both the xml and impl modules
created by the java_sdk_library.

Makes java_sdk_library_import consistent with java_sdk_library by
providing libraries within the same APEX access to the implementation
library instead of the stubs.

Bug: 158304459
Test: m nothing
      Test what happens when building com.android.tethering with and without
      a preferred "framework-tethering" java_sdk_library_import. Make sure that
      it does not change the generated APEX.
Merged-In: I2f4edea937ac377431a5696c92cbd467bded62ef
Change-Id: I2f4edea937ac377431a5696c92cbd467bded62ef
(cherry picked from commit eedc5d55ce)
2020-06-16 10:43:19 +01:00
Paul Duffin
e40383355b Merge "Let APEX build against preferred java_sdk_library_import" 2020-06-16 09:37:53 +00:00
Alex Humesky
2070e32eb9 Do not override "-g:source,lines" for host java binaries when PRODUCT_MINIMIZE_JAVA_DEBUG_INFO is set.
Test: Ran unittests
Change-Id: Ic061b4bf107bcd931813d69f6d72b521d79fbc35
2020-06-15 21:33:49 -04:00
Colin Cross
ce6734e666 Consolidate adding common java properties
Use a method to add the properties that are present on all java modules.

Bug: 153485543
Test: m checkbuild
Change-Id: I7803b15eb0de810c8ab8d4b9acf2511935a26fb6
2020-06-15 18:16:10 -07:00
Colin Cross
018f083b7a Remove inadvertently commited java/lint_defaults.txt
The manual merge conflict resolution in
Ie8ad8a9e91bf4a86c90060b15dc88f9860539637 accidentally picked up
an unintended new file.

Test: m checkbuild
Change-Id: I0bf7235e737e96e96f93761712cc1de3365f3fe6
2020-06-15 17:16:50 -07:00