Commit graph

9037 commits

Author SHA1 Message Date
Dan Willemsen
6f03752422 Allow DIST_DIR to be read via dumpvars
DIST_DIR is controlled by soong_ui, and the make dumpvars code no longer
has access to it. So instead, handle some dumpvar requests inside
soong_ui itself.

Test: get_build_var DIST_DIR
Test: get_build_var OUT_DIR
Test: get_build_var BUILD_SYSTEM
Test: build/soong/soong_ui.bash --dumpvars-mode --vars="DIST_DIR
BUILD_SYSTEM"
Change-Id: Id3bcb8b0748db67c83d0e42d1ae5be564c5eb2f7
2018-10-21 09:26:55 -07:00
Dan Willemsen
2d31a44b8a Stop using DIST_DIR in Soong
We're only using it to distribute files in case of failure, which isn't
well supported currently, but can be handled for now by using the
DIST_DIR environment variable during the command execution.

This was at least one cause that we'd be re-running Soong during every
build server build, as the DIST_DIR values are unique.

Test: m dist
Change-Id: Ibd5e6b6c46695350de80b745bfb6a6aa685033a0
2018-10-20 21:33:41 -07:00
Dan Willemsen
d4ad1da3d7 Merge "Add a Kati-based packaging step" 2018-10-20 22:50:10 +00:00
Dan Willemsen
9565675616 Merge "Remove make and xmllint from the allowed tools list" 2018-10-20 21:29:48 +00:00
Dan Willemsen
41cabfbbf4 Remove make and xmllint from the allowed tools list
We've got a prebuilt of make in prebuilts/build-tools, and we build
xmllint from source.

Test: No logs on the build servers in the last 24 hours
Change-Id: Ib60a7b5feaa31097071b67ebf6beb7f0b9a9f81b
2018-10-19 12:29:46 -07:00
Bill Yi
a10cdc664c Merge pi-dr1-dev to aosp-master
Change-Id: I8075b08b0dc7b7af6ea87cbbc5f1a8c654ad6112
2018-10-19 12:20:09 -07:00
Dan Willemsen
fb1271a52b Add a Kati-based packaging step
The idea is that we'd move the installation and packaging tasks over to
it, using data from Soong & the Kati reading Android.mk files.

This would allow us to make more fundamental changes about how we
package things without having to adjust makefiles throughout the tree.
Possible use cases:

* Moving some information from Soong's Android.mk output to a file read
  by the packaging step may allow us to read the Android.mk files less
  often, speeding up builds.

* Refactoring our current two-stage ASAN builds to run the Kati build
  step twice, writing into different object directories, then have a
  single packaging step that reads both outputs. Soong already has the
  capability of writing out a single ninja file with all the asan
  combinations.

* Running two build steps, one building the system-related modules
  using a "generic" device configuration, and one building the vendor
  modules using a specific device configuration. This could enforce a
  GSI/mainline system vs vendor split in a single build invocation.

* If all installation is through this tool, it will be much easier to
  track what should no longer be installed on an incremental build,
  reducing the need for installclean.

* Changing PRODUCT_PACKAGES should be a much faster operation, which
  means we could keep track of local additions to the images. Then
  `mma` would be more persistent, instead of installing something once,
  then never updating it again.

Eventually we plan on switching from Kati to something Go-based, but
this is a more incremental approach while we clean up everything else.

Currently, this just moves the dist-for-goal handling over to the
packaging step, so that we don't need to read Android.mk files when
DIST_DIR changes, or we switch between dist vs not.

Bug: 116968624
Bug: 117463001
Test: m nothing
Change-Id: Idec5ac6f7c7475397ba0fb65bd3785128a7517df
2018-10-19 09:55:00 -07:00
Colin Cross
3e0eb95e53 Merge changes from topic "soong_instrumentation_for"
am: 1b4aa43303

Change-Id: I63cf2ced1604b024682749733db951b54d4057d3
2018-10-19 00:56:32 -07:00
Treehugger Robot
1b4aa43303 Merge changes from topic "soong_instrumentation_for"
* changes:
  Fix instrumentation_for to match LOCAL_INSTRUMENTATION_FOR
  Fix incremental build issue in aapt2
  Support main_class property in java_binary modules
  Always allow duplicates with identical CRC32 and size
2018-10-19 07:47:13 +00:00
Jiyong Park
b60205e869 Merge "APEX can be signed with different keys"
am: 796e9de93c

Change-Id: I5ea5dc769168390ccbaa56584942cd997d2cd8b8
2018-10-19 00:04:12 -07:00
Treehugger Robot
796e9de93c Merge "APEX can be signed with different keys" 2018-10-19 06:39:19 +00:00
Colin Cross
4b964c00a6 Fix instrumentation_for to match LOCAL_INSTRUMENTATION_FOR
The value from instrumentation_for should not go to
aapt2 link --rename-instrumentation-target-package, that should
be the equivalent of LOCAL_MANIFEST_INSTRUMENTATION_FOR.  That
property is never used in Make, so it is left unimplemented in
Soong.

Add the module listed in instrumentation_for as a shared library
for javac, but don't import its resources.

Bug: 117804211
Test: m checkbuild
Change-Id: I7f035dc0ecb964a3ca391ae1ca2b87cb0f6a7cec
2018-10-18 23:54:38 +00:00
Colin Cross
5cb7803037 Merge "Remove strip.sh intermediates"
am: 51250973e4

Change-Id: I28c18868e5ac2e321128aa3848ac843b10394173
2018-10-18 15:05:15 -07:00
Colin Cross
78e3cb096b Fix incremental build issue in aapt2
Clear the directory with generated java files before generating
new files into the directory.  Fixes an issue where old, no longer
generated files could remain and end up in R.jar.

Test: m checkbuild
Change-Id: I174030c336c5b7e6fe1198a43714af565babd7e6
2018-10-18 14:55:07 -07:00
Colin Cross
094054ab07 Support main_class property in java_binary modules
Add a main_class property that will be used to generate a manifest
containing a Main-Class entry.

Test: m checkbuild
Change-Id: I0a59bb2b93cad915afd82fba708fa0f7eda2fe7a
2018-10-18 14:55:07 -07:00
Treehugger Robot
51250973e4 Merge "Remove strip.sh intermediates" 2018-10-18 20:34:11 +00:00
Neil Fuller
a6d88abb54 Remove reference to core-oj/core-libart, etc.
am: 54c1d2f238

Change-Id: I692fe145391fdd9ac6a4a341be8bcde57a0fa17f
2018-10-18 13:06:15 -07:00
Colin Cross
3adb2ed734 Remove strip.sh intermediates
The intermediate files generated by strip.sh --keep-symbols can be
very large, and are not useful after the build.  Remove them once
the final output file has been generated.

Saves ~6GB on an aosp_sailfish-userdebug build.

Test: m checkbuild
Change-Id: I0413f16ac5f423bc1b010cc9b8538f19bdea561e
2018-10-18 18:07:44 +00:00
Neil Fuller
54c1d2f238 Remove reference to core-oj/core-libart, etc.
Various "core library" targets are no longer used in
soong so the tests do not have to create fake build
rules for them.

Bug: 113148576
Test: make droid
Change-Id: Ic754b4195f1597fb599e496c08940231ecbb13f7
2018-10-18 17:51:25 +01:00
Colin Cross
dc1e829b59 Always allow duplicates with identical CRC32 and size
Don't warn on duplicate files in merge_zips if they have identical
CRC32 and size values.

Test: m checkbuild
Test: merge_zips_test.go
Change-Id: I61336ca4d4d3b7402c24a7abd337bd350fe10930
2018-10-17 15:49:53 -07:00
Dan Willemsen
b2aba00619 Merge "Always ensure that DIST_DIR is set"
am: 251178f024

Change-Id: I8a303a7f5f36349a937003739dd1b7b00da68e0c
2018-10-17 10:37:43 -07:00
Treehugger Robot
251178f024 Merge "Always ensure that DIST_DIR is set" 2018-10-17 15:26:38 +00:00
Neil Fuller
043a41bbd9 Merge "Build platform with core library stubs by default"
am: ac857603ce

Change-Id: I7a0eb6a7f089e04fbac421e780a395ed32b60220
2018-10-17 08:10:26 -07:00
Neil Fuller
ac857603ce Merge "Build platform with core library stubs by default" 2018-10-17 14:59:48 +00:00
Nicolas Geoffray
ae42d21cf1 Merge "Define runfiles_path before try so that finally can use it."
am: 9605b3ac48

Change-Id: Id2daa19a36ba488e7f42a01798b455123c1d04f8
2018-10-17 06:23:03 -07:00
Nicolas Geoffray
9605b3ac48 Merge "Define runfiles_path before try so that finally can use it." 2018-10-17 13:11:02 +00:00
Martin Stjernholm
e608208a67 Merge "Improve messages for VNDK dependency errors."
am: c325edce18

Change-Id: I825ac5a438b13eb4c1edff75acfeafe317d2d72a
2018-10-17 05:10:03 -07:00
Martin Stjernholm
c325edce18 Merge "Improve messages for VNDK dependency errors." 2018-10-17 11:56:57 +00:00
Logan Chien
aceb86e345 Merge "Remove flags from ClangLibToolingUnknownCflags"
am: 0b6bcd4014

Change-Id: I7f7e9e80052e748c1d92f46fee4552c1b4a45a2b
2018-10-17 03:08:54 -07:00
Logan Chien
0b6bcd4014 Merge "Remove flags from ClangLibToolingUnknownCflags" 2018-10-17 09:46:26 +00:00
Jiyong Park
980b757b13 Merge "android.test.{base|mock} are added as optional libraries."
am: e8f2977f80

Change-Id: Ia185f939b28ac14ab9cabeb40a323549d5fa8759
2018-10-16 21:44:18 -07:00
Treehugger Robot
e8f2977f80 Merge "android.test.{base|mock} are added as optional libraries." 2018-10-17 04:29:07 +00:00
Dan Willemsen
d50e89f389 Always ensure that DIST_DIR is set
Set the default value if one isn't provided.

Test: `get_build_var DIST_DIR` after removing the default setting in envsetup.mk
Change-Id: I0cb310fc65f7747c36de14608b61786ef6863fd1
2018-10-16 17:49:25 -07:00
Dan Willemsen
04619c6ddf Merge "Unset BUILD_NUMBER in build_test.bash"
am: 08c3085998

Change-Id: I807043df12cdf7eb0072a3191cb62eaa0f251f70
2018-10-16 15:16:43 -07:00
Treehugger Robot
08c3085998 Merge "Unset BUILD_NUMBER in build_test.bash" 2018-10-16 21:49:22 +00:00
Dan Willemsen
5ffade3240 Merge "Remove perl from the allowed PATH tools list"
am: 1a968b91a6

Change-Id: I9c21e5bdfe4cde541057e743b81258b0861a21ba
2018-10-16 09:07:18 -07:00
Treehugger Robot
1a968b91a6 Merge "Remove perl from the allowed PATH tools list" 2018-10-16 15:39:45 +00:00
Logan Chien
61f2d11e75 Remove flags from ClangLibToolingUnknownCflags
This commit removes flags from ClangLibToolingUnknownCflags.  These
flags were added to workaround an old version of clang in
`external/clang`.  Since we have updated to clang-r339409b, we don't
need these workaround anymore.

Bug: 117764794
Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py
Change-Id: Ifbeebf05df5c08ee3bb7d489f39250d8fd5f5acf
2018-10-16 17:52:12 +08:00
Martin Stjernholm
257eb0c933 Improve messages for VNDK dependency errors.
Test: build_test.bash

Change-Id: I8a52664d7bbb05232bc01b32580f926aae98056d
2018-10-16 10:38:57 +01:00
Jiyong Park
fa17afef53 android.test.{base|mock} are added as optional libraries.
The two java shared libraries do not exist in the pre-P devices.
Therefore, marking the dependencies to the libraries as optional so that
an app is still installable to the old devices.

This is safe because the classes in the java shared libs exist in other
shared libraries (bootclasspath or android.test.runner).

Bug: 113800422
Test: run aapt dump badging on the built GtsBackupHostTestCases

uses-library tags for android.test.base|mock are with
android:required=false, while the same tag for other libs are without
the attribute.

Change-Id: I266c8efb9686e8975be37f31aea0dc22f82370c3
2018-10-16 18:05:49 +09:00
Dan Willemsen
0abd437f6f Unset BUILD_NUMBER in build_test.bash
To make build server incrementals of build_test actually incremental.

Test: Set different BUILD_NUMBERs, run build_test.bash --incremental
Change-Id: Ice0e9a6f6c1dd3a3e0332b98081e82a3df74ce59
2018-10-15 22:36:16 -07:00
Jiyong Park
ff1458f670 APEX can be signed with different keys
A new module type 'apex_key' is defined to specify public and private
key pair for APEXs. An APEX can refer to the module via the property
'key'. When building the APEX, the private key from the key module is
used to sign it. In addition, the public key from the key module is
automatically installed to /system/etc/security/apex.

Bug: 115721587
Test: m apex.test; m
/apex/com.android.example.apex@1 exists

Change-Id: I82666db095bd7a09f6c1b9cbea2db57ebc076cbf
2018-10-16 09:53:11 +09:00
Jaewoong Jung
94320e579b Merge "Fix how soong converts LOCAL_STRIP_MODULE."
am: 153c2f8ba3

Change-Id: I44515397e6093948528f94df68bc87caa76bd575
2018-10-15 16:32:38 -07:00
Treehugger Robot
153c2f8ba3 Merge "Fix how soong converts LOCAL_STRIP_MODULE." 2018-10-15 23:12:52 +00:00
Haibo Huang
3df2d5986a Merge "Add support for cortex-a76 in soong"
am: 2bfa2c852c

Change-Id: Ieabcb61634e3e60f26589837b8c0d3c29d072371
2018-10-15 14:15:52 -07:00
Haibo Huang
2bfa2c852c Merge "Add support for cortex-a76 in soong" 2018-10-15 21:01:30 +00:00
Paul Duffin
b09213a6e2 Merge "Make automatically added <uses-library> entries optional"
am: f4fec6a774

Change-Id: I096153a01bc576a91f856de98079e43a02c645a4
2018-10-15 13:50:03 -07:00
Treehugger Robot
f4fec6a774 Merge "Make automatically added <uses-library> entries optional" 2018-10-15 20:36:41 +00:00
Jaewoong Jung
59171a4401 Fix how soong converts LOCAL_STRIP_MODULE.
It should be translated to a poperty map with one entry, not a string
value.

Bug: 74083867
Change-Id: Ida659749a63e67eb55184e7c79959f57b8549dad
Test: androidmk_test.go
2018-10-15 19:38:19 +00:00
Haibo Huang
a31e2bda89 Add support for cortex-a76 in soong
Bug: 117125298
Test: Change a device to be A76 and build
Change-Id: Iae0773d54e57b247c818d44f8044180d5a3f95a8
2018-10-12 23:55:38 +00:00