Commit Graph

1109 Commits

Author SHA1 Message Date
Jaewoong Jung
049aea10f5 Merge "Add override_module." am: b709575a75 am: e8eaf4608d
am: b44bb0896b

Change-Id: I4c8faef56835a1e7d334f8dade5623c9ea07df3e
2019-02-27 20:13:56 -08:00
Treehugger Robot
b709575a75 Merge "Add override_module." 2019-02-28 03:46:23 +00:00
Alex Light
7f004a765b Add java_* 'services:' field
Some libraries rely on the java.util.ServiceLoader system to access
classes. Allow java_* targets to specify the services that should be
exposed there.

Test: m jdi-support
Bug: 124507633

Change-Id: I253a87033563e3aebc50250fe2252d80d2883815
2019-02-27 23:14:47 +00:00
Jaewoong Jung
aa65e17016 Add override_module.
This new module type replaces the inherit-package function in make by
allowing developers to override the name, the certificate, and the
manifest package name of an android_app module.

Bug: 122957760
Fixes: 123640028
Test: app_test.go + BrowserGoogle
Change-Id: Iefe447e7078b25039233221361ef95c83a29973a
2019-02-27 14:35:39 -08:00
Colin Cross
b66f1b0faf Fix Rel() after ReplaceExtension or InSameDir am: 2cdd5df7cc am: 54466adccc
am: ea72c068c3

Change-Id: I0292ca0c18a2f57619402bc648f4f8ec244eba7d
2019-02-27 12:55:44 -08:00
Colin Cross
2cdd5df7cc Fix Rel() after ReplaceExtension or InSameDir
Copying p.rel doesn't work, as rel needs to match the end of the
value in path.  Apply the same transformation to p.rel as p.path.

Test: paths_test.go
Change-Id: I42d676c6c4fc18d9852c1a73f25e5a791d7553d0
2019-02-27 20:23:25 +00:00
Paul Duffin
c02e834ad6 Revert "Support libraries (not just boot jars) that have hiddenapi"
This reverts commit e5b5657f87.

The reverted change was added in order to gather the information about
the hiddenapi that is needed for the runtime to enforce the hiddenapi
accessibility rules. Without it the build broke with the following
error when the android.test.base library was not in the
PRODUCT_BOOT_JARS list:

AssertionError: Error processing: frameworks/base/config/hiddenapi-greylist.txt
The following entries were unexpected:
  Ljunit/framework/TestSuite;->isPublicTestMethod(Ljava/lang/reflect/Method;)Z
  Landroid/test/AndroidTestCase;->setTestContext(Landroid/content/Context;)V
  Landroid/test/InstrumentationTestCase;->runMethod(Ljava/lang/reflect/Method;I)V
  Landroid/test/AndroidTestCase;->getTestContext()Landroid/content/Context;
  Ljunit/framework/TestCase;->fName:Ljava/lang/String;
  Ljunit/framework/TestSuite;->isTestMethod(Ljava/lang/reflect/Method;)Z
  Please visit go/hiddenapi for more information.

However, it turns out that the runtime does not currently enforce
access to the hiddenapi of libraries that are not on the
PRODUCT_BOOT_JARS list. Gathering hiddenapi information for a library
not on the PRODUCT_BOOT_JARS list breaks the
CtsHiddenApiBlacklistApi27TestCases and
CtsHiddenApiBlacklistApi28TestCases test modules which use that
information to ensure that correct runtime behavior.

This change is being reverted simply because it does not work.

Bug: 126519737
Bug: 73711752
Test: make REMOVE_ATB_FROM_BCP=true droid and make droid
Change-Id: I1b4a7786b1061effa0e2d37832afa8570953a06e
2019-02-27 12:49:21 +00:00
Allen Hair
50e870355f Merge "Whitelist Offline.getProbes(..)." am: 6bd446620c am: f3bc083695
am: 34cf93e0df

Change-Id: Iba88c928460dd39eed4a32ad0d5dd007a7e85f78
2019-02-26 14:21:16 -08:00
Treehugger Robot
6bd446620c Merge "Whitelist Offline.getProbes(..)." 2019-02-26 22:01:41 +00:00
Nicolas Geoffray
c5685e945e Merge "Add a DEX2OAT_BOOTCLASSPATH variable." am: 9ce33353c5 am: 706eb5dda6
am: 8b482295b6

Change-Id: I6f1583c57d14395b4d506291fa74802e3adb4e00
2019-02-26 13:17:01 -08:00
Nicolas Geoffray
07b4007f1d Add a DEX2OAT_BOOTCLASSPATH variable.
Bug: 119800099
Test: m
Change-Id: If4b49b1bed33564b9237f8ae2ac35ef0d631703c
2019-02-26 12:55:37 +00:00
Nicolas Geoffray
d4916949c1 Merge "Don't return null for an interface type." am: 56e0290551 am: 6a1ea2e8a3
am: b60ce369b3

Change-Id: Idbdedc6b20c0fe0343228f3cd13addeb48f59235
2019-02-25 22:25:42 -08:00
Nicolas Geoffray
855b1c7475 Merge "Support for install multiple boot images." am: d79df83b28 am: 5300094ca7
am: 63ab163d56

Change-Id: Iebb61079453f7e33ff41b8dae4ca8b032d35162a
2019-02-25 21:06:22 -08:00
Allen Hair
de816cf577 Whitelist Offline.getProbes(..).
Test: atest -v -it CtsSystemUiTestCases -- --abi x86 --test-arg com.android.tradefed.testtype.AndroidJUnitTest:coverage:true
Bug: 122330976
Change-Id: Ieb4a8808de6a3e062297c6a0b9e83a3872247eee
2019-02-25 16:49:05 -08:00
Nicolas Geoffray
27c7cc6c32 Don't return null for an interface type.
Otherwise we get:
internal error: panic in GenerateBuildActions for singleton dex_bootjars
interface conversion: interface is nil, not android.WritablePath

Test: build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: I9d8484994d1b5120f0187861a8acaf20e94827f6
2019-02-24 16:04:52 +00:00
Colin Cross
4dab988c4c Pass DEXPREOPT_BOOT_JARS_MODULES to Make am: 9be4152c21 am: 2b34ef2fd3
am: edc6b9c1e0

Change-Id: I3e8ed02d1b95393bd2203758e426678e803f7671
2019-02-22 20:43:50 -08:00
Colin Cross
0e902ea85a Refactor dexpreopt_bootjars.go to prepare for multiple boot images am: 44df581457 am: ac405aa805
am: d3a73010f9

Change-Id: I53abda3e3b15969402580825480f76bc18a9d9de
2019-02-22 20:37:41 -08:00
Colin Cross
4bff473af2 Make RuleBuilder methods take Paths am: 69f59a3327 am: fafab5c1ec
am: d123cd7459

Change-Id: I5277142b7486c80c1c93d2ecd9a90b387d93c4a9
2019-02-22 20:35:45 -08:00
Nicolas Geoffray
72892f1035 Support for install multiple boot images.
Bug: 119800099
Test: m && /system/framework/arm/apex*.art files exist
Change-Id: I8b708a0c495193e5455e03eaa575ce55a482a95d
2019-02-22 15:37:48 +00:00
Colin Cross
9be4152c21 Pass DEXPREOPT_BOOT_JARS_MODULES to Make
Make is not setting PreoptBootJars, pass the value computed in
Soong back to Make.

Test: m checkbuild
Change-Id: Ie3db926df9c5d6bf18db1003b95823c7566800a9
2019-02-20 22:06:30 -08:00
Colin Cross
44df581457 Refactor dexpreopt_bootjars.go to prepare for multiple boot images
Refactor dexpreopt_bootjars.go so that buildBootImage can be called
with a bootImageConfig to create rules to build the boot image in
preparation for building multiple boot images.

Test: m checkbuild
Change-Id: I7ba40a0988c8acbd6c1ee4e36f4bbb34fb4e2d24
2019-02-20 22:06:29 -08:00
Colin Cross
69f59a3327 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.

This reapplies I886f803d9a3419a43b2cae412537645f94c5dfbf with
fixes to disable preopt for Soong-only builds when the global
dexpreopt.config doesn't exist.

Test: all soong tests
Test: m checkbuild
Change-Id: I4dae9ecd5de22f062f9478ec8f0747f099cf8190
2019-02-20 22:06:09 -08:00
Colin Cross
395d1b0ecb Merge "Revert "Make RuleBuilder methods take Paths"" am: 501d7e594a am: dc68f8826c
am: ec60a92074

Change-Id: I4519fd0157c6f1287135879ad42a2d1ffaf59515
2019-02-20 21:17:11 -08:00
Colin Cross
ab898dc4a4 Revert "Make RuleBuilder methods take Paths"
This reverts commit acdd694071.

Reason for revert: broke ndk build

Change-Id: I5655e48c15eb8f5f0267afdd853fbc25765b8623
2019-02-21 05:03:00 +00:00
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