Commit graph

39431 commits

Author SHA1 Message Date
bohu
cb0bebbeda build-emulator: fully treblize emulator image
Install emulator specific binaries and libraries
to vendor partition; update selinux; add vndk.

BUG: 37511975

Test: build user build, launch emualtor, run CTS.

Change-Id: I7f5317d52e552367a1390789fe7ce6e0955ba8de
Merged-In: I70f58947e98b41b195d77b4347d2efdc09348392
2017-10-26 16:45:05 -07:00
Yahan Zhou
3afe69d846 Build vendor image for emulator
BUG: 37511975

Test: lunch sdk_gphone_x86-user, make with dist option, unzip
sdk_gphone_x86-emulator-eng.xxxx.zip to system image folder, emulator
can boot

Change-Id: I330adc6da2999031d4ed2d8c4ade4667c1d0b511
Merged-In: I75b9f0de17fece3dec5ae1662400808af321bd4d
2017-10-26 16:45:05 -07:00
Treehugger Robot
d1af74bd70 Merge "Check for module names in LOCAL_ADDITIONAL_DEPENDENCIES" 2017-10-26 17:32:28 +00:00
Dan Willemsen
0c821a9882 Check for module names in LOCAL_ADDITIONAL_DEPENDENCIES
If anything looks like a module name instead of a path (so if it doesn't
have a / in it), forbid it from being in LOCAL_ADDITIONAL_DEPENDENCIES.

Phony modules should not be dependencies, since they're never considered
clean, and will force rebuilds. It will also force installation when
we're only attempting to checkbuild. Most of the time
LOCAL_REQUIRED_MODULES should be used instead, which will trigger the
required modules to be installed if the local module is installed.

Bug: 68042065
Test: build/soong/build_test.bash on aosp and internal
Change-Id: I058ed6734d895eba3417b1d47c7f4a6b341bc137
2017-10-25 23:23:28 -07:00
Søren Gjesse
2f05802a78 Merge "Define proguard dictionary output for R8" 2017-10-26 06:08:43 +00:00
Treehugger Robot
fbe8759872 Merge "Skip instrumenting non-class files" 2017-10-26 02:50:01 +00:00
Jeff Gaston
6fdbdc86f6 Skip instrumenting non-class files
Jacoco normally recurses into .jar files, but we don't want it to.
Some .jar files may be intentionally corrupt test files.

Test: m -j showcommands dist EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false cts google-tradefed-all general-tests tests
Bug: 68056327
Change-Id: I1550e3acafd7cd9a65164742370e051d3eb3bf69
2017-10-25 16:36:05 -07:00
Colin Cross
4d85d55e09 Merge "Revert "Desugar default methods if required"" 2017-10-25 22:33:08 +00:00
Colin Cross
53aa02d2d2 Revert "Desugar default methods if required"
This reverts commit 6548d2a98d.

Reason for revert: broke apps build

Change-Id: Ibc503fa89b51e1f64f78cb6cee3e3ad7bbd8f2eb
2017-10-25 22:32:14 +00:00
Treehugger Robot
1f9af6e54a Merge "Install (vendor|system/vendor)/build.prop always" 2017-10-25 22:30:30 +00:00
Colin Cross
437bbed858 Merge changes I81796b45,Iaf585336
* changes:
  Desugar default methods if required
  Always raise proguard libraries
2017-10-25 21:44:18 +00:00
Jeff Gaston
55ce60c2b6 Merge "Consider empty LOCAL_JACK_COVERAGE_INCLUDE_FILTER to match everything" 2017-10-25 20:22:57 +00:00
Jeff Gaston
e84fdb7b2d Consider empty LOCAL_JACK_COVERAGE_INCLUDE_FILTER to match everything
Test: m EMMA_INSTRUMENT=true
Bug: 68056327

Change-Id: I4af136490e572ba603d2a77f70e49d1feec1eb00
2017-10-25 20:16:43 +00:00
Jeff Gaston
0832a9976c Merge "Update a Turbine Jacoco check" 2017-10-25 20:16:18 +00:00
Jeff Gaston
f001a5097c Update a Turbine Jacoco check
Test: m EMMA_INSTRUMENT=true
Bug: 64308460
Change-Id: Idbfa58bdea178495e1f717043b908670fd4b15ed
2017-10-25 20:15:51 +00:00
Jeff Gaston
f88c967670 Merge "Make Jacoco exclusions relative to the current directory" 2017-10-25 19:16:22 +00:00
Søren Gjesse
4ab5b02e62 Define proguard dictionary output for R8
When running with R8 instead of Proguard + dx the proguard mapping is
produced together with the dex output.

Bug: 68249935
Test: m -j ahat-test
Change-Id: Ica5ef455eb3bd1eabe55c43e9e026f47cadace1c
2017-10-25 17:16:53 +02:00
Treehugger Robot
44e5fad30f Merge "Create product sysprops on vendor partition." 2017-10-25 08:57:14 +00:00
Jaekyun Seok
f9af5fa6ab Install (vendor|system/vendor)/build.prop always
For now, vendor build properties are added into /system/build.prop
when property split isn't enabled.
So we have the duplicate codes to add them to /system/build.prop and
/vendor/build.prop case by case.

But either /vendor/build.prop or /system/vendor/build.prop can exist
always.
So this CL will install $(TARGET_OUT_VENDOR)/build.prop always and
remove the duplication.

Bug: 68115808
Test: tested on aosp_x86-userdebug
Change-Id: Ic734418890629d011c733c2d8d14739275e64a78
2017-10-25 13:12:07 +09:00
Jeff Gaston
5dd3057526 Merge "Remove quoting of Jacoco exclusions" 2017-10-25 03:53:29 +00:00
Ryan Campbell
63fc0e681d Create product sysprops on vendor partition.
Duplicate essential product sysprops for manufacturer, model, brand, name, and device
from system on vendor so that mixed builds (vendor.img + GSI system.img) have correct
product information in their CTS/VTS reports.

Test: make
Bug: 64458205
Merged-In: Ib63b37772be493b9e035d9b7e8c5e2cf66f2fa8c
Change-Id: Ib63b37772be493b9e035d9b7e8c5e2cf66f2fa8c
(cherry picked from commit aea0f92ff3)
2017-10-25 11:35:14 +09:00
Treehugger Robot
7a7456722a Merge changes from topic "shipping-on-vendor"
* changes:
  build: fix builds when first_api_level isn't defined as property
  Move ro.product.first_api_level to vendor/build.prop
2017-10-25 00:33:44 +00:00
Sandeep Patil
127f501287 build: fix builds when first_api_level isn't defined as property
Bug: 67965044
Test: Build pixel
Merged-In: I4bce5a4f4d0751a30bf7abda0da5e7d73313c9ef
Change-Id: I4bce5a4f4d0751a30bf7abda0da5e7d73313c9ef
Signed-off-by: Sandeep Patil <sspatil@google.com>
(cherry picked from commit b79196f0ca)
2017-10-25 07:27:09 +09:00
Steven Moreland
ec082650a1 Move ro.product.first_api_level to vendor/build.prop
Shipping API level is associated with the vendor image. When
a device ships in, say, O and is then run against the O-MR1
GSI image, the shipping API level is currently reported as
the shipping API level which the GSI was built with. This means
that various tests and control flows assume that the image
is the newest possible image. However, this is not the case.

Bug: 67965044
Test: boot on pixel
Merged-In: If18cc99e2599957d88860e0902a99ff3f67e5fd8
Change-Id: If18cc99e2599957d88860e0902a99ff3f67e5fd8
(cherry picked from commit 9411f9b4dc)
2017-10-25 07:26:56 +09:00
Yabin Cui
42c9da3ef7 Merge "Use armv7-a when building sdk." 2017-10-24 21:18:33 +00:00
Tri Vo
8716646d63 Merge "Label emulator devicetree dir." 2017-10-24 20:36:22 +00:00
Colin Cross
6548d2a98d Desugar default methods if required
Desugar default methods if requested by LOCAL_MIN_SDK_VERSION < 26.
Also remove --desugar_try_with_resources_if_needed=false, it is no
longer necessary if we always proguard against frameworks.jar.
Fixes d8 issues when it sees unexpected default methods that dx
was passing through.

Test: m checkbuild
Change-Id: I81796b452d5a70a951e175727953d4295ca32c0c
2017-10-24 13:29:36 -07:00
Colin Cross
b5f25a257f Always raise proguard libraries
The platform build system doesn't have the concept of a "compile sdk
version", it uses the "min sdk version" throughout the compilation
process.  This means that no stage of the compilation process can
introduce references to APIs that do not exist in the selected
LOCAL_MIN_SDK_VERSION without causing problems.  Support library
worked around this by effectively making the "compile sdk version"
"current" when running proguard if support library was in the direct
dependency list.

Extend the support library hack everywhere, and always use "current"
or the full bootclasspath when running proguard.

Test: m checkbuild
Change-Id: Iaf5853361767f0ea3e9ad4ec908aadd72d639c79
2017-10-24 13:29:36 -07:00
Yabin Cui
1fe7ac7534 Use armv7-a when building sdk.
Bug: http://b/68201917
Test: make sdk.
Change-Id: I7817bc03beb109b4152d3bc751f0d2438cc93e3b
2017-10-24 12:44:13 -07:00
Jeff Gaston
8fcf6a4846 Make Jacoco exclusions relative to the current directory
Test: m EMMA_INSTRUMENT=true
Bug: 68056327
Change-Id: Ia6bf1cf78920107404fed4cbd8259d4442b04755
2017-10-24 12:34:38 -07:00
Jeff Gaston
b64f70557a Remove quoting of Jacoco exclusions
So that "*" works again

Test: m EMMA_INSTRUMENT=true
Bug: 68056327

Change-Id: Ieaad8bfbdeb0562910e6027682663049b0187c5e
2017-10-24 12:34:38 -07:00
Søren Gjesse
6836c47b8b Merge "Added support for using R8 instead of Proguard + dx"
am: 9047dce212

Change-Id: Ibf7489aa1af1b2ae5fc5540b3eceec0c4a67a32b
2017-10-24 06:45:36 +00:00
Søren Gjesse
9047dce212 Merge "Added support for using R8 instead of Proguard + dx" 2017-10-24 06:39:09 +00:00
Sundong Ahn
505ed24fbc Merge "Add ro.vndk.version property"
am: 9d3d271673

Change-Id: Id82c6e0c62571c5b0a6f068edce876c42f6e50c5
2017-10-24 01:24:29 +00:00
Treehugger Robot
9d3d271673 Merge "Add ro.vndk.version property" 2017-10-24 01:17:01 +00:00
Ryan Campbell
84a873dd50 Merge "Use space-separated coverage paths."
am: f7a596a161

Change-Id: I8dce3520428550e9c1591b6d4fbd7733429c5a78
2017-10-23 23:44:44 +00:00
Treehugger Robot
f7a596a161 Merge "Use space-separated coverage paths." 2017-10-23 23:38:49 +00:00
Tao Bao
a89179ad7c Merge "Fix an issue in assert-max-image-size."
am: d690ca5b8a

Change-Id: Ic60bb93a2daec5164caf584e3988240c2c5d70cc
2017-10-23 22:52:58 +00:00
Tao Bao
d690ca5b8a Merge "Fix an issue in assert-max-image-size." 2017-10-23 22:43:23 +00:00
Torne (Richard Coles)
129ab63392 resolve merge conflicts of 0c8b471be3 to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I81ec8e0660100eabdc0664cfc37198e95be95ae2
2017-10-23 11:41:58 -04:00
Treehugger Robot
0c8b471be3 Merge "Don't add empty entry to PATH." 2017-10-23 15:02:24 +00:00
Søren Gjesse
0c1fe64ce8 Added support for using R8 instead of Proguard + dx
With this change building with USE_R8=true will run R8 instead of Proguard + dx
for all targets that have LOCAL_PROGUARD_ENABLED set. R8 (through the
compatproguard wrapper) will use the same options as Proguard for now.

Additional Proguard configurations for R8 can be added using LOCAL_R8_FLAG_FILES
on individual targets. This makes it possible to make configuration updates
without touching the Proguard + dx configuration

Test: m -j
Test: m -j USE_D8=true USE_R8=true
Test: m -j USE_D8=true USE_R8=false
Test: m -j USE_D8=true
Change-Id: I78e8a0fd17cc5cefedccffe95b93c94a60a727f1
2017-10-23 08:58:30 +02:00
Jiyong Park
5099d1a340 Merge "Freeze VNDK lib list on release platforms"
am: f636d065bd

Change-Id: I926ed105da6627f03d614a1d8196c35bdc378eaf
2017-10-23 02:05:14 +00:00
Treehugger Robot
f636d065bd Merge "Freeze VNDK lib list on release platforms" 2017-10-23 02:01:06 +00:00
Ryan Campbell
a435aa5171 Use space-separated coverage paths.
Specify paths to instrument with coverage using space separated lists
instead of comma separated. This makes it easier to specify the lists in
a typical format in the device mk.

Test: add COVERAGE_PATHS to device-sailfish.mk, make -j60
Bug: 67998360
Change-Id: I26c67127d72bd7a153eb4a2c23eae4881a813d54
2017-10-22 19:10:09 +00:00
Jiyong Park
3b6c916194 Freeze VNDK lib list on release platforms
The list of VNDK libraries that exist in the source tree is compared
against the latest known list. If they are different, build breaks.

The latest list can be updated by running update-vndk-list.sh but it
is allowed only for development branches (i.e. PLATFORM_VERSION_CODENAME
!= REL).

Bug: 67002788
Test: build 2017 pixel devices
Test: m check-vndk-list
Test: update-vndk-list.sh
Change-Id: I4bae2b647c045b11ac7d587fab48067bf53a7cf4
2017-10-22 18:05:44 +09:00
Nan Zhang
117151358c Merge "Remove Turbine definition from config.mk"
am: a6d7420c58

Change-Id: If37be35711fbb8e2c728915c23c54d86f41fa83a
2017-10-21 01:28:46 +00:00
Treehugger Robot
a6d7420c58 Merge "Remove Turbine definition from config.mk" 2017-10-21 01:20:45 +00:00
Colin Cross
bce301801f Merge "Update references to build/core to build/make/core"
am: 6db8597174

Change-Id: I4be5bc1805d1900991966d24fda15f2705ee248d
2017-10-20 23:49:17 +00:00
Colin Cross
6db8597174 Merge "Update references to build/core to build/make/core" 2017-10-20 23:41:12 +00:00