Commit graph

15178 commits

Author SHA1 Message Date
Rahul Chaudhry
a715ace74e Merge "Disable relocation_packer and migrate to SHT_RELR sections."
am: 38633b6ad1

Change-Id: I05d76464df767a8b6da43d8c8954c02eeae72045
2018-03-23 17:47:23 +00:00
Treehugger Robot
38633b6ad1 Merge "Disable relocation_packer and migrate to SHT_RELR sections." 2018-03-23 17:28:08 +00:00
Martijn Coenen
f12ffc445f Merge "Products launching with API 28 need 64-bit binder interface."
am: c0811e291c

Change-Id: I58419bfd193f098273e2bdea35c3bc82dd12817c
2018-03-22 22:15:42 +00:00
Rahul Chaudhry
dbf3bfffc6 Disable relocation_packer and migrate to SHT_RELR sections.
Proposal for adding SHT_RELR sections in the generic-abi is at
https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg

Comparison with relocation_packer for aosp_marlin-userdebug:
$ du -B1 -s */out/target/product/marlin/system
 996958208      base/out/target/product/marlin/system
1008340992      no_pack/out/target/product/marlin/system
 997801984      sht_relr/out/target/product/marlin/system

base contains a build with current settings.
no_pack contains a build with relocation_packer disabled.
sht_relr contains a build with SHT_RELR sections enabled.

relocation_packer was saving 11,382,784 bytes (no_pack - base).
SHT_RELR sections are saving 10,539,008 bytes (no_pack - sht_relr).

Bug: None
Test: Built aosp_marlin-userdebug image, boots on device.
Test: Built aosp_x86_64-userdebug image, boots in emulator.
Change-Id: Ic753abecb77863c64996157c543c344e66f0f4dd
2018-03-22 15:14:40 -07:00
Treehugger Robot
c0811e291c Merge "Products launching with API 28 need 64-bit binder interface." 2018-03-22 21:52:26 +00:00
Tao Bao
2a8e13f75d Merge "Remove the hard-coded path of build_verity_metadata.py."
am: 0793683e86

Change-Id: I5e181e5473e1727b5dec5951bdcfe12af701ec33
2018-03-22 18:55:12 +00:00
Tao Bao
b4ec6d752a Remove the hard-coded path of build_verity_metadata.py.
build_image.py used to invoke build_verity_metadata.py with a hard-coded
path of 'system/extras/verity/build_verity_metadata.py', which makes it
hard to run unittests from non-$(ANDROID_BUILD_TOP) directory.

This CL adds the dependency on the tool, so that it gets installed to
$(HOST_OUT_EXECUTABLES), then removes the hard-coded path.

Bug: 74544459
Bug: 76015688
Test: `m dist`
Test: python -m unittest test_validate_target_files
Change-Id: I0dcf4eb067a0db6f099cb589eb99a151a05c7f2b
2018-03-21 21:15:59 +00:00
Colin Cross
275e8caf92 Merge changes I54b8ec9c,Ibef28507,Ia858de22,Ide3050ec,Ib6e00be4, ...
am: 2a63439a31

Change-Id: Ied8afd9274082eaa3405412421f40d4ab70719a3
2018-03-21 20:26:14 +00:00
Colin Cross
2a63439a31 Merge changes I54b8ec9c,Ibef28507,Ia858de22,Ide3050ec,Ib6e00be4, ...
* changes:
  Add asan-specific CleanSpec
  Use a srcjar for aapt and aapt2 output
  Move R.txt and make aapt2 generate it
  Move aapt2.mk before java.mk
  Remove redundant renderscript_target_api computation
  Move java renderscript support to java_renderscript.mk
  Use srcjar and resource zip as output of renderscript rules
2018-03-21 19:59:41 +00:00
Bowgo Tsai
6c73723b3d Merge "Includes odm SELinux contexts files for recovery"
am: d39eeb44f1

Change-Id: Icc7dd3b0a3e1f4078411fa0953ba5a136ff8e068
2018-03-21 07:18:13 +00:00
Treehugger Robot
d39eeb44f1 Merge "Includes odm SELinux contexts files for recovery" 2018-03-21 07:02:36 +00:00
Colin Cross
f6d68cf6fe Use a srcjar for aapt and aapt2 output
Dumping files in the *_intermediates/src causes incremental build
problems, because we don't know when to delete them if they are
no longer generated.  Switch to outputting a srcjar instead, and
pass it in to the turbine and javac compiles.

Bug: 73885582
Test: m checkbuild
Change-Id: Ibef28507522339d930c09426d0c98372eb864cb6
Merged-In: Ibef28507522339d930c09426d0c98372eb864cb6
(cherry picked from commit 2d1cddd567)
2018-03-20 15:26:27 -07:00
Colin Cross
2ae710c29f Move R.txt and make aapt2 generate it
Move R.txt from $(intermediates.COMMON)/src to $(intermediates.COMMON)
in preparation for moving aapt/aapt2 java files out of src.  Also
make aapt2 generate R.txt, and make it an implicit output of the rule
and and input to the aar rule.

Bug: 73885582
Test: m out/target/common/obj/JAVA_LIBRARIES/SettingsLib_intermediates/javalib.aar
Test: m checkbuild
Change-Id: Ia858de226355965b69794c002f841333df16a612
Merged-In: Ia858de226355965b69794c002f841333df16a612
(cherry picked from commit 7c24f8ec85)
2018-03-20 15:26:27 -07:00
Colin Cross
7a28158b90 Move aapt2.mk before java.mk
aapt2.mk will export a srcjar that will be compiled by java.mk, so
it needs to be evaluated first.  Also move java_renderscript.mk
before aapt2.mk so that the generated resoures are available.

Bug: 73885582
Test: m checkbuild
Test: rm -rf out/target/common/obj/APPS/RsHelloCompute_intermediates &&
      m out/target/common/obj/APPS/RsHelloCompute_intermediates/src/R.stamp
Change-Id: Ide3050ec993a945f7077b75e952c3b3532306ede
Merged-In: Ide3050ec993a945f7077b75e952c3b3532306ede
(cherry picked from commit 8528eabbba)
2018-03-20 15:26:27 -07:00
Colin Cross
39772fedde Remove redundant renderscript_target_api computation
renderscript_target_api is set by java_renderscript.mk, it doesn't
need to be computed again in static_java_library.mk and
package_internal.mk.

Bug: 73885582
Test: no change to ninja file
Change-Id: Ib6e00be425c385f4911def19ed5042a740f2c79b
Merged-In: Ib6e00be425c385f4911def19ed5042a740f2c79b
(cherry picked from commit 55cce23360)
2018-03-20 15:26:27 -07:00
Colin Cross
1e047d39a5 Move java renderscript support to java_renderscript.mk
Move java renderscript support to java_renderscript.mk in
preparation to moving it before aapt.  Filter *.rs files
out of LOCAL_SRC_FILES and forbid them in java_common.mk
so that using *.rs files is an error if java_renderscript.mk
was not included.

Bug: 73885582
Test: m checkbuild
Change-Id: Ib37ce89daee58b025dec98f733c5a08149641afd
Merged-In: Ib37ce89daee58b025dec98f733c5a08149641afd
(cherry picked from commit 71822d6fb9)
2018-03-20 15:26:27 -07:00
Colin Cross
dc1e028994 Use srcjar and resource zip as output of renderscript rules
Replace RenderScript.stamp with a srcjar, with a resource zip as
an implicit output.  This makes the renderscript rules self contained,
which will make it easier to move them before aapt.

Bug: 73885582
Test: m checkbuild
Change-Id: I12d33e52019aebac6ea33271939228e4690a4173
Merged-In: I12d33e52019aebac6ea33271939228e4690a4173
(cherry picked from commit e00e2fae52)
2018-03-20 15:25:51 -07:00
Nan Zhang
4db0821c0d Merge "Add dist-for-goals for droiddoc docs.zip"
am: 550a3b6dd9

Change-Id: I214ca3aef755f961723421062b1ace6ebf1b225c
2018-03-20 22:03:45 +00:00
Nan Zhang
0aa96a05fb Add dist-for-goals for droiddoc docs.zip
Old droiddoc will install the *-docs.zip & API files to the dist.

And also remove INTERNAL_PLATFORM_*API_FILE variables from config.mk and
get rid of the dependencies on api-stubs, system-api-stubs, test-api-stubs
timestamp.

Test: m -j api-stubs-docs
Bug: b/70351683
Change-Id: I08923bb5f62d2f55961d9a2865723d7b3fae7206
Merged-In: I08923bb5f62d2f55961d9a2865723d7b3fae7206
2018-03-20 11:42:23 -07:00
Julien Desprez
6d948a6cf5 Merge "Add loganalysis to cts"
am: ee9ea1d601

Change-Id: I0f10664f9798757df04a4992d3be1cf8f5ec4cd6
2018-03-20 03:02:35 +00:00
Julien Desprez
ee9ea1d601 Merge "Add loganalysis to cts" 2018-03-20 02:44:20 +00:00
Tao Bao
40feb95108 Merge "Use bsdiff to generate recovery-from-boot.p for system-root-image."
am: ad29fe419e

Change-Id: I064cf6ae89b547dd18061f438362c0d1152b88a7
2018-03-20 00:19:13 +00:00
Treehugger Robot
ad29fe419e Merge "Use bsdiff to generate recovery-from-boot.p for system-root-image." 2018-03-20 00:00:34 +00:00
jdesprez
4619031efe Add loganalysis to cts
Tradefed depends on Loganalysis so it should also be part
of cts. Luckily there was no overlap (cts never called a
part of TF that use loganalysis) so it never failed
with classNotFound before.

Test: build cts
Bug: 75979908
Change-Id: I2542ecd077149f7165aff120d67054943df20b54
2018-03-19 16:47:22 -07:00
Tao Bao
6d5d623987 Use bsdiff to generate recovery-from-boot.p for system-root-image.
This CL handles a path that uses system-root-image on non-A/B device.
For this path, we can't generate recovery-from-boot patch with imgdiff,
because boot/recovery images contain different number of entries (only
recovery iamge has ramdisk image now).

Using BOARD_USES_FULL_RECOVERY_IMAGE can work around the issue, at the
cost of extra size. Compared to carrying full recovery image, this CL
saves the cost of the kernel size, by putting a patch that's roughly the
size of the recovery ramdisk.

The applypatch executable already detects and handles a bsdiff patch
automatically. No change required to that end.

Note that it won't further reduce the patch size by handling that
ramdisk entry specially, because (a) that's the only difference between
the two images; and (b) there's no corresponding data in boot image to
be diff'd against.

Bug: 72731506
Test: `m dist` with aosp_angler-userdebug. Check the device can install
      recovery image successfully (after intentionally corrupting the
      recovery image).
Test: Build aosp_angler-userdebug with BOARD_BUILD_SYSTEM_ROOT_IMAGE set.
      Verify the generated patch files.
Test: Run validate_target_files.py with the target_files.zips.
Change-Id: I69c06f51ba8c39ae059c5e9a6872a9f10600cf17
2018-03-19 14:13:02 -07:00
Colin Cross
70e4074aa8 Merge "Provide testcases directory for host cross out (windows) modules"
am: 238bb91678

Change-Id: Ia79d4709be1426636527da40fa7a0f39d3f521d9
2018-03-19 20:55:51 +00:00
Colin Cross
f434e35a47 Merge "Replace extract_srcjars.sh with zipsync"
am: c9907cc8f6

Change-Id: Ib99ea1ef3a51cf34a3494453f5ebefe7f2059203
2018-03-19 20:54:49 +00:00
Colin Cross
238bb91678 Merge "Provide testcases directory for host cross out (windows) modules" 2018-03-19 20:40:50 +00:00
Colin Cross
c9907cc8f6 Merge "Replace extract_srcjars.sh with zipsync" 2018-03-19 20:33:08 +00:00
Søren Gjesse
85ac8c6e39 Merge "Enable R8 by default (second attempt for Q)"
am: d04f28db7b

Change-Id: Ib700a57f75ad3e7ce780faa0fcf74684aee59816
2018-03-19 07:51:47 +00:00
Søren Gjesse
d04f28db7b Merge "Enable R8 by default (second attempt for Q)" 2018-03-19 07:27:20 +00:00
Colin Cross
e887ccbf12 Provide testcases directory for host cross out (windows) modules
If HOST_CROSS_OUT_TESTCASES is not defined, then a module that
builds for windows and has a test config will attempt to install
the config file to /<module>/<module>.config.

Fixes:
[ 54% 99/183] Copy: /simpleperf_unit_test/x86/simpleperf_unit_test.exeninja: error: mkdir(/simpleperf_unit_test): Permission denied

Test: m simpleperf_unit_test
Change-Id: I07dcecbce9c710b29fec5fbdedc462be3245b578
2018-03-17 05:14:13 +00:00
Martijn Coenen
c3162eeff0 Products launching with API 28 need 64-bit binder interface.
This time around we're really deprecating the 32-bit
binder interface (v7), even for 32-bit devices.

Upgrading devices can keep using it.

Bug: 69775513
Test: manual makefile prodding
Change-Id: I3850418ca267e72593f5f12b940e5382b29b024a
Merged-In: I3850418ca267e72593f5f12b940e5382b29b024a
2018-03-16 09:43:39 +01:00
Colin Cross
3f99cd5933 Replace extract_srcjars.sh with zipsync
Use zipsync instead of extract_srcjars.sh.

Also fixes an issue where unzipping a resource zip would
ignore anything that wasn't a *.java file.

Bug: 73885582
Test: m checkbuild
Change-Id: I1c25f65afa196614879071c8655866febebac185
2018-03-15 16:40:05 -07:00
Colin Cross
6951409ddb Merge "Update turbine command line flags"
am: 1f4f67201d

Change-Id: I6cf149dbd5986f030f85c1e339968ad345223217
2018-03-15 22:53:52 +00:00
Colin Cross
57aa4b8f80 Merge "Allow compiles with only srcjars"
am: f2a8007912

Change-Id: I6d5310c66cfe417007cf82a7571edbb98e358b74
2018-03-15 22:46:46 +00:00
Colin Cross
1f4f67201d Merge "Update turbine command line flags" 2018-03-15 22:39:28 +00:00
Colin Cross
0c0adb993c Allow compiles with only srcjars
Some javac and turbine compiles have no source files but sources
from srcjars.  Continue with compilation if the java source list
is empty but the srcjar source list is not.

Bug: 73885582
Test: m checkbuild
Change-Id: Ica412de2dd1b1bfc12c01c3eafca884220d42771
2018-03-15 13:07:33 -07:00
Colin Cross
6b27285619 Update turbine command line flags
The latest version of turbine requires a -- after the javac
options, and uses multiple --bootclasspath arguments instead
of a javac-style colon separated list.

Test: m javac-check
Bug: 74339924
Change-Id: I3f694ac375eab61954d4fe63c1166a18314bf75f
2018-03-15 06:04:53 +00:00
Colin Cross
3d8c0a2c9e Merge changes I97ea3ff3,Ib4351a5b,I74b61809,If2653f84,I2932f9e9, ...
am: 34af6a41ff

Change-Id: I90487b3fed921af1571d1e87491a92e08fdd8050
2018-03-14 23:42:45 +00:00
Colin Cross
34af6a41ff Merge changes I97ea3ff3,Ib4351a5b,I74b61809,If2653f84,I2932f9e9, ...
* changes:
  Allow aapt2 rules to take zipped resource files
  Add LOCAL_SRCJARS support
  Remove unused .fs file suppport
  Remove unused file lists
  Remove sharding support from make
  Move aapt flags from java_common.mk to aapt_flags.mk
2018-03-14 23:29:49 +00:00
Adam Lesinski
9600655fac Merge "Enable apps to build with resource namespaces"
am: d3547d9d5b

Change-Id: I52e7d6c6c805123e0e0815a52854e848ea473ffe
2018-03-14 22:00:41 +00:00
Colin Cross
bc0c494d3a Allow aapt2 rules to take zipped resource files
Allow aapt2 rules to take zipped resource files similar to the
way the javac rules take srcjars.  For now, unzip the files using
extract_srcjars.sh, and then use aapt2 compile --dir.  Eventually
it could be done with aapt2 compile --zip.

Bug: 73885582
Bug: 74574557
Test: m checkbuild
Change-Id: I97ea3ff305e7a9ef2a908b4cf0bca903af62c6b1
2018-03-14 14:13:18 -07:00
Søren Gjesse
f71d68de18 Enable R8 by default (second attempt for Q)
Fixed bugs which was discovered in the last attempt.

Bug: 74508478

Test: m -j PRODUCT-taimen-userdebug
Test: m -j PRODUCT-elfin-userdebug
Test: Check that some .vdex files built have R8 generated code

(cherry picked from commit a3b796d998)

Change-Id: Ibe08137cd6db94b1fc487267e169d3f5ee598846
Merged-In: I2a8e0e5cad1d698ae73ba152e34a08a496112d7d
2018-03-14 22:09:10 +01:00
Treehugger Robot
d3547d9d5b Merge "Enable apps to build with resource namespaces" 2018-03-14 21:05:55 +00:00
Colin Cross
391a95da7e Merge "Allow locally disabling R8"
am: 017a894c6e

Change-Id: I8eb9e5ffaf1ca0a5de56ad92acc27490cf76c984
2018-03-14 19:21:09 +00:00
Colin Cross
11e2d55c0f Add LOCAL_SRCJARS support
Allow java modules to take jars containing .java files as an input.
For turbine, pass them directly to turbine.  For javac, extract them
to a directory and pass a list of the files to javac.

Bug: 73885582
Test: m checkbuild
Change-Id: Ib4351a5b4b165a55e5fb02ee2680466db368983a
2018-03-14 12:05:04 -07:00
Colin Cross
93d6550c53 Remove unused .fs file suppport
.fs files are obsolete.

Bug: 73885582
Test: m checkbuild
Change-Id: I74b618099333fe565c7b235994be64e6466d2da6
2018-03-14 12:05:01 -07:00
Colin Cross
c3e7074df1 Remove unused file lists
RS_FILES and AIDL_FILES were used for cleaning up the intermediate
src dir, but are no longer used after
If7529979de6fa62a651933a3a974f47b033851d6 and
I01feff7cc399ac5b88b83333a1ac86928d0a81e6.

Bug: 73885582
Test: m checkbuild
Change-Id: If2653f846b568fd2587c8e055ef820e17760f133
2018-03-14 12:04:58 -07:00
Colin Cross
5ef6e79c21 Remove sharding support from make
Sharding is not used in make any more, the large java modules
(libcore and framework) have moved to Soong.  Keeping sharding
support complicates java compiling, so remove it.

Bug: 73885582
Test: m checkbuild
Change-Id: I2932f9e96bfc8f2ebf82095b16d6c0b3c51613f0
2018-03-14 12:04:55 -07:00