Commit Graph

41024 Commits

Author SHA1 Message Date
Alan Leung
5eb88c0112 Add zip2zip as dependency of dexing step.
Bug: 69329508
Test: m checkbuild
Change-Id: I85f4508b6b1fee357d296bda6f0b6ba02cba70b7
2017-12-20 20:03:58 -08:00
Jiyong Park
9848be3581 TARGET_COPY_OUT_[ODM|OEM] are exported to soong
The two make vars are exported to soong as OdmPath and OemPath.

Bug: 68187740
Test: out/soong/soong.variables has OdmPath and OemPath each of which
points to 'odm' and 'oem'.
Change-Id: Ia283e4eb4aacc61b5b3c46e9001ea924566ea898
2017-12-21 12:13:13 +09:00
Tobias Thierer
7e99d45ec2 Pass OpenJDK 8's bootclasspath for host tools targeting <= 1.8.
Host (as opposed to hostdex) tools compile and run against OpenJDK's
core libraries. Before this CL, the core libraries of the default
toolchain were always used, even when targeting an earlier language
version.

This meant that code that uses APIs from a later version of OpenJDK
than corresponded to LOCAL_JAVA_LANGUAGE_VERSION would compile, but
would fail to run under that earlier version of OpenJDK. It also
meant that calls to existing APIs might be reinterpreted; for
example, the return type of java.nio.ByteBuffer.clear() changed from
Buffer in OpenJDK 8 to ByteBuffer in OpenJDK 9. At compile time, this
was noted via the warning:
  bootstrap class path not set in conjunction with -source 1.8

After this CL, when targeting a language version <= 1.8 (which is
always the case when building with OpenJDK 8), some of OpenJDK 8's
core library/tools jars are now passed on the bootclasspath. The
decision to include the bootclasspath argument when building with
OpenJDK 8 was somewhat arbitrary, but has the advantage that we
discover any issues before we switch to OpenJDK 9.

Even when compiling with OpenJDK 9, use of OpenJDK 9 APIs will now
fail at compile time rather than at runtime; calls to existing APIs
will now be interpreted in OpenJDK 8 rather than 9 fashion. For
example, this means that dx and host-side CTS tests built with
OpenJDK 9 javac -target 1.8 will be runnable under OpenJDK 8.

Bug: 70521453
Bug: 70862583
Test: Checked that the bootclasspath argument was passed
      in the javac invocation targeting 1.8 during:
      make showcommands compatibility-common-util-hostsidelib
Test: make checkbuild

Change-Id: I9b6081edfdd2c3e9a450ae8a39c4e32c3d2cda92
2017-12-21 01:38:44 +00:00
Colin Cross
a6e878219c Remove obsolete leaf names
classes-no-debug-var.jar is incorrect, jars in coverage builds
do have debug information.  Remove full_classes_compiled_jar_leaf
and hardcode classes-full-debug.jar.

After the previous patch, all dex files have debug information,
so remove the no-local and with-local directories and replace
them with dex/.

Remove the unnecessary jarjar_leaf.

Bug: 70886092
Test: m checkbuild
Change-Id: I63eace8f8cda5ad8bc0cbd11eefda73dd063ed76
2017-12-20 17:33:01 -08:00
Colin Cross
ff812829b6 Remove obsolete dx --no-locals when coverage is enabled
We use jacoco for coverage now instead of emma, so the workaround
is no longer necessary.

Bug: 70886092
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: I103cbe58590689640a0b1520d22b3d3b7cd2208d
2017-12-20 17:03:52 -08:00
Treehugger Robot
7f0e221942 Merge "Package NOTICE files and record LOCAL_PATHs" 2017-12-21 00:38:25 +00:00
Treehugger Robot
98acb09033 Merge "Do not enforce VNDK on GSI if VNDK version is not set" 2017-12-20 23:25:23 +00:00
Justin Yun
fc951ff268 Do not enforce VNDK on GSI if VNDK version is not set
If ro.vndk.version is not defined, use the namespace configuration
file that does not enforce VNDK restriction.
This is only for GSI.

Bug: 70704112
Test: Flash sailfish with PI and test with PI GSI image
Change-Id: Ic2b41357905ef47a3483b2eff635e8ae239e28aa
2017-12-21 08:24:36 +09:00
Treehugger Robot
8950c2bb82 Merge "Set BOARD_VNDK_VERSION=current as a default value" 2017-12-20 23:16:11 +00:00
Justin Yun
571737e8fc Set BOARD_VNDK_VERSION=current as a default value
For Android P or later launching devices, set BOARD_VNDK_VERSION to
"current" as a default value if the value is not defined yet.
"PRODUCT_USE_VNDK_OVERRIDE=false" can disable this feature.

Bug: 70480159
Bug: 62019611
Test: Unset BOARD_VNDK_VERSION
      Set PRODUCT_SHIPPING_API_LEVEL "28"
      - Check if BOARD_VNDK_VERSION is set to "current"
      Set PRODUCT_USE_VNDK_OVERRIDE to "false"
      - Check if BOARD_VNDK_VERSION is not defined

Change-Id: I8d37579e8c4ca1788705cbc8a42e8812e2b93a22
2017-12-21 08:15:19 +09:00
Treehugger Robot
5281020692 Merge "Use PLATFORM_VERSION_CODENAME for VNDK version" 2017-12-20 23:14:23 +00:00
Justin Yun
729856a5f2 Use PLATFORM_VERSION_CODENAME for VNDK version
Before Android version is released, we may use
PLATFORM_VERSION_CODENAME for PLATFORM_VNDK_VERSION to add version
suffix to VNDK directories.

Bug: 70584135
Test: Test youtube and RS apps
Change-Id: Ie788544740a5257232abc2c9acbce64749d15602
2017-12-21 08:13:32 +09:00
Dan Shi
efb892d858 Auto generate test config files
This change allows one to run atest <module name>. The TradeFed test
config file will be automatically created in testcases directory based
on the settings.

Bug: 69929803, 69932044
Test: m -j NotificationStressTests libminijail_test
add following lines in notificationtests/Android.mk,
before "include $(BUILD_PACKAGE)"
LOCAL_COMPATIBILITY_SUITE := general-test

Change-Id: Ib5e9cd152d957b5d5beb6ed23a899a021a7e06d6
2017-12-20 15:05:17 -08:00
Sen Jiang
43935639fb Remove zlib_fingerprint support.
Test: m dist
Change-Id: I580993e5089b3eb73af0ee931dd222ebfd3a8593
2017-12-20 13:14:14 -08:00
Treehugger Robot
a53865d108 Merge "Remove sepolicy_split from Soong." 2017-12-20 19:10:32 +00:00
Alan Leung
326cd6637f Merge "Prep D8 default instead of CompatDX in build/core" 2017-12-20 02:00:45 +00:00
Alan Leung
5260c8bdbc Merge "Revert "Enable R8 by default (third attempt)"" 2017-12-19 23:46:13 +00:00
Alan Leung
c2cd517418 Revert "Enable R8 by default (third attempt)"
Bug: 70858752

This reverts commit 658e4e4e3a.

Reason for revert: breaks com.android.systemui.util.leak.LeakDetectorTest#trackInstance_doesNotLeakTrackedObject

which breaks presubmit

Change-Id: I6759cbef6dd5149ddb57836cd080829a5394473d
2017-12-19 23:45:15 +00:00
Steven Moreland
9634b1a0f3 Remove sepolicy_split from Soong.
No longer needed.

Bug: 62019611
Test: manual
Change-Id: I14a96d2f9dab24e446bccd79d2f0f13763f7a2e9
2017-12-19 12:35:26 -08:00
Treehugger Robot
eba55d2515 Merge "Revert "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met"" 2017-12-19 20:32:34 +00:00
Alan Leung
c8ef37dfd8 Prep D8 default instead of CompatDX in build/core
Also use zip2zip to extract classes into another jar
to avoid hitting parameter limit in the shell invocations.

Bug: 69329508
Test: m checkbuild tests

Change-Id: Ic047aa699519b6b3fd100cb5395de945f96e4d0b
2017-12-18 23:54:33 -08:00
Søren Gjesse
6f516aef40 Merge "Enable R8 by default (third attempt)" 2017-12-19 07:12:05 +00:00
Treehugger Robot
b379762089 Merge "build_image: Factor out CheckHeadroom() and add tests." 2017-12-19 00:00:41 +00:00
Treehugger Robot
b08567cbb6 Merge "releasetools: Fix the tag replacement for ro.build.vendor.fingerprint." 2017-12-18 22:18:14 +00:00
Treehugger Robot
d30b75190d Merge "Remove the support for BOARD_HAS_EXT4_RESERVED_BLOCKS." 2017-12-18 22:17:46 +00:00
Baligh Uddin
c4f76d670a Merge "Add generate_verity_key (+dependencies) to otatools package." 2017-12-18 20:40:49 +00:00
Søren Gjesse
658e4e4e3a Enable R8 by default (third attempt)
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I5ab4ed75493404c1b330827fe0005510f5613a68
2017-12-18 20:16:28 +01:00
Baligh Uddin
c8bef14c9f Add generate_verity_key (+dependencies) to otatools package. 2017-12-18 10:40:57 -08:00
Treehugger Robot
2b1f0d1810 Merge changes from topic "kati-obsolete-full-treble"
* changes:
  .KATI_obsolete PRODUCT_FULL_TREBLE.
  PRODUCT_NOTICE_SPLIT from PRODUCT_FULL_TREBLE
2017-12-18 17:46:25 +00:00
Steven Moreland
5dcea5de76 .KATI_obsolete PRODUCT_FULL_TREBLE.
It has been broken up into subflags, and usage has been cleaned up.

Bug: 69865032
Test: can't use PRODUCT_FULL_TREBLE
Change-Id: Ia38366a30132f129d09c6f4a985402c202bace62
2017-12-18 17:45:55 +00:00
Steven Moreland
27aaecaf1e Revert "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met"
This reverts commit 55e17a753e.

Reason for revert: Soong recognizes requirements.
Bug: 62019611
Test: still PRODUCT_FULL_TREBLE true on 2017 pixel

Change-Id: Id2b2186af5c9aa08e8f10ec2894f0f8d69f15d60
2017-12-18 17:44:16 +00:00
Jae Shin
410a1af4f9 Package NOTICE files and record LOCAL_PATHs
Copy the NOTICE files for VNDK shared libs from
$(TARGET_OUT_NOTICE_FILES).
Create module_paths.txt to record the LOCAL_PATH for VNDK shared
libs. The LOCAL_PATH values are needed to read the SHA value
of a library's git project from manifest.xml.

Test: m -j vndk dist
Bug: 70603439
Change-Id: I9574abb48a472cb69440f3e9213ffdd0c1cac266
2017-12-18 12:33:08 +09:00
Treehugger Robot
6663c8476a Merge "Depend on the more specific ndk timestamp." 2017-12-16 03:14:43 +00:00
Treehugger Robot
305d2abb27 Merge "Call clang-tidy with -quiet unless WITH_TIDY is set." 2017-12-16 01:53:44 +00:00
Treehugger Robot
9d3270bd52 Merge "Remove support for pre-r13 NDKs." 2017-12-16 01:15:29 +00:00
Colin Cross
9b93a8892a Merge "Fix swapped certificate and private key in soong apps" 2017-12-16 00:04:07 +00:00
Colin Cross
1ea9c644c8 Merge "Export app implementation and header jars" 2017-12-16 00:00:24 +00:00
Chih-Hung Hsieh
6375b6d730 Call clang-tidy with -quiet unless WITH_TIDY is set.
* Default builds calls clang-tidy only if enabled locally.
  In this case, clang-tidy should be quiet.
* If WITH_TIDY is 1 or true, let clang-tidy emit default messages.
* Even with -quiet and all warnings are suppressed,
  clang-tidy emits one line message of the number of suppressed messages.
  This one-liner could be suppressed in future changes.

Bug: 69051430
Test: default build and build with WITH_TIDY=1
Change-Id: I3138ef45fc4372f904787bd1a391e8d88050f0b3
2017-12-15 15:41:14 -08:00
Treehugger Robot
e58d385df1 Merge "releasetools: Use delta_generator to verify payload signatures." 2017-12-15 23:38:12 +00:00
Dan Albert
3d1d1ead79 Remove support for pre-r13 NDKs.
We only have r16 checked in now.

Test: make native
Bug: None
Change-Id: I1600598cf86f803f9fdcf3fa5ada8d1871c98b65
2017-12-15 15:25:06 -08:00
Treehugger Robot
8c2007cf4d Merge "Create build artifact tradefed-tests_list.zip" 2017-12-15 23:25:01 +00:00
Steven Moreland
ae69e5787a PRODUCT_NOTICE_SPLIT from PRODUCT_FULL_TREBLE
- until PRODUCT_NOTICE_SPLIT is the default
- disallow PRODUCT_NOTICE_SPLIT_OVERRIDE because it
  doesn't need to be differentiated.

Bug: 69865032
Test: manual
Change-Id: I4a29c298862fc9fab51755bf19f236f61fbd784d
2017-12-15 14:52:07 -08:00
Tao Bao
e2ffc8b887 Merge "releasetools: Remove the support for generating verify package." 2017-12-15 22:00:06 +00:00
Colin Cross
4e34ce054c Fix swapped certificate and private key in soong apps
The .x509.pem file should be in CERTIFICATE, and the .pk8 file
in PRIVATE_KEY.

Bug: 70669383
Test: examine apkcerts.txt
Change-Id: I480f19be2efbbd72ea23ebd681f312b94accfd7a
2017-12-15 13:41:24 -08:00
Colin Cross
75a698b394 Export app implementation and header jars
Also fix a missing dependency on the jacoco-report-classes.jar

Test: m checkbuild
Change-Id: I67e924051e1029a409b82f2220811a27d5401db9
2017-12-15 13:41:24 -08:00
Treehugger Robot
aec47c67cd Merge "Revert "Default NDK modules to libc++_shared."" 2017-12-15 21:39:29 +00:00
Tao Bao
750385e455 releasetools: Use delta_generator to verify payload signatures.
We used to take a hard approach by parsing the payload with Python
script. This can be done by calling deleta_generator directly, which
also avoids the dependency on protobuf.

- Passing case
$ ./build/make/tools/releasetools/check_ota_package_signature.py \
    build/target/product/security/testkey.x509.pem \
    out/dist/aosp_marlin-ota-eng.zip

Package: out/dist/aosp_marlin-ota-eng.zip
Certificate: build/target/product/security/testkey.x509.pem
  ...
Whole package signature VERIFIED

Verifying A/B OTA payload signatures...
[1215/122842:INFO:generate_delta_main.cc(171)] Verifying signed payload.
[1215/122845:INFO:payload_verifier.cc(93)] signature blob size = 264
[1215/122845:INFO:payload_verifier.cc(112)] Verified correct signature 1 out of 1 signatures.
[1215/122845:INFO:payload_verifier.cc(93)] signature blob size = 264
[1215/122845:INFO:payload_verifier.cc(112)] Verified correct signature 1 out of 1 signatures.
[1215/122845:INFO:generate_delta_main.cc(181)] Done verifying signed payload.

Payload signatures VERIFIED

$ echo $?
0

- Failing case
Sign the whole package file with a different key, but leaving payload entries intact.

$ ./build/make/tools/releasetools/check_ota_package_signature.py \
    testkey2.x509.pem \
    marlin-ota-mismatching.zip
Package: marlin-ota-mismatching.zip
Certificate: testkey2.x509.pem
  ...
Whole package signature VERIFIED

Verifying A/B OTA payload signatures...
[1215/123054:INFO:generate_delta_main.cc(171)] Verifying signed payload.
[1215/123056:INFO:payload_verifier.cc(93)] signature blob size = 264
[1215/123056:ERROR:payload_verifier.cc(118)] None of the 1 signatures is correct. Expected:
[1215/123056:INFO:utils.cc(444)] Logging array of length: 256
[1215/123056:INFO:utils.cc(461)] 0x00000000 : 00 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
  ...
[1215/123056:ERROR:payload_verifier.cc(121)] But found decrypted hashes:
[1215/123056:INFO:utils.cc(444)] Logging array of length: 256
[1215/123056:INFO:utils.cc(461)] 0x00000000 : 52 68 78 36 f6 9e cd 2d 5e 9f 31 d5 26 03 c9 aa
  ...
[1215/123056:ERROR:payload_signer.cc(333)] PayloadVerifier::VerifySignature( signature_blob, public_key_path, payload_hash) failed.
[1215/123056:INFO:generate_delta_main.cc(177)] VerifySignedPayload failed

    ERROR: Failed to verify payload with delta_generator: marlin-ota-mismatching.zip

$ echo $?
1

Bug: 65261072
Test: See above.
Change-Id: Id2e065655ec49b80dd2b13c6a859f41913be055b
2017-12-15 12:45:09 -08:00
Treehugger Robot
b982d8b7ae Merge "Remove Treble from soong_config.mk" 2017-12-15 20:07:21 +00:00
Dan Albert
37099686c0 Revert "Default NDK modules to libc++_shared."
This reverts commit 6168f5baf1.

Reason for revert: http://b/70718590

Change-Id: I3e7afe3d1642260c2b5103cb07c636b0b5d72379
2017-12-15 20:01:03 +00:00
Joe Onorato
fa839296ea Merge "When compiling with the lite protobuf option, pass the option to aprotoc to force the lite runtime." 2017-12-15 19:39:46 +00:00