Commit Graph

935 Commits

Author SHA1 Message Date
Colin Cross
43e1ff5337 Merge "Make RuleBuilder methods take Paths" am: 4bb6764de9 am: 4ebb84d392
am: fc2da332e9

Change-Id: Ic6563627f7853d9850e996d4579ac671d47d2c7b
2019-02-20 20:22:51 -08:00
Colin Cross
a2e9e42f15 Merge "Fix typo when multiple BootImageProfiles specified" am: 55f8c42a7b am: 5a32244ce7
am: d308a0223c

Change-Id: Ie63eb7f207c5fe404e7b5db228a9ef99d5d6bccf
2019-02-20 17:14:17 -08:00
Colin Cross
acdd694071 Make RuleBuilder methods take Paths
There are no more Make paths being used in Soong now that
dexpreopting and hiddenapi are in Soong. Use the Path types
in the inputs to RuleBuilder, and fix all users of RuleBuilder.

Test: all soong tests
Test: m checkbuild
Change-Id: I886f803d9a3419a43b2cae412537645f94c5dfbf
2019-02-20 14:23:37 -08:00
Nicolas Geoffray
1ccc63ba4a Merge "Set a dedicated variable for the runtime apex libs." am: 3d186813f2 am: 8d3269faca
am: 57ef108ab5

Change-Id: Iede7b97899e961e828d4a726a652599ef168ad0a
2019-02-20 13:56:30 -08:00
Colin Cross
9055fa58ad Support passing resource zips to aapt2 am: a592e3eae9 am: 089d22dec0
am: 7962a69ff1

Change-Id: I78d3a2597d3ff4f2dcb1c23bf64f0a7868473ed9
2019-02-20 12:50:42 -08:00
Colin Cross
45df0bd15a Fix typo when multiple BootImageProfiles specified
cat needs a redirect to the output file.

Test: m checkbuild
Change-Id: I7f39048a3e0aa85fa7ce826bfb811e4ce5aa3277
2019-02-20 11:25:54 -08:00
Nicolas Geoffray
3d186813f2 Merge "Set a dedicated variable for the runtime apex libs." 2019-02-20 18:42:46 +00:00
Colin Cross
a592e3eae9 Support passing resource zips to aapt2
A zip of resources provides an easy way to pass generated resources
to aapt2.

Bug: 74574557
Test: m FrameworksCoreTests
Change-Id: Ie4b1391521a27727694d03e42462b40d775614f8
2019-02-20 18:12:41 +00:00
Nicolas Geoffray
39fe574a04 Set a dedicated variable for the runtime apex libs.
Bug: 124789867
Test: build with coverage, the boot classpath has jacoco.jar in /system/framework, not the apex
Change-Id: Iaa0762b5a674282be95710d0e1fb166a58ec893b
2019-02-20 10:00:47 +00:00
Anton Hansson
30b30b9bd0 Merge "Remove workaround for dupe RRO dirs" am: e0233a5bdd am: 24a4d16048
am: b54ca61c11

Change-Id: Idcab2325dc5a35b709c08d3d0b88e44fdbe59bf2
2019-02-20 01:26:19 -08:00
Anton Hansson
e0233a5bdd Merge "Remove workaround for dupe RRO dirs" 2019-02-20 09:13:50 +00:00
Colin Cross
94330f7d5a Merge "Allow Singletons to export Make variables" am: 4c317f1cbb am: cd1cbd1f28
am: 361874f238

Change-Id: Ibcf9c69a8f4dab4957be029d4db9ccb49451102f
2019-02-20 00:50:11 -08:00
Treehugger Robot
4c317f1cbb Merge "Allow Singletons to export Make variables" 2019-02-20 08:38:23 +00:00
Colin Cross
ed023eca73 Allow Singletons to export Make variables
Register any Singletons that implement a MakeVars method as
MakeVarsProviders, and convert the hiddenapi singleton to
use it.

Test: m checkbuild
Change-Id: I6a2044ad34ef46a8b267762ddfeb51aa01d7734d
2019-02-19 12:45:14 -08:00
Sasha Smundak
c4de932511 Merge "soong_zip after dex should not fail when no *.dex files were generated" am: bce06b6840 am: 212e052aa7
am: e6a0f1821d

Change-Id: Icbafc5de0747c03dc4a007881a11389b4123e047
2019-02-19 11:08:29 -08:00
Treehugger Robot
bce06b6840 Merge "soong_zip after dex should not fail when no *.dex files were generated" 2019-02-19 18:38:11 +00:00
yangbill
a5333fd56c [SOONG] Not auto-generate test config if test_suite is cts am: 4f41bc2bed am: 39cfd70a05
am: 53ff60d314

Change-Id: I801ba32b5f93556f59572f8c6200fd30b34b4e55
2019-02-19 06:49:23 -08:00
yangbill
4f41bc2bed [SOONG] Not auto-generate test config if test_suite is cts
Current soong use source code's under cts as the rule for judgement.
Should change to use test_suites define instead.

Bug: 124313692
Test: m hello_world_test, make sure test config be auog-enerated.
      Modified platform_testing/tests/example/native/Android.bp
      m hello_world_test, make sure test config not be auto-generatetd.

Change-Id: I1bc5216f73329d2a82d9ff29ccbede436dd2976c
2019-02-19 22:25:50 +08:00
Anton Hansson
b245abd5a7 Remove workaround for dupe RRO dirs
All the apps suffering from the duplicate resource directory
problem have been fixed.

Bug: 124035856
Test: make previously failing products
Change-Id: Iecdcdb3d4dab514d7f620876996d25f199d4bcfe
2019-02-19 13:55:15 +00:00
David Brazdil
d315cf337c Merge "Set usesNonSdkApi in manifest when Platform_apis=true" am: 1f9e90a304 am: 37182f1fa8
am: d880699f03

Change-Id: I53f8789f965a2aaa138a08cc95ac38e5f00d8576
2019-02-19 02:07:00 -08:00
David Brazdil
1f9e90a304 Merge "Set usesNonSdkApi in manifest when Platform_apis=true" 2019-02-19 09:53:34 +00:00
Colin Cross
f1b8b2ec1b Move dexpreopting of boot jars into Soong am: 800fe13146 am: 7982dc9f45
am: 7961c04510

Change-Id: I529950a46e2869d0b2a116738db239ed00a3e354
2019-02-18 19:19:45 -08:00
Colin Cross
7982dc9f45 Move dexpreopting of boot jars into Soong
am: 800fe13146

Change-Id: Id176637a9a0e74bcdb57a141927c711ccdb3af16
2019-02-18 19:03:47 -08:00
Colin Cross
49afb313ed Merge changes from topic "dexpreopt_bootjars"
* changes:
  Add more paths helper methods
  Add java/testing.go for sysprop_test.go
  Move dexpreopting of boot jars into Soong
2019-02-19 02:55:16 +00:00
David Brazdil
d25060aa2d Set usesNonSdkApi in manifest when Platform_apis=true
The Platform_apis field in CompilerDeviceProperties currently has no
effect. Unify the behaviour with make and run manifest_fixer.py to
encode the information in the manifest. This is used to exempt
bundled apps and platform tests from hidden API access checks without
having a fixed whitelist of packages.

Bug: 113315999
Bug: 124671117
Test: m UbSystemUiJankTests && \
      aapt d xmltree \
      target/product/taimen/data/app/UbSystemUiJankTests/UbSystemUiJankTests.apk \
      AndroidManifest.xml | grep usesNonSdkApi
Change-Id: I20c392d91ee6275ef8139fbeb5b9700385abbc80
2019-02-18 19:21:02 +00:00
Paul Duffin
6e48ec715c Merge "Support libraries (not just boot jars) that have hiddenapi" am: f854d3e4be am: 31d68763ad
am: 919d0e7e5a

Change-Id: I9b17d19f5ae8d65a572463555c8cbae6b1c2d32c
2019-02-18 04:34:39 -08:00
Paul Duffin
f854d3e4be Merge "Support libraries (not just boot jars) that have hiddenapi" 2019-02-18 12:19:42 +00:00
Sundong Ahn
37c72d3c95 Merge "Get latest api version" am: 39b31fa071 am: 1b3a31eab2
am: 4516730eda

Change-Id: I355867fee15297ba27144a8f5e31a1c4b0cd95c5
2019-02-17 17:37:01 -08:00
Treehugger Robot
39b31fa071 Merge "Get latest api version" 2019-02-18 01:12:47 +00:00
Colin Cross
e4759b9ab9 Add java/testing.go for sysprop_test.go
Share more of the setup code for java tests to sysprop_tests.go.

Test: java_test.go, sysprop_test.go
Change-Id: I0e3b287bf188c432d995a9a91a18ebef12aa47d1
Merged-In: I0e3b287bf188c432d995a9a91a18ebef12aa47d1
(cherry picked from commit b19745363f)
2019-02-16 17:08:01 -08:00
Colin Cross
b19745363f Add java/testing.go for sysprop_test.go
Share more of the setup code for java tests to sysprop_tests.go.

Test: java_test.go, sysprop_test.go
Change-Id: I0e3b287bf188c432d995a9a91a18ebef12aa47d1
2019-02-15 23:22:38 -08:00
Colin Cross
800fe13146 Move dexpreopting of boot jars into Soong
Implement the dexpreopting of boot jars in singleton rules in
Soong.

Test: m checkbuild
Change-Id: Ic02ce941fa5e238b839b3eb4c06a3e10c62d98ff
2019-02-15 16:16:25 -08:00
Colin Cross
1092376683 Merge "Fix resource overlay order for static libraries" am: 0653d6d464 am: 2a1f4b2bda
am: c6cf7f0f9f

Change-Id: Ia2ee7b77a90b2213767643e3f4c5dbaa8d5e5139
2019-02-15 11:34:26 -08:00
Colin Cross
0653d6d464 Merge "Fix resource overlay order for static libraries" 2019-02-15 18:54:49 +00:00
Sasha Smundak
d3cf4ee87b soong_zip after dex should not fail when no *.dex files were generated
This can happen if Android application has only a manifest file and no
java code.

Fixes: 124483155
Test: treehugger with Android.mk converted to Android.bp in
platforms/frameworks/base/tests/privapp-permnissions

Change-Id: I45f95680b62a7a4bda0e7ab156f3df24b0dad70b
2019-02-15 10:14:23 -08:00
Paul Duffin
e5b5657f87 Support libraries (not just boot jars) that have hiddenapi
The build assumes (apart from one minor exception) that only modules
that are in the PRODUCT_BOOT_JARS list require processing as part of
the hiddenapi. Unfortunately, that is not true for android.test.base,
at least not when REMOVE_ATB_FROM_BCP=true.

This change adds a white list (containing android.test.base) of
additional modules that should be processed as part of the hiddenapi
and updates the hiddenapi.go file to use it.

It does not matter that android.test.base is a boot jar and in the
white list, the behavior is the same as it would be if it was only
in one.

Bug: 73711752
Test: make REMOVE_ATB_FROM_BCP=true droid and make droid
Change-Id: I1c64272f444e6866136c65fb7c48910d55811844
2019-02-15 14:35:30 +00:00
Paul Duffin
5043fd6c8a Remove reference to legacy-test and core-junit from comments am: 2fbbfb8630 am: 9ed226dad9
am: 153044c4c7

Change-Id: I77165fa5a5e12866f455d54d60ca0ddc811c470c
2019-02-14 03:19:36 -08:00
Paul Duffin
2fbbfb8630 Remove reference to legacy-test and core-junit from comments
The legacy-test and core-junit are no longer used by the runtime,
core-junit was removed a long time ago, legacy-test will be removed
soon.

Bug: 63127064
Test: TH
Change-Id: I094e7263afcba76b40361c3a681c9fd7a4314133
2019-02-14 10:53:59 +00:00
Sundong Ahn
8faab8a547 Get latest api version
The logic of getting latest api version has problem that we don't
guarantee $(module_name).latest is latest api txt file. So change this
logic to get the latest api txt file.

Test: make -j40
Change-Id: Ibbd8475061fc76169a4c94dcf148fece45b9a41d
2019-02-14 19:46:34 +09:00
Colin Cross
bec8530972 Fix resource overlay order for static libraries
If a static library has static library dependencies then all resources
need to be moved to an overlay to maintain the correct ordering so
that a static library resource overlays the same resource in a
dependency.

Also fix the ordering of transitive static dependencies, a direct
dependency should override a transitive dependency.

Expand TestEnforceRRO to include a transitive static library and
verify both the direct resources and overlays, and rename it to
TestAndroidResources.

Bug: 124108931
Test: TestAndroidResources
Change-Id: I355f835a2ffb728af28aa208d951794c609e7409
2019-02-14 03:35:21 +00:00
Inseob Kim
12865b096a Create sysprop_library soong module am: c0907f191a am: 92053b977e
am: 751a2cb98a

Change-Id: Ie9976968934c4231492af4ad4cbbcfe38790f040
2019-02-13 17:25:17 -08:00
Colin Cross
3019676b91 Merge "Add RuleBuilder.Installs().String()" am: 58b31ad33a am: a3c846bfb9
am: 2cb5b7b1e3

Change-Id: Ib9caffa1dde44dad422c9e82d93052b70d22bf27
2019-02-13 16:58:10 -08:00
Inseob Kim
c0907f191a Create sysprop_library soong module
A newly introduced sysprop_library soong module will generate a
java_sdk_library and a cc_library from .sysprop description files.
Both Java modules and C++ modules can link against sysprop_library
module, thus giving consistency for using generated sysprop API.

As Java controls accessibility of Internal / System properties with
@hide and @SystemApi, 2 different header files will be created. And
build system will selectively expose depending on the property owner
and the place where the client libraries go into.

Bug: 80125326
Bug: 122170616
Test: 1) Create sysprop_library module.
Test: 2) Create empty txt files under prebuilts/sdk.
Test: 3) Create api directory, make update-api, and see changes.
Test: 4) Try to link against sysprop_library with various clients.
Test: 5) Soc_specific, Device_specific, Product_specific, recovery flags
work as intended.
Change-Id: I78dc5780ccfbb4b69e5c61dec26b94e92d43c333
2019-02-13 23:32:51 +00:00
Colin Cross
58b31ad33a Merge "Add RuleBuilder.Installs().String()" 2019-02-13 23:11:38 +00:00
Colin Cross
bf443294be Add module type docs to the java package am: 1b16b0e031 am: f7bbb64eef
am: d7776d8a92

Change-Id: Ied0c7a3d34da18a3d19a316558b0703e2a71b8c0
2019-02-13 11:22:49 -08:00
Colin Cross
1b16b0e031 Add module type docs to the java package
Add some overview of the java module types so that we have something
to display in the autogenerated docs.

Bug: 67909957
Test: m soong_docs
Change-Id: I3594dd550f8272f4418f3ea12cded4083674809b
2019-02-13 18:39:40 +00:00
Colin Cross
deabb94380 Add RuleBuilder.Installs().String()
Add a RuleBuilderInstalls type for a slice of RuleBuilderInstalls,
and give it a String() method that returns the list of installs
in the format that is convenient for passing to Make.

Test: rule_builder_test.go
Change-Id: I2e9cd9abf4dfb0ad312d0a6662f1567baf9cd222
2019-02-13 08:03:29 -08:00
Nicolas Geoffray
108c3ebbfb Merge "Revert "Revert "Never strip and store dex files uncompressed when they are preopted on system.""" am: 59d15c192d am: 9f04bacac6
am: b982b311d5

Change-Id: I90e21d611d503ad8a0a0ca0c4a0f22736ff78359
2019-02-13 04:18:48 -08:00
Nicolas Geoffray
59d15c192d Merge "Revert "Revert "Never strip and store dex files uncompressed when they are preopted on system.""" 2019-02-13 11:59:39 +00:00
Nicolas Geoffray
fa6e9ec003 Revert "Revert "Never strip and store dex files uncompressed when they are preopted on system.""
This reverts commit 67e8ec1973.

Test: build && atest android.text.cts.EmojiTest#testEmojiGlyphWebView on Cuttlefish
Exempt-From-Owner-Approval: Got +2 from Colin, latest PS is a rebase across conflicts.

Change-Id: I99faf0f2ec698d70c107516bd43756b9ddcb90d0
2019-02-13 11:59:20 +00:00