Commit Graph

3771 Commits

Author SHA1 Message Date
Martin Stjernholm
2fee27f3c9 Replace OptionalPath.valid flag by checking the path itself.
Test: m nothing
Change-Id: Iaf7655e4676d2beeb7c7ac3bcba11a7dad4a01a3
2021-09-20 14:02:11 +01:00
Martin Stjernholm
f9dd87304f Add a function to match modules through a variation map. am: 14cdd71152
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1825132

Change-Id: I9b6765ee40d47bb9470bdb0f0f09bb572d700343
2021-09-18 00:48:46 +00:00
Martin Stjernholm
14cdd71152 Add a function to match modules through a variation map.
Can be a more convenient alternative than specifying the full subdir
concatenation of the variants. E.g. common arch and os variations don't
have to be hardcoded.

Test: `m nothing` with https://r.android.com/1801128
Change-Id: Ic2966e109d61dfee6a2b4fcbcbf8f73274babca9
2021-09-17 23:52:03 +01:00
Jingwen Chen
48a3e911c9 Merge "Remove __bp2build__ prefix trimming." am: 30204afc67
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1829614

Change-Id: I394b1881f71929c1567ac8631c09eb4a2702858b
2021-09-17 13:11:32 +00:00
Jingwen Chen
30204afc67 Merge "Remove __bp2build__ prefix trimming." 2021-09-17 13:01:17 +00:00
Jiakai Zhang
23a5cba0af Merge changes I9c94a54a,Idc0c73a7 am: 2c6ede11cc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824513

Change-Id: I1f3ce39cd3b3988e676791a59f0c70e2bc80015d
2021-09-17 11:33:22 +00:00
Jiakai Zhang
dc2c1c2625 Merge "Revert^2 "Preopt APEX system server jars."" am: c9f9d56ed4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1828115

Change-Id: I2a991341934af96455f136cbe44ef824f5e3e7f5
2021-09-17 11:33:13 +00:00
Jiakai Zhang
2c6ede11cc Merge changes I9c94a54a,Idc0c73a7
* changes:
  Preopt system server jars with updatable bootclasspath.
  Preopt APEX system server jars from prebuilts.
2021-09-17 11:20:10 +00:00
Jiakai Zhang
c9f9d56ed4 Merge "Revert^2 "Preopt APEX system server jars."" 2021-09-17 11:19:51 +00:00
Jingwen Chen
16d90a8954 Remove __bp2build__ prefix trimming.
This is no longer needed after r.android.com/1792714

Test: CI
Change-Id: I808c3124cf1a4f3ebe5d25e41f346a818c3cc57c
2021-09-17 07:16:59 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
d4e77a6137 Create bp2build converter for cc_shared_library am: ac5097fcf4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1816758

Change-Id: Iad57cc75670f0e747c162758c029179ae93af3e4
2021-09-16 18:20:48 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
ac5097fcf4 Create bp2build converter for cc_shared_library
Factor out shareable code with cc_static_library

Remove `Linkstatic` field for shared cases,
because it's redundant with the rule

Bug: 198241907
Test: cc_library_shared_conversion_test.go
Test: mixed_{libc,droid}.sh
Change-Id: I5be3b66f812893bce41edb425fbd143ab22d9051
2021-09-16 15:00:56 +00:00
Paul Duffin
de86d8badd Improve the documentation in the android/sdk.go file am: 9428970dac
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826228

Change-Id: I0ecae7204ac3657dda2c8126a1c0e1063dd7c5e2
2021-09-16 11:35:34 +00:00
Paul Duffin
9428970dac Improve the documentation in the android/sdk.go file
Makes it adhere to the go standard practice of prefixing documentation
comments with the name of the type/func/method.

Bug: 195754365
Test: m nothing
Change-Id: Idf3fe827edc9b6d67d12a99a4b27539ac938ea95
2021-09-16 09:06:50 +01:00
Jiakai Zhang
519c5c82e5 Revert^2 "Preopt APEX system server jars."
This reverts commit 92346c4832.

Reason for revert: Fixed build error.

The build error is fixed by ag/15841934. This CL remains unchanged. This
CL will be submitted AFTER ag/15841934 is submitted.

Bug: 200024131
Test: 1. Patch this CL and ag/15841934 into internal master.
  2. sudo vendor/google/build/build_test.bash

Change-Id: I5f2b8357846fc7dda56e25ebe6ffb095e8047ec8
2021-09-16 06:25:26 +00:00
Treehugger Robot
6e5aabb91b Merge "Share cFlags, tidyFlags, etc. in a module" am: b1a12462a9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824024

Change-Id: Iaf6050178f9d172a5a17103504e8f081277df9cf
2021-09-16 02:35:38 +00:00
Chih-Hung Hsieh
b8082295b6 Share cFlags, tidyFlags, etc. in a module
* In builder.go, share common flags in a module.
  * This replaces the sharing of cflags/cppflags/asflags in cc.go.
  * A unit test in apex_test.go now fails and is commented out.
    It is a failing test hidden by old optimization in cc.go.
* In module.go, expand the reference variable $someflags<n>,
  or ${someflags<n>} to keep many existing unit tests work as is.
* The build.ninja size was reduced from 8.1GB to 6.2GB,
  for aosp_arm64-eng WITH_TIDY=1 USE_RBE=true,
  and from 7.5GB to 5.6GB when USE_RBE is 0.
  Content of build.ninja is also more readable and searchable.
  Read/write build.ninja times are also reduced,
  depending on disk I/O speed.

Test: make WITH_TIDY=1
Change-Id: I17f96adf4844136d52e5d40f57a19d9e290162b7
2021-09-15 16:05:41 -07:00
Adrian Roos
755a09490f Merge "Revert "Preopt APEX system server jars."" am: 79839d94c1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1827535

Change-Id: I2281010a93a89b69b859272627c7eac0d7e6d3ed
2021-09-15 14:53:58 +00:00
Adrian Roos
79839d94c1 Merge "Revert "Preopt APEX system server jars."" 2021-09-15 14:31:42 +00:00
Adrian Roos
92346c4832 Revert "Preopt APEX system server jars."
This reverts commit ca9bc98e0c.

Reason for revert: breaks build
Bug: 200024131

Change-Id: Ide07b4c4d267370ae31107b1598b2f878c701282
2021-09-15 14:11:07 +00:00
Liz Kammer
a191dc0520 Merge "Expand handling of unconverted deps in bp2build" am: 83d07a4c41
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1811096

Change-Id: Ib53f05fd0b7bbfdc7256abaf7b5d8eef7722f848
2021-09-15 14:03:58 +00:00
Liz Kammer
83d07a4c41 Merge "Expand handling of unconverted deps in bp2build" 2021-09-15 13:49:48 +00:00
Paul Duffin
9771209aee Merge "Avoid direct access to Native_bridge_supported property" am: 5ef58a302f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826226

Change-Id: I472f1af991cd6a04ed42d5cc1b0dbca28ce5b699
2021-09-15 13:44:10 +00:00
Paul Duffin
063ad070c0 Merge "Rename SdkMemberTypeDependencyTag to SdkMemberDependencyTag" am: c2c7f3e49b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826225

Change-Id: I304997b8488094a28ef8b75baaf0d9c4341b1512
2021-09-15 13:44:01 +00:00
Paul Duffin
5ef58a302f Merge "Avoid direct access to Native_bridge_supported property" 2021-09-15 13:29:32 +00:00
Paul Duffin
c2c7f3e49b Merge "Rename SdkMemberTypeDependencyTag to SdkMemberDependencyTag" 2021-09-15 13:29:23 +00:00
Jiakai Zhang
83d0d8ac1c Preopt APEX system server jars. am: ca9bc98e0c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1821984

Change-Id: If42b905c0636b10881b372efafd3e2f9bc84923c
2021-09-15 10:48:53 +00:00
Jiakai Zhang
ca9bc98e0c Preopt APEX system server jars.
The path to the artifacts will in the form of
/system/framework/oat/<arch>/<encoded-jar-path>@classes.{odex,vdex,art},
where <encoded-jar-path> is the path to the jar file with "/" replaced
by "@". For example,
/system/framework/oat/x86_64/apex@com.android.art@javalib@service-art.jar@classes.odex

There will be a follow-up CL to update ART runtime to recognize
artifacts in that path.

Test: m com.android.art
Bug: 194150908
Change-Id: Ic89fd63c4b1cd565684cead83fc91dae3bc97a4c
2021-09-15 09:01:07 +00:00
Jiakai Zhang
204356f3b5 Preopt APEX system server jars from prebuilts.
Similar to the previous CL, but for jars from prebuilts.

Test: manual - 1. Patch aosp/1818020 and aosp/1810840.
  2. m SOONG_CONFIG_art_module_source_build=false com.android.art
Bug: 194150908
Change-Id: Idc0c73a78045a602ad3a91cb5071d291bd611015
2021-09-15 09:01:07 +00:00
Treehugger Robot
780f559584 Merge "Add system/sepolicy/apex to bp2build allowlist" am: 709f02707d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826628

Change-Id: If90417ce5553bac5acaf448987a661b757665d5f
2021-09-15 08:24:02 +00:00
Treehugger Robot
709f02707d Merge "Add system/sepolicy/apex to bp2build allowlist" 2021-09-15 08:10:14 +00:00
Inseob Kim
a10ef270eb Add more sepolicy variables to soong_config
Bug: 33691272
Test: m selinux_policy on sc-dev
Change-Id: I4a7288d5f4ff99233fbdb56a8fd92da2d6f2ef7d
2021-09-15 03:04:53 +00:00
Liz Kammer
37997c404b Add system/sepolicy/apex to bp2build allowlist
Technically, tzdata apex depends on
//system/sepolicy/apex:com.android.tzdata-file_contexts. Builds suceeded
regardless due to bp2build generating a filegroup for all files in a
directory.

This also requires an update to the check in apex/builder.go to address
the fact that outputs (including filegroups) from Bazel in mixed builds
will be in a Bazel out subdirectory. This change also corrects a
potential bug that would not support all subdirectories under
system/sepolicy as golang's path.Match does not treat ** as recursive.

Test: go test apex tests
Test: build/bazel/ci/mixed_droid.sh
Change-Id: I1076d60cf271e4cdd1ea990156ab0a39fcfa6535
2021-09-14 18:00:22 -04:00
Liz Kammer
6eff323206 Expand handling of unconverted deps in bp2build
Support three options for converting modules with unconverted
dependencies
1. (default) Warn when converting a module if it has unconverted deps.
2. Error when encountering a module with unconverted deps. (not hooked
up yet)

Test: build/bazel/ci/bp2build.sh
Test: build/bazel/ci/mixed_libc.sh
Test: BP2BUILD_ERROR_UNCONVERTED=1 build/bazel/ci/bp2build.sh with
      unconverted deps -- get appropriate error
Bug: 181155349
Change-Id: Ifaabf0cd2e43e963366dc137159c705294165c3d
2021-09-14 19:55:55 +00:00
Treehugger Robot
9b08c6021f Merge "Improve the error when srcs field has the wrong type." am: 309a1acb27
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1822025

Change-Id: I3b34c8520bd0aa6da3fedfcaba458989b1cd9f0e
2021-09-14 18:14:03 +00:00
Treehugger Robot
309a1acb27 Merge "Improve the error when srcs field has the wrong type." 2021-09-14 17:55:33 +00:00
Paul Duffin
e3d1ae48e5 Avoid direct access to Native_bridge_supported property
Bug: 195754365
Test: m nothing
Change-Id: If7557187400be36b6c36116c61634449da6529a3
2021-09-14 17:26:14 +01:00
Paul Duffin
f7b3d0d317 Rename SdkMemberTypeDependencyTag to SdkMemberDependencyTag
Bug: 195754365
Test: m nothing
Change-Id: Id4ef6f8be54c60a1f269d7e7c46a8dcb715fcca4
2021-09-14 17:26:14 +01:00
Rob Seymour
dc2cc0d8d7 Merge "Add module based host-tools snapshot" am: f6c37cc87d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1793067

Change-Id: I3a2bb2459677c14e3e99d654ed5ffb9b7dd09b21
2021-09-14 15:04:01 +00:00
Rob Seymour
f6c37cc87d Merge "Add module based host-tools snapshot" 2021-09-14 14:47:03 +00:00
Martin Stjernholm
25a69de8de Improve the error when srcs field has the wrong type.
In particular it's useful to print the module, since the panic is
delayed from the init call.

#codehealth

Test: m nothing
Change-Id: Ia91127be83d8a9ce08cf0c08bc3f13fce7be14af
2021-09-14 00:33:47 +01:00
Rob Seymour
925aa09ea1 Add module based host-tools snapshot
Add new module:
host_snapshot {
    name: "host-snapshot"
    deps: [
      (list of host tools)
    ],
    ...
}

Package host tools using android.PackagingBase to capture host tools and transitive packaging data.
Add JSON meta data to snapshot that allows snapshot to be installed via development/vendor_snapshot/update.py

Add support to generate a fake host snapshot of all host modules that is used to detect required
modules via development/vendor_snapshot/update.py.

Bug: 192556798
Bug: 194799048
Bug: 192896149
Test: m HOST_FAKE_SNAPSHOT_ENABLE=true host-fake-snapshot dist -- check snapshot exists in dist

Change-Id: I849c4db801cd858408f6fe6a3ce69262a23a5be9
2021-09-13 21:29:14 +00:00
Treehugger Robot
ec01d2d719 Merge "Change default to require licenses property." am: 7bb0238418
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1818661

Change-Id: Ie6e749f3f9acd03c287b845c4e54a326383240b4
2021-09-13 19:39:03 +00:00
Treehugger Robot
7bb0238418 Merge "Change default to require licenses property." 2021-09-13 19:25:57 +00:00
Treehugger Robot
03f327c83e Merge "Avoid duplicate module names in the error from ModuleForTests." am: eee562f950
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1823277

Change-Id: I0c4865071f4aba40f63ab34e0f9676be1063e634
2021-09-10 09:29:42 +00:00
Treehugger Robot
eee562f950 Merge "Avoid duplicate module names in the error from ModuleForTests." 2021-09-10 09:15:06 +00:00
Martin Stjernholm
98e0d88aac Avoid duplicate module names in the error from ModuleForTests.
#codehealth

Test: m nothing
Change-Id: Ia7c3191440452ce04782701bc6ef99251e55af4d
2021-09-09 21:34:02 +01:00
Bob Badour
65ee90a362 Change default to require licenses property.
Please do not roll back.

If you have recently created a new Soong module type, please make sure
it supports the `licenses` property.

If your build on an older branch fails due to this change, please
configure your build to set `ANDROID_REQUIRE_LICENSES=false` in the
environment.

If running from the command line, the following will work:

export ANDROID_REQUIRE_LICENSES=false; m -j ...

Previously defaulted to not require property unless overridden in env.

Bug: 151177513

Test: m all

Change-Id: Ib295658f978511d07197c295f04a6f25f7d83686
2021-09-09 18:26:56 +00:00
Treehugger Robot
16010fe5cd Merge "Cleanup unused code for bp2build conversion." am: 4011ebb12d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1819237

Change-Id: I41d4bdf23a5d17c74e1897a6d42a0b3a22fd865e
2021-09-09 13:17:31 +00:00
Treehugger Robot
4011ebb12d Merge "Cleanup unused code for bp2build conversion." 2021-09-09 13:12:04 +00:00