Commit Graph

10329 Commits

Author SHA1 Message Date
Treehugger Robot ef36053829 Merge "Revert "Add override_module."" 2019-02-28 23:10:33 +00:00
Alex Light 6a48032fc9 Merge "Add java_* 'services:' field" 2019-02-28 17:05:01 +00:00
Jaewoong Jung acb6db331b Revert "Add override_module."
This reverts commit aa65e17016.

Reason for revert: Not compatible with PRODUCT_PACKAGES, and so has very limited use.

Change-Id: Ib141d3984a6f12bb50989e66037494c466b066f1
2019-02-28 16:22:30 +00:00
Paul Duffin 724c5fd813 Merge "Revert "Support libraries (not just boot jars) that have hiddenapi"" 2019-02-28 13:25:08 +00:00
Roland Levillain 2833d984fb Merge "Fix soong.android.RuleBuilderCommand.FlagWithList's comment." 2019-02-28 10:58:52 +00: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 be977a0edd Merge "Add a filename to anchor links in build docs." 2019-02-27 22:38:19 +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
Patrice Arruda 368a97286b Merge "Add a host prebuilt module type for usr/share." 2019-02-27 22:10:31 +00: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
Jaewoong Jung d10f484eee Add a filename to anchor links in build docs.
The href base added by I8a8ac0f9ba6c0d57ed83db2155955a95e070a265
doesn't really play nice with anchor links. This fixes the issue.

Fixes: 126550408
Test: m soong_docs
Change-Id: If62411a6391fd8151fa40cb2ecf32c5006797d6c
2019-02-27 11:15:00 -08:00
Roland Levillain 2da5d9a5fe Fix soong.android.RuleBuilderCommand.FlagWithList's comment.
Test: n/a
Change-Id: I96158244feaaaa25ada02275e20418ac30218004
2019-02-27 16:56:41 +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
Treehugger Robot 6bd446620c Merge "Whitelist Offline.getProbes(..)." 2019-02-26 22:01:41 +00:00
Nicolas Geoffray 9ce33353c5 Merge "Add a DEX2OAT_BOOTCLASSPATH variable." 2019-02-26 20:38:32 +00:00
Patrice Arruda 300cef9856 Add a host prebuilt module type for usr/share.
This is almost the same as prebuild_etc except the base path.

Bug: 122616578
Test: prebuilt_etc_test.go
Change-Id: I512b17a88062403225ae6ec248f857c88fccf47a
2019-02-26 09:18:35 -08:00
Treehugger Robot b42c1aa8e4 Merge "Handle $(LOCAL_PATH) in androidmk" 2019-02-26 16:30:28 +00:00
Nicolas Geoffray 07b4007f1d Add a DEX2OAT_BOOTCLASSPATH variable.
Bug: 119800099
Test: m
Change-Id: If4b49b1bed33564b9237f8ae2ac35ef0d631703c
2019-02-26 12:55:37 +00:00
Treehugger Robot 015fa7e2e6 Merge "Add recovery_available property to sysprop module" 2019-02-26 05:41:08 +00:00
Treehugger Robot 7aac193fa8 Merge "Fix: sysprop module can't be used with whole_static_libs" 2019-02-26 05:39:47 +00:00
Jiyong Park 854a9440dd Add recovery_available property to sysprop module
This is required for a sysprop module to be used by a module like the
init which is available both in core and recovery variants.

Test: m
Change-Id: I075428289f5bdce26e931ccf3262793ca6e4a0fd
2019-02-26 10:27:13 +09:00
Jiyong Park 5d1598f746 Fix: sysprop module can't be used with whole_static_libs
When a sysprop module is listed in whole_static_libs, it is renamed to
"lib" + <module> to actually refer to the generated C++ library for the
sysprop module.

Test: m (sysprop_test amended)
Change-Id: I05eddb24433d444376787be567830929ef078159
2019-02-26 10:26:44 +09: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
Sasha Smundak 1d318cbaa9 Handle $(LOCAL_PATH) in androidmk
The variables LOCAL_ADDITIONAL_CERTIFICATES. LOCAL_ASSET_DIR,
LOCAL_CERTIFICATE, LOCAL_JARJAR_RULES, LOCAL_PROGUARD_FLAG_FILES,
LOCAL_RESOURCE_DIR specify the paths relative to the top of the
source tree using $(LOCAL_PATH)/. Remove it when converting to
blueprint files and diagnose the cases when these paths do not start
with $(LOCAL_PATH).

Fixes: 122728056
Test: Internal tests
Change-Id: Id3fcacdd5445a97365c03e00656291bfe829c035
2019-02-25 15:19:06 -08:00
Jaewoong Jung 18d3fe02ac Merge "soong_docs build link error fix." 2019-02-25 22:04:27 +00:00
Treehugger Robot e74c417f81 Merge "Include symlinks in flattened apexs" 2019-02-25 21:53:41 +00:00
Jaewoong Jung 90e1155135 soong_docs build link error fix.
This adds a script to copy the current page's base url to hrefs in the
doc.

Fixes: 123473548
Test: m soong_docs
Change-Id: I8a8ac0f9ba6c0d57ed83db2155955a95e070a265
2019-02-25 10:26:46 -08:00
Alex Light f4857cf3dd Include symlinks in flattened apexs
Flattened apexs were not including symlinks. This could cause expected
files not to be present.

Test: lunch aosp_marlin-userdebug
      m droid
      stat $OUT/system/apex/com.android.runtime.debug/bin/dalvikvm
Bug: 124924906

Change-Id: I04e696602b776b383bf7198eb19220353df74192
2019-02-25 10:14:55 -08:00
Nicolas Geoffray 56e0290551 Merge "Don't return null for an interface type." 2019-02-24 21:42:38 +00:00
Treehugger Robot 9ce7e58c04 Merge "Handle LOCAL_MODULE_PATH assignment for android_test modules" 2019-02-24 20:27:24 +00: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
Nicolas Geoffray d79df83b28 Merge "Support for install multiple boot images." 2019-02-24 13:37:01 +00:00
Sasha Smundak f7ed0513e9 Handle LOCAL_MODULE_PATH assignment for android_test modules
Many Android.mk files for the CTS tests have
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
statement. This can be dropped during the conversion to blueprint
files.
Also, ignore the assignments to obsolete LOCAL_CTS_TEST_PACKAGE
variable.

Fixes: 125405331
Test: Internal tests, selectively run androidmk on Android.mk's in cts/
directory

Change-Id: I2ed88acd3c8837f96b84be6eb7c7b9b0b5405f57
2019-02-22 15:10:08 -08:00
Jaewoong Jung e608a51b06 Merge "Split up Soong build doc." 2019-02-22 15:42:49 +00: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
Treehugger Robot e91a078271 Merge "Don't use stubs for host apexs" 2019-02-22 01:31:38 +00:00
Alex Light 49ae3d9819 Don't use stubs for host apexs
Host apexs don't have a system-image associated with them so we need
to include all libraries, including those with stubs.

Test: ./art/test/testrunner/run_build_test_target.py -j50 art-linux-bionic-x64-zipapex
Bug: 125417922
Change-Id: Ie76e6a34e8be1057b29e2e005597c3e4b5fb1f9c
2019-02-21 14:02:46 -08: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 501d7e594a Merge "Revert "Make RuleBuilder methods take Paths"" 2019-02-21 05:03:41 +00: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 4bb6764de9 Merge "Make RuleBuilder methods take Paths" 2019-02-21 04:06:18 +00:00
Treehugger Robot 1455d47788 Merge "Install external deps of an APEX" 2019-02-21 00:02:08 +00:00
Jaewoong Jung 6c29688691 Split up Soong build doc.
Previously the build doc was a gigantic list of modules and properties,
which can be overwhelming to new users. This change breaks it up by
packages, so that it is easier to look up and feels more coherent.

Bug: 123521276
Test: m soong_docs
Change-Id: I1a1a331f4b4deb8782d698e9076098c5a27b9566
2019-02-20 15:43:06 -08:00
Treehugger Robot 55f8c42a7b Merge "Fix typo when multiple BootImageProfiles specified" 2019-02-20 23:23:54 +00: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
Treehugger Robot e344fb5fb1 Merge "Implement vts_config module" 2019-02-20 22:23:16 +00:00
Treehugger Robot 11545323d2 Merge "Allow linking against SystemConfiguration framework on Mac" 2019-02-20 21:06:11 +00:00