Commit Graph

17954 Commits

Author SHA1 Message Date
Sundong Ahn
a9f2ef5ed1 Change the impl lib name of java_sdk_library
The impl lib name of java_sdk_library is changed to {module_name}.jar
instead of {module_name}.impl.jar

Bug: 110404779
Test: m -j
Change-Id: I275cd40e3682640b96425e56698cea770888cbb1
Merged-In: I275cd40e3682640b96425e56698cea770888cbb1
(cherry picked from commit 0372f189ac)
2019-01-17 09:42:57 +09:00
Colin Cross
371f557f8e Merge "Revert "Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk"" 2019-01-16 01:41:01 +00:00
Colin Cross
5d196364e1 Revert "Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk"
This reverts commit a76cc6d732.

Reason for revert: broke emma turbine build

Change-Id: Ie894565501d0de44f96dc736408a8c4e2ba2ed90
2019-01-16 01:38:41 +00:00
Colin Cross
8bc94444eb Merge "Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk" 2019-01-15 23:39:25 +00:00
Ivan Lozano
c244c21573 Enable execute-only memory layouts by default.
This enables execute-only memory (XOM) layouts to be used by default in
the build system. As of now, there's only support for ARM64 devices, so
this only affects those. Since userland XOM requires kernel support,
devices without the necessary support will continue to allow pages
marked execute-only to be read and they should be unaffected by this.

Bug: 77958880
Test: Device with and without kernel support boot.
Test: Binary throws segfault when reading from XOM on supported device.
Test: Debugger works and stack traces are still generated correctly.
Test: Teamfooding, stable during regular usage.

Change-Id: I8db4235c8e60eea6d701bdf3c43b79a06d6b01cd
2019-01-15 13:05:59 -08:00
Treehugger Robot
d878baceda Merge "Fix typo in some comments" 2019-01-15 19:55:08 +00:00
Dan Willemsen
7c7252d628 Merge "Stop using the files target for droidcore" 2019-01-15 19:11:01 +00:00
Neil Fuller
5a89537574 Merge "Revert "Add core-simple to the standard boot classpath"" 2019-01-15 19:04:26 +00:00
Colin Cross
a76cc6d732 Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk
Simplify importing Soong modules into Make by always copying
LOCAL_PREBUILT_MODULE_FILE to LOCAL_BUILT_MODULE, which lets
Soong pick the final output file instead of trying to figure
out which of the various intermediate files should be the
output file.

Also fixes an issue where hostdex modules could attempt to
copy to both $(common_javalib.jar) and $(LOCAL_BUILT_MODULE),
which are the same file for host java modules.

Test: set compile_dex:true on core.platform.api.stubs. no warnings
      of target overriding
Test: m checkbuild

Change-Id: Id84d499a0869961be5a906d8472b75b9c843b4b4
2019-01-15 10:16:55 -08:00
Treehugger Robot
63d012f987 Merge "Error if a Soong module attempts to install a classes jar" 2019-01-15 17:40:28 +00:00
Jiyong Park
9ee3a16f26 Fix typo in some comments
Test: no need
Change-Id: I68620689f1a2eb2eca67e11b55dc781e7744859e
2019-01-16 01:07:35 +09:00
Treehugger Robot
fc598781c6 Merge "ATest: Add test config template for python." 2019-01-15 10:04:58 +00:00
Dan Willemsen
3b6f6fe8aa Stop using the files target for droidcore
This way if a BoardConfig.mk configures a specific image to exist (so it
doesn't end up as a folder on /system), but does not configure for it to
be created (like the device targets on AOSP that use a prebuilt), we
won't unnecessarily trigger the build system to build the contents.

Test: `m` before and after, comparing file lists
Test: check treehugger builds before/after
Change-Id: If0e4b958b3dfaa02771a5da70f970379635f904e
2019-01-14 21:46:31 -08:00
Elliott Hughes
37ab4e2b2e Use find(1)'s -exec directly.
toybox xargs doesnt have --no-run-if-empty:

  xargs: Unknown option no-run-if-empty (see "xargs --help")

But we shouldn't need it anyway.

Test: make -j32 showcommands dist TARGET_BUILD_APPS='Launcher3 Launcher3Tests' EMMA_INSTRUMENT_STATIC=true TARGET_BUILD_VARIANT=userdebug
Change-Id: I72f680c27b58a42b9fb9de1a0bc4187cabcfb516
2019-01-14 12:56:07 -08:00
Colin Cross
1a2e9dc10c Error if a Soong module attempts to install a classes jar
Only dex jars should be installed, make it an error to not provide
a dex jar for an device installable java module.

Bug: 122831369
Test: m checkbuild
Change-Id: I99c5738e6053fbaa3dd22406f50b7a002555702c
2019-01-14 12:50:08 -08:00
Neil Fuller
c69129b2b8 Revert "Add core-simple to the standard boot classpath"
This reverts commit e85777782a.

Bug: 119301609
Test: build
Change-Id: Ibf9f9f56a6027a4cc3f3ea5a34b3dee748ad83c2
2019-01-14 16:02:01 +00:00
Nicolas Geoffray
7769c3459a Merge "Remove conscrypt from boot image." 2019-01-14 08:31:05 +00:00
Luca Stefani
5f1faeb9c2 Make get-file-size compatible with toybox stat
* Use the same format as mk_qemu_image.sh

Change-Id: I5df23f488006440075a00798a171f7a8856e097a
2019-01-12 19:13:06 +01:00
Treehugger Robot
b26319ca38 Merge "Fix size check for devices with multiple groups" 2019-01-12 05:59:30 +00:00
Treehugger Robot
d148d61ccf Merge "Deprecate USER in favor of BUILD_USERNAME" 2019-01-11 22:32:57 +00:00
Yifan Hong
d58e70bf21 Fix size check for devices with multiple groups
The old code calls check-sum-of-partition-sizes within a foreach
loop, causing syntax error:
... fi partition_size_list=...

Add a semicolon after fi to fix this.
Test: build with multiple groups, each group with a partition in it

Change-Id: Ic4387408f3efc1744871619c300546765c678a61
2019-01-11 13:21:11 -08:00
Michael Butler
d15c8c1da4 Merge "Revert "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"" 2019-01-11 20:37:55 +00:00
Michael Butler
4cf7cde9aa Revert "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"
This reverts commit 3387e65686.

Reason for revert: Topic likely causing build failure on aosp_x86_64-eng in aosp_master:

"build/make/core/base_rules.mk:271: error: art/build/apex: MODULE.TARGET.SHARED_LIBRARIES.com.android.runtime.host.libart-compiler already defined by art/build/apex."

Change-Id: I2033828e7a13062b72d1d66a7f289cf5bb12b776
2019-01-11 20:24:25 +00:00
Roland Levillain
2e77d4ee2c Merge "Support kryo385 CPU." 2019-01-11 18:41:11 +00:00
Treehugger Robot
6bff2bc817 Merge "Add $(PRODUCT_OUT)/apex to the artifact path whitelist" 2019-01-11 17:43:16 +00:00
Vladimir Marko
e3a2db8661 Remove conscrypt from boot image.
But keep it as part of the boot class path and deliver the
dex files uncompressed in /system/framework/conscrypt.jar.

Test: Pixel 2 XL boots.
Bug: 119868597
Change-Id: I41b96a586401d120998be5a111331935030922c6
2019-01-11 10:27:17 +00:00
Yoshisato Yanagisawa
391cbc5409 Remove Goma resource check code.
Since resource check has been done in Soong, we do not need that
here.

Bug: 118390303
Test: treehugger
Change-Id: Ib9d0862c65c6dc6e7fd7563995a9a335b3185786
Signed-off-by: Yoshisato Yanagisawa <yyanagisawa@google.com>
2019-01-11 17:07:58 +09:00
Jiyong Park
3387e65686 Add $(PRODUCT_OUT)/apex to the artifact path whitelist
$(PRODUCT_OUT)/apex is where shared libraries in APEXes get installed
into. The path can be considered as a fake path as the shared libraries
are installed there just to have symbol files for them under
$(PRODUCT_OUT)/symbols/apex for debugging purpose. Shared libraries in
APEXes are made available to the path at runtime by mounting APEXes via
apexd. The files under $(PRODUCT_OUT)/apex are never compiled into a
file system image (e.g. system.img)

Bug: 120846816
Test: build/soong/build_test.bash -dist -products mainline_system_arm64
Change-Id: I3727091214f08f945559fa5f0f1450e74c1a5c9b
2019-01-11 13:33:56 +09:00
Jeongik Cha
bdf0ec03b6 Merge "Dump and enforce certificate for apks" 2019-01-11 04:31:02 +00:00
Treehugger Robot
73e13b5030 Merge changes I68c8a566,Ib8a588e5
* changes:
  All all_objects to LOCAL_INTERMEDIATE_TARGETS
  Reorder binary.mk to move LOCAL_INTERMEDIATE_TARGETS later
2019-01-11 04:29:49 +00:00
Treehugger Robot
1b8939b946 Merge "Add BUILD_USERNAME and BUILD_HOSTNAME" 2019-01-10 21:29:47 +00:00
Dan Willemsen
11ee341199 All all_objects to LOCAL_INTERMEDIATE_TARGETS
This fixes the WITH_TIDY flakes that we've been seeing, as we've been
relying on a particular order of target-specific variable inheritance.

Change-Id: I68c8a56620c29a41e45f26e5ea81a5313490c1cf
Fixes: 122637600
Test: WITH_TIDY=true m libhellojni_jni
2019-01-10 13:21:07 -08:00
Dan Willemsen
e24da82ffd Reorder binary.mk to move LOCAL_INTERMEDIATE_TARGETS later
I'll be adding more intermediate targets in this file, so move all of
the uses closer to the end.

Bug: 122637600
Test: build-aosp_arm64.ninja is the same before and after
Change-Id: Ib8a588e570cb2a61bab75118db6e480d6afceaa8
2019-01-10 13:10:17 -08:00
Treehugger Robot
1951e70416 Merge "Remove code to start Goma compiler_proxy." 2019-01-10 19:24:03 +00:00
Treehugger Robot
82f2cb078f Merge "Stop trying to read depfile from vtsc" 2019-01-10 17:46:34 +00:00
Treehugger Robot
56645f7d88 Merge "Support LOCAL_DEX_PREOPT := nostripping" 2019-01-10 08:58:01 +00:00
Yoshisato Yanagisawa
f07f721235 Remove code to start Goma compiler_proxy.
Since the code to start compiler proxy is implemented in soong now
(https://android-review.googlesource.com/c/platform/build/soong/+/839293).
We do not need to do that in goma.mk.

Bug: 118390303
Test: After staring goma client, executed followings:
Test: USE_GOMA=true make -j 4
Change-Id: If3da9908483e183f539c0d6ef9dc5826200b0d6b
Signed-off-by: Yoshisato Yanagisawa <yyanagisawa@google.com>
2019-01-10 14:29:45 +09:00
Colin Cross
723a22feea Support LOCAL_DEX_PREOPT := nostripping
Support LOCAL_DEX_PREOPT := nostripping by passing it to
dexpreopt_gen.

Bug: 122610462
Test: m
Change-Id: I05f7009d38505f995cd16cc8dbb4ecd6ecc3d71c
2019-01-09 21:27:53 -08:00
Jeongik Cha
b2c4bb7e3d Dump and enforce certificate for apks
Dump the list of APKs that aren't located at system partition and signed
with system certificate.
And when enforcement option is enabled, it makes build error if there is
the apk that satisfies the condition above.

Bug: 74699609

Test: m -j
Test: m out/target/product/$(get_build_var TARGET_DEVICE)/certificate_violation_modules.txt

Change-Id: I23c41f2665dd97abac3e77d1c82d81ff91b894eb
2019-01-10 11:37:22 +09:00
Dan Willemsen
5125746561 Stop trying to read depfile from vtsc
vtsc just ignores the -d argument and apparently can't write a depfile.
So for now, just stop assuming it produces one.

Bug: 121058584
Bug: 120496070
Test: NINJA_ARGS="-w missingdepfile=err" m libvts_interfacespecification
Change-Id: Ie1483fbeead9f710d8a6636df07ce44bbc4a6e2d
2019-01-09 16:40:58 -08:00
Jiyong Park
8d95a14476 Merge "Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES" 2019-01-09 23:33:51 +00:00
Nicolas Geoffray
9ce12752dc Merge "Preopt: Pass -Xbootclasspath: arg to dex2oat." 2019-01-09 12:37:15 +00:00
Jiyong Park
185d41e84d Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
It is a list of <module_name>:<manifest_name> pairs. When the module
name of an APK or an APEX matches with <module_name>, then its app
manifest name is overridden to <manifest_name>.

<module_name> and <manifest_name> can be patterns as in
com.android.%:com.mycompany.android.%.release

Test: m with PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES for
1) an APK in Android.mk
2) an APK in ANdroid.bp
3) an APEX
and check that manifest names are modified as specified

Change-Id: Ic09e059ea7b7ea99a50a1cf423a25aa587ef4466
2019-01-09 21:08:10 +09:00
Anton Hansson
fe9f373e10 Merge "Fix qemu image definition conditionals" 2019-01-09 10:33:51 +00:00
Treehugger Robot
d968c5dab1 Merge "Remove data binding from master build" 2019-01-08 04:56:01 +00:00
Treehugger Robot
dc1f4499d0 Merge "Fix depfile output from dexpreopt strip script" 2019-01-08 02:19:35 +00:00
Yigit Boyar
a53f680352 Remove data binding from master build
Data Binding only works as part of tools. It also only builds there
(in studio-master-dev branch). This CL removes references to the data
binding checkout which will be followed by removal of data binding
from master manifest.

Bug: 122478832
Change-Id: I338cc1aa10a5ad39114bc0ed14a529365016e9a4
2019-01-08 00:43:03 +00:00
Tao Bao
9f1eda65e6 Merge "Don't build retrofit OTA package if vendor.img is unavailable." 2019-01-07 23:49:23 +00:00
Dan Willemsen
07b73576e4 Fix depfile output from dexpreopt strip script
strip.sh uses $2.d to write the depfile, while this had been passing in
$@.tmp in as $2. Instead, move the file first, then use strip.sh with
the real output file so that we can find the depfile.

Also don't specify a depfile (or other dependencies) when
LOCAL_CERTIFICATE==PRESIGNED, as we'll skip all of that in the rule in
that case.

Bug: 121058584
Test: NINJA_ARGS="-w missingdepfile=true" m
Change-Id: I1323e775e3a6ce5a06a19d59f3fb07495f116f34
2019-01-07 15:06:48 -08:00
Treehugger Robot
4ab7bb3ee8 Merge "Save invocation info of dex2oat runs." 2019-01-07 21:38:16 +00:00