Commit graph

35743 commits

Author SHA1 Message Date
Robin Lee
092c6b68b8 Merge "Revert "Require TARGET_RELEASE for builds"" into main 2023-11-09 08:49:25 +00:00
Robin Lee
50fe46c1d3 Revert "Require TARGET_RELEASE for builds"
This reverts commit 24366c842b.

Reason for revert: b/309900087

Change-Id: I36550cbb0ae21a9c4f783f8a2fcd08ade2707f68
2023-11-09 08:01:06 +00:00
Treehugger Robot
1f94a3d547 Merge "Require TARGET_RELEASE for builds" into main 2023-11-09 04:23:37 +00:00
Cole Faust
f50c26e6e3 Merge "Remove release_config.bzl" into main 2023-11-09 00:41:50 +00:00
Treehugger Robot
2b46f4d199 Merge "build: add a few proguard rules [1/3]" into main 2023-11-08 23:06:02 +00:00
Greg Kaiser
24366c842b Require TARGET_RELEASE for builds
Rather than use an unsupported flag setting that the user likely
doesn't even realize is being used, we immediately stop the build.

This error message is more verbose, mentioning 'lunch', because
it's anticipated a lot more users will hit this issue when first
switching to trunk stable, and more details will hopefully help
them out.

We have some complication in that some internal commands set
TARGET_RELEASE to an empty string.  We put in logic to allow
that path.

Since $(error) immediately stops the build, we also get rid of
some 'else' logic and indentation, to hopefully offset some of
the complication we've added.

Bug: 307946156
Test: 'lunch' (still) works; A build attempt without `TARGET_RELEASE` set (now) fails
Change-Id: I2f667668c6688e501a3536981b7bae5fdbf962a0
2023-11-08 11:20:28 -07:00
Cole Faust
9a106f3ebb Remove release_config.bzl
The internal usages have been switched to release_config.scl.

Bug: 309686282
Test: Presubmits
Change-Id: If8e5a5b94a47474f5e76cf189c41980402f31085
2023-11-08 10:11:03 -08:00
Cole Faust
bcaac55c35 Merge "Remove release_config.bzl load" into main 2023-11-08 07:46:54 +00:00
Cole Faust
6291522c70 Remove release_config.bzl load
This was mistakenly copy/pasted.

Test: Presubmits
Change-Id: I01dcf65464428d56c2246cf70f6e769e842f28b1
2023-11-07 21:05:37 -08:00
Treehugger Robot
8a5b9e4aa2 Merge "add product sepolicy into monitor list" into main 2023-11-08 03:28:35 +00:00
Adam Shih
894cf688a9 add product sepolicy into monitor list
Bug: 256065208
Test: lunch raven-next-userdebug
Change-Id: I016f0340aecdc15af485c9fd51d6c0120ee8908f
2023-11-08 00:51:04 +00:00
Cole Faust
9af1856e91 Merge "Rename bzl files to scl" into main 2023-11-08 00:49:34 +00:00
Treehugger Robot
bf25b080d6 Merge "Generate incremental OTAs for 16K/4K boot option" into main 2023-11-08 00:11:41 +00:00
Cole Faust
a44c7bd1ca Rename bzl files to scl
These files don't have anything to do with bazel, they just use starlark as a configuration
language. Bazel recently introduced the scl file extension to use for this format, which doesn't
have any bazel-specific symbols. Use that extension for our pure starlark files as well.

Bug: 309686282
Test: Presubmits
Change-Id: I7b08f342e7fb94405a52af0918ae6a7d542f3282
2023-11-07 15:30:39 -08:00
Yifei Zhang
e6d996479b build: add a few proguard rules [1/3]
- Introduce a new directory for some specific proguard rules.

kotlin.flags:
- Remove DebugMetadata
- Don't warn about missing non-runtime annotations

Test: build AOSP & test on internal
Bug: 309023911
Change-Id: Iee740b61a2afeba3482ff4e1f8213bd4cf46174a
2023-11-07 14:36:01 -08:00
LaMont Jones
2dae3d6b50 Reapply "release_config: build flags can be lists"
Allow a build flag definition to indicate that its value should be the
concatentation of assignements, rather than the final assigned value. In
this case, the "default" value from the flag definition is always
present as the start of the list.

The initial use case for this is RELEASE_ACONFIG_VALUE_SETS, where we
need apply multiple definition files that should be processed to arrive
at the final value.

Bug: b/302593603, b/304814040, b/309477343
Test: manual
Change-Id: I58eb71f2ee6d8f08f11a432993f23157831ec93c
2023-11-06 22:16:49 +00:00
LaMont Jones
38b195ea7e Reapply "Add support for product-specific build flags"
1. release config maps now specify where the flag definitions are found.
2. PRODUCT_RELEASE_CONFIG_MAPS specifies additional release config map
files to use.

This allows product config to specify build flags, which can then be
specified by users of that product.

Bug: b/302593603, b/309477343
Test: manual
Change-Id: Ic1f0512ec4b06ac94dd3f29eadd6a03ba8ebf6d2
2023-11-06 22:15:19 +00:00
Colin Cross
5f24ce6158 Merge "Revert "Reapply "Add support for product-specific build flags""" into main 2023-11-06 22:02:50 +00:00
Colin Cross
671bc15286 Revert "Reapply "Add support for product-specific build flags""
Revert submission 2815850-product-flags

Reason for revert: b/309477343

Reverted changes: /q/submissionid:2815850-product-flags

Bug: 302593603
Bug: 309477343
Change-Id: I6294609d4c60973fceba567e37a6bc3b89239e42
2023-11-06 21:39:40 +00:00
Colin Cross
93b43efd80 Revert "Reapply "release_config: build flags can be lists""
Revert submission 2815850-product-flags

Reason for revert: b/309477343

Reverted changes: /q/submissionid:2815850-product-flags

Bug: 302593603
Bug: 309477343
Change-Id: Ifda3b0cdfb3524595af693156c6dc162c391a55a
2023-11-06 21:38:26 +00:00
Treehugger Robot
1acc860f83 Merge "Export build flags to soong." into main 2023-11-06 21:07:21 +00:00
Kelvin Zhang
65c1162eb5 Generate incremental OTAs for 16K/4K boot option
Previously, the 16K/4K boot options OTAs are full OTAs, resulting in
file size of ~20MB each, and ~40M for both OTAs. To reduce the space
usage, use incremental OTAs instead.

Test: th
Bug: 302759296
Bug: 293313353
Change-Id: I61cc84c6c13f151dd6bc5ff37dd31daa5fb31abd
2023-11-06 12:37:49 -08:00
Cole Faust
7aa649a62c Add PRODUCT_VALIDATION_CHECKS
This is a new mechanism for asserting properties about your product
config. See the documentation in product_validation_checks.mk for
more information.

Test: Manually
Change-Id: I698dea899441f3773f839ea2ba1a2a6cfe59b57b
2023-11-06 10:42:01 -08:00
LaMont Jones
253bd067da Merge changes from topic "product-flags" into main
* changes:
  Reapply "release_config: build flags can be lists"
  Reapply "Add support for product-specific build flags"
2023-11-06 14:08:22 +00:00
Justin Yun
2071b4eac2 Merge "Set ro.product.vndk.version for VNDK v35" into main 2023-11-05 07:16:14 +00:00
Colin Cross
b5ec156b32 Merge changes I2ca9e674,I7e0db3c0,I7e1b6268,I0fa6a46e,I04e8178a into main
* changes:
  Remove code related to unused LOCAL_* variables
  Delete unused variables from clear_vars.mk
  Remove obsolete ide.mk and related code
  Removed unused license code
  Remove obsolete uses of LOCAL_MODULE_TAGS
2023-11-03 15:27:34 +00:00
Wei Li
581b781ac4 Merge "Include following files in the SBOM of layoutlib, which are disted in Soong." into main 2023-11-02 22:17:30 +00:00
Anas Sulaiman
39ccc6378e Merge "fix potential encoding issues in remote actions" into main 2023-11-02 18:02:55 +00:00
Colin Cross
710c3cb5fb Remove code related to unused LOCAL_* variables
LOCAL_JETIFIER_ENABLED, LOCAL_NO_PIC, LOCAL_PREBUILT_STRIP_COMMENTS,
LOCAL_RMTYPEDEFS, and *.vts sources are never used.  Remove them
and the code related to them.

Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I2ca9e674602057cc163b8bc28b0c57a0b7cc4361
2023-11-02 10:45:33 -07:00
Colin Cross
fda3c6a36a Delete unused variables from clear_vars.mk
Kati analysis in AOSP spends around 6 seconds in clear_vars.mk.
Delete any variables in clear_vars.mk that are not referenced anywhere
else in build/make/core.

Test: no change to build-aosp_cf_x86_64_phone.ninja
Change-Id: I7e0db3c02d297de825acbfbd1a0f05724d1e846d
2023-11-02 10:33:25 -07:00
Colin Cross
1b7f072505 Remove obsolete ide.mk and related code
The code to generate an eclipse classpath is obsolete, remove it and
related code.

Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I7e1b6268b98ecbb7be88db8945dd7b30acc695ba
2023-11-02 10:16:57 -07:00
Colin Cross
34fe77a493 Removed unused license code
Nothing ever reads ALL_DEPS.*.LICENSE, and its an ever-growing list
that is sorted every time, which is extremely expensive.

notice_target is never set after I4cddf9a381a1258bdc2b1b42be72c447df10d234,
remove all the related code.

Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I0fa6a46e62ef8aa78873b43d3064b57b1c54de51
2023-11-02 10:10:36 -07:00
Colin Cross
aed37d79f2 Remove obsolete uses of LOCAL_MODULE_TAGS
Only LOCAL_MODULE_TAGS := tests is used is meaningful in the current
implementation.  "optional" and "samples" both exist in the tree, but
are meaningless.  "gnu", "user", "eng" and "debug" are  no longer used,
and are already forbidden by the unusual tags check.  The info from the
"module" target is now available in module-info.json.  Delete all the
irrelevant code.

Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I04e8178a362e382a1a4bd997c1b4c3a480db7714
2023-11-02 10:10:06 -07:00
LaMont Jones
eacc292ce8 Reapply "release_config: build flags can be lists"
Allow a build flag definition to indicate that its value should be the
concatentation of assignements, rather than the final assigned value. In
this case, the "default" value from the flag definition is always
present as the start of the list.

The initial use case for this is RELEASE_ACONFIG_VALUE_SETS, where we
need apply multiple definition files that should be processed to arrive
at the final value.

This reverts commit b05eaac092.

Bug: b/302593603, b/304814040
Test: manual

Change-Id: I7370c509ceb3952f7feb2351673d8f2ba86d704b
2023-11-02 15:56:10 +00:00
LaMont Jones
df398d19d4 Reapply "Add support for product-specific build flags"
1. release config maps now specify where the flag definitions are found.
2. PRODUCT_RELEASE_CONFIG_MAPS specifies additional release config map
   files to use.

This allows product config to specify build flags, which can then be
specified by users of that product.

This reverts commit 75bfc37ef4.

Bug: b/302593603
Test: manual
Change-Id: I031a00459893644d7f67b63b982db9ae9015ae4d
2023-11-02 15:56:03 +00:00
Treehugger Robot
821ab221be Merge changes from topic "revert-2787001-product-build-flags-PYFTWILGBK" into main
* changes:
  Revert "Add support for product-specific build flags"
  Revert "release_config: build flags can be lists"
2023-11-02 08:06:39 +00:00
Justin Yun
925d1f517c Set ro.product.vndk.version for VNDK v35
Until we have updated art mainline module, we must provide
ro.product.vndk.version to use product namespace for product apks.

This can be removed when art mainline module is updated.

Bug: 308676119
Test: See if product apps uses product-clns namespace in
      cf_x86_64_phone-next-userdebug
Change-Id: I5030fb0f82c80e0cb94c89179e6c71df119368da
2023-11-02 11:48:39 +09:00
Colin Cross
75bfc37ef4 Revert "Add support for product-specific build flags"
Revert submission 2787001-product-build-flags

Reason for revert: Possible cause of b/308849337

Reverted changes: /q/submissionid:2787001-product-build-flags

Bug: 302593603
Bug: 308849337
Change-Id: I01b5905a0a20a1401dcc1267e7fafc893e57d637
2023-11-02 00:13:30 +00:00
Colin Cross
b05eaac092 Revert "release_config: build flags can be lists"
Revert submission 2787001-product-build-flags

Reason for revert: Possible cause of b/308849337

Reverted changes: /q/submissionid:2787001-product-build-flags

Bug: 302593603
Bug: 308849337
Change-Id: I6246d20201e674ba99faf6b880ecdc7ef934c653
2023-11-02 00:13:32 +00:00
Anas Sulaiman
b72060b029 fix potential encoding issues in remote actions
The new docker image contains all en_*.UTF-8 locales to ensure Java (and
other) actions produce the correct bytes.

Bug: b/300624128
Test: Ran an android build and verified there are no encoding issues in
metalava outputs.

Change-Id: Id1eab37edfc71b3b56f4ac38259407c0a1b10667
2023-11-01 17:41:34 +00:00
Ted Bauer
ad2c02c98d Merge "Revert^2 "Do not generate aconfig_flags.textproto"" into main 2023-11-01 17:05:20 +00:00
LaMont Jones
99845eeaba Export build flags to soong.
This exports a map of build flags used in this release config to Soong.

Bug: b/302514918
Test: manual
Change-Id: Ia93195f09dee4945f07326eb7a5973c2ce2e025b
2023-11-01 16:16:53 +00:00
Ted Bauer
c0d16595b3 Revert^2 "Do not generate aconfig_flags.textproto"
This reverts commit 49fbb31fcf.

Reason for revert: textproto usages have been removed

Change-Id: I4021b5e79bcd114a610a529bc68e0be50500b339
2023-11-01 16:03:51 +00:00
LaMont Jones
752703251a Merge changes from topic "product-build-flags" into main
* changes:
  release_config: build flags can be lists
  Add support for product-specific build flags
2023-11-01 16:01:08 +00:00
Jooyung Han
aea4c9d496 Merge "Rewrite how to generate apexkeys.txt" into main 2023-11-01 05:13:06 +00:00
Jooyung Han
8b162283f7 Rewrite how to generate apexkeys.txt
Instead of listing all apexes in the source tree, now each apex emits
its own fragment for apexkeys.txt, which is pointed by
LOCAL_APEX_KEYS_FILE. Makefile collects apexkeys.txt from installed apex
files. This is to avoid listing unrelated apexes (not installed,
testdata, unexported namespaces, etc.)

Bug: 304914238
Test: m apexkeys.txt
Test: m blueprint-tests
Change-Id: I6b5601609d16452a0717f09ecaa703ee09693094
2023-11-01 13:06:08 +09:00
Dan Shi
042bb8c6dc Remove EXTRA_TEST_RUNNER_CONFIGS option in template for autogen instrumentation test
Instrumentation test config created by autogen is still using python script
auto_gen_test_config.py, which doesn't support extra_runner_options yet.

Bug: 308627607
Test: m FrameworksCorePackageInstallerSessionsTests
Change-Id: Ib3bef791a9d1b3e0b68f5845dc20d2c5ec5791ec
2023-10-31 15:44:16 -07:00
Wei Li
94f0d12de2 Include following files in the SBOM of layoutlib, which are disted in Soong.
layoutlib.jar, from module layoutlib
icu*.data, from module icu-data_host_i18n_apex
libicuuc_stubdata.dll, from module libicuuc_stubdata
libicuuc-host.dll, from module libicuuc

See https://cs.android.com/search?q=%22targets:%20%5B%5C%22layoutlib%5C%22%5D%22&ss=android%2Fplatform%2Fsuperproject%2Fmain

The static dependencies of java_library and cc_library have not been included and will be handled in later CLs.

Bug: 303905932
Bug: 303904827
Bug: 303905759
Test: lunch sdk_phone64_arm64-userdebug && m layoutlib dist; CIs
Change-Id: I0c04fed2872b674a460a4a08880e67a6311890c4
2023-10-30 17:04:58 -07:00
LaMont Jones
1dc07fa574 release_config: build flags can be lists
Allow a build flag definition to indicate that its value should be the
concatentation of assignements, rather than the final assigned value. In
this case, the "default" value from the flag definition is always
present as the start of the list.

The initial use case for this is RELEASE_ACONFIG_VALUE_SETS, where we
need apply multiple definition files that should be processed to arrive
at the final value.

Bug: b/302593603, b/304814040
Test: manual
Change-Id: I2474cdf23341f9b1682affce6cc784281557655d
2023-10-30 23:40:04 +00:00
LaMont Jones
c6631fed48 Add support for product-specific build flags
1. release config maps now specify where the flag definitions are found.
2. PRODUCT_RELEASE_CONFIG_MAPS specifies additional release config map
   files to use.

This allows product config to specify build flags, which can then be
specified by users of that product.

Bug: b/302593603
Test: manual
Change-Id: I660a3d88c2aaecc14d6f370bebb0d05a8cc224f2
2023-10-30 23:40:04 +00:00