Commit Graph

3399 Commits

Author SHA1 Message Date
Roland Levillain
23db998b8a Merge "Introduce product variables to select Java code coverage paths in Soong." am: d38ab21c6e am: f76e10aa2b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1326321

Change-Id: I3f66962252aac710d66f3f26908a7b5f530fa712
2020-06-15 19:07:06 +00:00
Roland Levillain
d38ab21c6e Merge "Introduce product variables to select Java code coverage paths in Soong." 2020-06-15 18:41:03 +00:00
Chris Gross
ca7a598d67 Merge "Use EMMA_INSTRUMENT_FRAMEWORK for apex framework libs." am: a7a36e22fb am: efa623c7e4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1320475

Change-Id: I2b9bca7a7d7107353541a36d5feeea492fc5ed87
2020-06-15 17:18:39 +00:00
Chris Gross
a7a36e22fb Merge "Use EMMA_INSTRUMENT_FRAMEWORK for apex framework libs." 2020-06-15 16:50:59 +00:00
Colin Cross
95f7b34e8e Use inclusive language in build/soong
Bug: 158889297
Test: m checkbuild
Change-Id: Id07890b7cbc2397291a658ca00e86b43c743aafc
Merged-In: Id07890b7cbc2397291a658ca00e86b43c743aafc
(cherry picked from commit 440e0d0542)
2020-06-15 09:46:31 -07:00
Colin Cross
9855207d0e Define Soong phony rules in Make
To support dist-for-goals in Soong, we need to define all phony rules
in Make so that dist-for-goals can insert additional dependencies on
them.  Collect all the phony rules in phonySingleton and write them
out as Make rules when Soong is embedded in Make, or as blueprint.Phony
rules when Soong is run standalone.

Bug: 153485543
Test: m checkbuild
Change-Id: I68201eff30744b0f487fc4f11f033767b53a627d
Merged-In: I68201eff30744b0f487fc4f11f033767b53a627d
(cherry picked from commit c3d87d3112)
2020-06-15 09:46:31 -07:00
Colin Cross
f5f663b0c3 Remove most paths from java.TestConfig
Now that tests don't need to specify every path passed to
PathForSource or PathForModuleSrc, remove most of them from
java.TestConfig.  Leave a few that are globbed by lots of tests,
and move a few that are globbed by a single test into the tests.

Bug: 153485543
Test: all soong tests
Change-Id: Ica91d7203a6a7dbca0fd4fed84c78f149b8699e1
Merged-In: Ica91d7203a6a7dbca0fd4fed84c78f149b8699e1
(cherry picked from commit 238c1f3903)
2020-06-15 09:46:31 -07:00
Paul Duffin
eedc5d55ce 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.
Change-Id: I2f4edea937ac377431a5696c92cbd467bded62ef
2020-06-15 16:57:09 +01:00
Paul Duffin
0c5bae5e83 java_sdk_library: Add system-server scope
Bug: 155164730
Test: m nothing
Merged-In: I49a2dab5c064b05f16691a3fae65f2b4ffc53bfd
Change-Id: I49a2dab5c064b05f16691a3fae65f2b4ffc53bfd
(cherry picked from commit 5a757b1ebb)
2020-06-15 15:02:19 +01:00
Roland Levillain
ada1270ef8 Introduce product variables to select Java code coverage paths in Soong.
Introduce product variables `JavaCoveragePaths` and
`JavaCoverageExcludePaths` (resp. populated from environment variables
`JAVA_COVERAGE_PATHS` and `JAVA_COVERAGE_EXCLUDE_PATHS`). Use them to
control which Java modules are candidate for instrumentation based on
their source path. By default (when `JavaCoveragePaths` is empty),
have all Java module be candidate for instrumentation, to preserve the
existing behavior.

Test: export EMMA_INSTRUMENT=true \
        && export EMMA_INSTRUMENT_FRAMEWORK=true \
        && export JAVA_COVERAGE_PATHS=art \
        && m
Bug: 158212027
Bug: 156284897
Change-Id: Ibe9c1f41ed6110867411952689c5a7ad6536f277
2020-06-15 11:57:31 +01:00
Ulyana Trafimovich
7c7fd703b6 Merge "Rename dexpreopt.config field to bring it in sync with Make." am: f3f654a764 am: eb30a00be9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1331926

Change-Id: I752a534fb0d2bb977755daf63145229daed29fe7
2020-06-15 08:59:49 +00:00
Colin Cross
973d6813cd manual merge of 2ef16cfcd4 to rvc-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Bug: None
Change-Id: I768c3fe568fee764cb0b533e73a3fef719adf30c
2020-06-12 17:49:09 -07:00
Ulya Trafimovich
6e82748bd6 Rename dexpreopt.config field to bring it in sync with Make.
Different names of the same field in Make and in Soong resulted in
the field being dropped when unmarshalling the JSON from Make to Soong.
As a result, the list of optional used libraries for Make modules was
always empty.

Test: lunch aosp_cf_x86_phone-userdebug && m
Test: Cherry-pick in internal master and observe that the logcat error
    "ClassLoaderContext shared library size mismatch" for GoogleDialer
    has disappeared:
    terminal-1 $ lunch cf_x86_phone-userdebug && m && launch_cvd
    terminal-2 $ adb wait-for-device && adb root \
        && adb logcat | grep 'size mismatch'
    (nothing after the change, one error message before the change)

Bug: 132357300
Change-Id: I57820646fa7c1d8af01b2cbc8a3521da450719c0
2020-06-12 14:47:50 +01:00
Chris Gross
190fdc0b1a Use EMMA_INSTRUMENT_FRAMEWORK for apex framework libs.
Static coverage builds that trigger a dexpreopt target for a bootclasspath
jar can fail since coverage for jars in apexes are turned on by default
which requires jacocoagent to be present on the bootclasspath.

Fix this by using EMMA_INSTRUMENT_FRAMEWORK to conditionally instrument
framework libs in apexes.

Bug: 157737183
Test: EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true m -j droid
Change-Id: I2c323553e08741bc46b196bc3bb860614bc3f85b
2020-06-11 23:21:47 +00:00
Colin Cross
440e0d0542 Use inclusive language in build/soong
Test: m checkbuild
Change-Id: Id07890b7cbc2397291a658ca00e86b43c743aafc
2020-06-11 15:33:16 -07:00
Colin Cross
4aa6fbc9d5 Define Soong phony rules in Make am: c3d87d3112 am: 970fd93b92
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1325397

Change-Id: I44eba43a7c316b9cb9696d02962a84d0c1d8ebed
2020-06-11 20:47:03 +00:00
Colin Cross
300b266264 resolve merge conflicts of a73ffc21e0 to rvc-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Bug: None
Change-Id: Ie8ad8a9e91bf4a86c90060b15dc88f9860539637
2020-06-11 12:12:30 -07:00
Colin Cross
970fd93b92 Define Soong phony rules in Make am: c3d87d3112
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1325397

Change-Id: Ia6a1f96c75c660525127c25472327dd78ba58124
2020-06-11 18:42:02 +00:00
Colin Cross
a73ffc21e0 Remove most paths from java.TestConfig am: 238c1f3903
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1325395

Change-Id: I6098307daea68b5d5a56cc83f51934b7dd7d4cf4
2020-06-11 18:41:57 +00:00
Colin Cross
1adc63ec3d Merge changes from topics "dist-for-goals", "soong-dist", "tests-PathForSource"
* changes:
  Add DistForGoal to MakeVarsContext
  Define Soong phony rules in Make
  Remove paths from cc.TestConfig
  Remove most paths from java.TestConfig
  Allow tests to bypass PathForSource existence checks
2020-06-11 18:36:18 +00:00
Ramy Medhat
7f2006c091 Turn on metalava sandbox warning in all droiddoc metalava invocations.
Bug: b/156613606
Test: built aosp crosshatch userdebug with RBE_METALAVA=1 and dependency
file support.

Change-Id: I5ca637984429df12fe05bb07f5db154be9b24f97
Merged-In: I5ca637984429df12fe05bb07f5db154be9b24f97
2020-06-11 17:57:22 +00:00
Ramy Medhat
8e9b63b6ff Add support for Metalava implicit dependencies for remote execution.
Bug: b/156613606
Test: built aosp crosshatch userdebug with RBE_METALAVA=1
Change-Id: Ic64d98785e34717ef9bdad62b4885085f84f132a
Merged-In: Ic64d98785e34717ef9bdad62b4885085f84f132a
2020-06-11 17:57:12 +00:00
Ramy Medhat
46bad760ec Add sourcepath to inputs of remoteable metalava action.
Bug: b/156613606
Test: presubmit
Change-Id: Idd77abddac0a676302226eb62883c74d5d7489af
Merged-In: Idd77abddac0a676302226eb62883c74d5d7489af
2020-06-11 17:55:36 +00:00
Ulyana Trafimovich
12a10b050f Merge "Fix on-device paths to used libraries in dexpreopt." am: 69bd288409 am: 73759b9a5d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1326319

Change-Id: Iec7143aa2f61c9d5b7b61e8d9510db3a573d794a
2020-06-11 14:23:22 +00:00
Ulyana Trafimovich
69bd288409 Merge "Fix on-device paths to used libraries in dexpreopt." 2020-06-11 13:47:19 +00:00
Ulyana Trafimovich
edb865e119 Merge "Remove host boot image from boot.zip." am: 5cdb051ce3 am: 46560dfdf3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1328974

Change-Id: I1b2093fd4b9d08eccfe88ab903c917e0c073584e
2020-06-11 10:43:57 +00:00
Martin Stjernholm
85f583ac63 Merge changes from topics "target-build-unbundled", "unbundled-preopt" am: fa096325fe am: f80b698957
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1324491

Change-Id: I18d5c7990c2a438287a420fe70428512df42ed97
2020-06-11 10:43:13 +00:00
Ulyana Trafimovich
5cdb051ce3 Merge "Remove host boot image from boot.zip." 2020-06-11 10:04:58 +00:00
Martin Stjernholm
fa096325fe Merge changes from topics "target-build-unbundled", "unbundled-preopt"
* changes:
  Don't disable dexpreopting implicitly in unbundled builds.
  Add TARGET_BUILD_UNBUNDLED as a variable to control builds.
2020-06-11 10:01:59 +00:00
Ramy Medhat
1fb3cd8496 Add support for the remote execution of metalava actions.
Bug: b/156613606
Test: built aosp crosshatch userdebug with RBE_METALAVA=1
Change-Id: I3d42d75b4522f99ff95ce8c997ead782e4322f6e
Merged-In: I3d42d75b4522f99ff95ce8c997ead782e4322f6e
2020-06-11 00:52:07 -04:00
Jaewoong Jung
9c646b161e Use Targets[Android] instead of DeviceArch funcs. am: 829b7135f3
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/11820097

Change-Id: I216e04656108c7d7c7b35d39fa70f82ef656d38a
2020-06-10 21:50:16 +00:00
Jaewoong Jung
829b7135f3 Use Targets[Android] instead of DeviceArch funcs.
NDK prebuit script doesn't set device arch product variables, and so
causes SupportedAbis to panic.

Fixes: 158673325
Test: app_test.go, apex_test.go
Test: build-ndk-prebuilts.sh
Change-Id: I8331ef5bca12301318510ec9712770fd8d3a26a9
2020-06-10 12:30:51 -07:00
Elliott Hughes
f48d50bfb7 Merge "Remove TARGET_PREFER_32_BIT support." am: a82ad479a4 am: 274a80c492
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1289612

Change-Id: I8862a464aa374922dadedd68e47d1705b8ce5836
2020-06-10 18:36:54 +00:00
Elliott Hughes
a82ad479a4 Merge "Remove TARGET_PREFER_32_BIT support." 2020-06-10 18:07:06 +00:00
Ulya Trafimovich
9ab4933a1c Remove host boot image from boot.zip.
Host boot image is not needed in boot.zip, which is used for the ART
APK scanner and runs on target. This commit also changes the paths in
the boot.zip by removing OS subdirectory.

Test: lunch aosp_cf_x86_phone-userdebug && m
Test: m out/soong/vsoc_x86/dex_bootjars/boot.zip \
    && zipinfo -1 out/soong/vsoc_x86/dex_bootjars/boot.zip
    system/framework/x86/boot-framework.art
    system/framework/x86/boot-framework.oat
    system/framework/x86/boot-ext.art
    system/framework/x86/boot-ext.oat
    system/framework/x86/boot-core-icu4j.art
    system/framework/x86/boot-core-icu4j.oat
    system/framework/x86/boot-telephony-common.art
    system/framework/x86/boot-telephony-common.oat
    system/framework/x86/boot-voip-common.art
    system/framework/x86/boot-voip-common.oat
    system/framework/x86/boot-ims-common.art
    system/framework/x86/boot-ims-common.oat
    system/framework/x86/boot-framework-atb-backward-compatibility.art
    system/framework/x86/boot-framework-atb-backward-compatibility.oat
    system/framework/x86/boot-framework.vdex
    system/framework/x86/boot-ext.vdex
    system/framework/x86/boot-core-icu4j.vdex
    system/framework/x86/boot-telephony-common.vdex
    system/framework/x86/boot-voip-common.vdex
    system/framework/x86/boot-ims-common.vdex
    system/framework/x86/boot-framework-atb-backward-compatibility.vdex

Change-Id: Idf0541908059c454348181d90b0b3e5d6d350057
2020-06-10 15:54:23 +01:00
Ulya Trafimovich
9f3052cd78 Fix on-device paths to used libraries in dexpreopt.
Test: lunch aosp_cf_x86_phone-userdebug && m
Test: Cherry-pick in internal master and check that on-device path to
    com.google.android.dialer.support.jar now is on /product partition
    (as it should be) and not on /system:
    $ oatdump \
        --instruction-set=x86 \
        --oat-file=out/target/product/vsoc_x86/product/priv-app/GoogleDialer/oat/x86/GoogleDialer.odex \
      | grep '^classpath' \
      | grep -o '[^[]*com.google.android.dialer.support.jar'
    /product/framework/com.google.android.dialer.support.jar

Bug: 132357300
Change-Id: Idf279ac713b9b29ff3a29f1b072bc1d57f48db26
2020-06-10 14:53:36 +01:00
Paul Duffin
01c577968a Merge "java_sdk_library: Add system-server scope" into rvc-dev am: 4754d4451c
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/11705588

Change-Id: I6c2a7000cf7b46dcef8ed476d6e96ffc7e441ed4
2020-06-10 13:12:51 +00:00
Paul Duffin
4754d4451c Merge "java_sdk_library: Add system-server scope" into rvc-dev 2020-06-10 13:01:31 +00:00
Jiyong Park
d4873a6b68 Merge "dex_import that isn't available for platform isn't installed" 2020-06-09 23:02:10 +00:00
Colin Cross
c3d87d3112 Define Soong phony rules in Make
To support dist-for-goals in Soong, we need to define all phony rules
in Make so that dist-for-goals can insert additional dependencies on
them.  Collect all the phony rules in phonySingleton and write them
out as Make rules when Soong is embedded in Make, or as blueprint.Phony
rules when Soong is run standalone.

Test: m checkbuild
Change-Id: I68201eff30744b0f487fc4f11f033767b53a627d
2020-06-09 14:38:50 -07:00
Colin Cross
238c1f3903 Remove most paths from java.TestConfig
Now that tests don't need to specify every path passed to
PathForSource or PathForModuleSrc, remove most of them from
java.TestConfig.  Leave a few that are globbed by lots of tests,
and move a few that are globbed by a single test into the tests.

Test: all soong tests
Change-Id: Ica91d7203a6a7dbca0fd4fed84c78f149b8699e1
2020-06-09 14:38:39 -07:00
Pete Gillin
811814282d Merge "Split the core/platform API into stable and legacy versions." am: d7db79cc8b am: 5dbf9e09f2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1322704

Change-Id: I731da4ed59432a67bdc3df124a8939bcf316aa0c
2020-06-09 16:37:21 +00:00
Pete Gillin
d7db79cc8b Merge "Split the core/platform API into stable and legacy versions." 2020-06-09 13:20:31 +00:00
Ramy Medhat
578c91fe13 Merge "Turn on metalava sandbox warning in all droiddoc metalava invocations." am: 4e372f7841 am: 9ec9b60463
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1323176

Change-Id: Icb4ad192227710eef30455409f7b0d99e2c128e1
2020-06-09 12:46:56 +00:00
Ramy Medhat
4e372f7841 Merge "Turn on metalava sandbox warning in all droiddoc metalava invocations." 2020-06-09 12:17:38 +00:00
Elliott Hughes
79ae341d4b Remove TARGET_PREFER_32_BIT support.
Bug: https://issuetracker.google.com/138812821
Test: builds
Change-Id: If96cccbd82ba1311165d61c947c928c6e7cd5593
2020-06-08 16:37:13 -07:00
Alexander Smundak
feee554806 Merge "Cherrypick aosp/1318079 and aosp/1324841" into rvc-dev 2020-06-08 20:09:10 +00:00
Nate Myren
30d1f9eb3b Revert "Use aapt2 flag --rename-resources-package in soong"
Revert "Remove hardcoding of permission controller package"

Revert "Use permissionController name rather than hardcode"

Revert submission 11618534-rename-resources

Reason for revert: Possible cause of ~20 test failues, see b/158441669
Reverted Changes:
I5b5b6699f:Use permissionController name rather than hardcode...
I47105cb3a:Remove hardcoding of permission controller package...
I70a43c216:Use aapt2 flag --rename-resources-package in soong...
I60c7f60e9:Use overriden id for resource getIdentifier
Ie8e1c7a9e:Remove resource getIdentifier workaround

Change-Id: I8d2aeff48cd2a3913b262f411c0613d5d61296af
2020-06-08 19:35:01 +00:00
TreeHugger Robot
a4cf51ff72 Merge "Include car project in grey list removed apis" into rvc-dev am: 50cea1a76e
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/11746426

Change-Id: Ie39738a277df3af9bdae6c59ad39b4bf07b16287
2020-06-08 18:13:03 +00:00
TreeHugger Robot
50cea1a76e Merge "Include car project in grey list removed apis" into rvc-dev 2020-06-08 18:07:38 +00:00