Commit Graph

46175 Commits

Author SHA1 Message Date
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
5cc296f072 Merge changes from topic "mixed-build-cc-library-shared" am: 4aeaf37bb7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826914

Change-Id: If277cd41ec3244e25aec1cedb3890f7fbc058eca
2021-09-17 14:39:12 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
8e773669ef Clean up StarlarkFunctionBody for getCcInfoType am: 4fbc62196d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826913

Change-Id: I4399ce65520641a5528797bc8b9445db9e5f096d
2021-09-17 14:39:11 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
5ce0135bd8 Incorporate cc_library_shared into mixed builds am: bc4e734e59
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826912

Change-Id: If309ce2532d679e4af9d5cfe5b4c383afa2116e2
2021-09-17 14:39:06 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
4aeaf37bb7 Merge changes from topic "mixed-build-cc-library-shared"
* changes:
  Expose TocFile via CcInfo
  Clean up StarlarkFunctionBody for getCcInfoType
  Incorporate cc_library_shared into mixed builds
2021-09-17 14:29:17 +00:00
Anton Hansson
f8ea3729ca Add back the api_srcs argument
This arg provides the ability to pass sources to the metalava
invocations that are part of a java_sdk_library without affecting
the runtime library.

This is useful in various scenarios, e.g.: when javadoc in some source
files affects the metalava behavior. For example, the javadoc-generation
javadoc tags @paramDoc, @returnDoc etc. Passing these as a library does
not work because class files do not contain javadoc.

Bug: 186197911
Test: manually inspect module stub src for doc enhancements
Merged-In: I2ce98f891283514e1896c52d9335550c1f5435fb
Change-Id: I2ce98f891283514e1896c52d9335550c1f5435fb
2021-09-17 13:42:44 +00:00
Jingwen Chen
27409f091d Merge "Remove __bp2build__ prefix trimming." am: 30204afc67 am: 48a3e911c9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1829614

Change-Id: I904d1be339095ff1f83a8f3e888712598e6844ca
2021-09-17 13:23:38 +00: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
57c29dd3e3 Merge changes I9c94a54a,Idc0c73a7 am: 2c6ede11cc am: 23a5cba0af
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824513

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

Change-Id: I80a8b2e950ec35d2f003d40ad386f430a2024b67
2021-09-17 11:47:32 +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
6117450ead bp2build: add converted modules to codegen metrics, and remove the
compat layer.

The list of converted modules is used for tracking bp2build progress.

The module_name_to_label aliases weren't really adding much value to
mixed builds, so let's drop the feature for now and simplify the code.

Test: CI
Test: USE_BAZEL_ANALYSIS=1 m droid
Change-Id: I3269344cfe6d1c72c108d66c6e820bc0ec19bb34
2021-09-17 08:47:16 +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
Chih-hung Hsieh
f1dd6e7da1 Merge "Use ccCmd to generate clang-tidy dependent file" am: 935ae2c51d am: d19ed27801
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824476

Change-Id: I612dc3c428808aac89586b6e077e1f419bc4f08f
2021-09-17 02:25:16 +00:00
Colin Cross
5ea963e60a Add support for d8 --main-dex-rules
d8 supports --main-dex-rules to replace the old mainDexClasses
script.

Test: m checkbuild
Change-Id: Ieddcf4de50cc13509c06bbffe9f1314ee3dd23b6
2021-09-16 19:14:30 -07:00
Chih-hung Hsieh
d19ed27801 Merge "Use ccCmd to generate clang-tidy dependent file" am: 935ae2c51d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824476

Change-Id: I303aab3d1318b9d94c76a362d07ec446fa65cdb0
2021-09-17 02:08:33 +00:00
Chih-hung Hsieh
935ae2c51d Merge "Use ccCmd to generate clang-tidy dependent file" 2021-09-17 01:59:23 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
62585e8436 Expose TocFile via CcInfo
To reflect what's provided in SharedLibraryInfoProvider

Move the logic for identifying the toc file into Starlark
instead of the Soong Go code.

Adapt TestGetCcInfoParseResults to expect the toc as well.

Test: build/bazel/cquery/request_type_test.go:TestGetCcInfoParseResults
Test: cc/library_test.go:TestCcLibrarySharedWithBazel
Test: build/bazel/ci/mixed_{libc,droid}.sh
Change-Id: I40ad47158cb98b14ca03c21e351988818cb01770
2021-09-16 20:55:10 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
4fbc62196d Clean up StarlarkFunctionBody for getCcInfoType
Instead of repeating, pull repetition into vars

Test: build/bazel/ci/mixed_{libc,droid}.sh
Change-Id: If3c8387ac0aeb6364e7e4bc58a4e3a39c3c708d5
2021-09-16 20:54:57 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
f6c59c9c47 Create bp2build converter for cc_shared_library am: ac5097fcf4 am: d4e77a6137
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1816758

Change-Id: I9a4f0d83e8cddd25e16e3662e6bca58cf53d0d23
2021-09-16 18:33:52 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
dbf87e3862 Remove Linkstatic field for static cases am: a5474e36c5 am: fff8c0a6a8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826512

Change-Id: I48b5b53c3d6497a68a626cb290f3f42d8a465eca
2021-09-16 18:33:51 +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
fff8c0a6a8 Remove Linkstatic field for static cases am: a5474e36c5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826512

Change-Id: I70f97cd652598dcd520c5224f71568876338aeb4
2021-09-16 18:20:45 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
bc4e734e59 Incorporate cc_library_shared into mixed builds
The infrastructure is already there via its need in
`cc_library`. Therefore, just enable it by setting
the `bazelHandler` in `LibrarySharedFactory`, and
add a test to verify the functionality.

Bug: 198817980
Test: cc/library_test.go:TestCcLibrarySharedWithBazel
Change-Id: Ibff80616632af59a0e409110f8645e028f99c7d6
2021-09-16 18:13:52 +00:00
Martin Stjernholm
6057a13940 Merge "Remove fallback code path for missing BCP fragments that is no longer necessary." am: 33ce5d6c0e am: 44cbc71c78
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1821658

Change-Id: I47e215302bceee919ba033519f212913e7f1737e
2021-09-16 15:08:45 +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
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
a5474e36c5 Remove Linkstatic field for static cases
With the explicit implementation of cc_library_shared,
this is now redundant for both, so remove it.

Test: cc_library_static_conversion_test.go
Test: mixed_{libc,droid}.sh
Change-Id: I6e7733ca08c254562e95e70d93c9f519719d8a18
2021-09-16 15:00:47 +00:00
Martin Stjernholm
44cbc71c78 Merge "Remove fallback code path for missing BCP fragments that is no longer necessary." am: 33ce5d6c0e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1821658

Change-Id: I145f398e8b22cca8e9e91a62d83cbb2014032261
2021-09-16 14:48:57 +00:00
Martin Stjernholm
33ce5d6c0e Merge "Remove fallback code path for missing BCP fragments that is no longer necessary." 2021-09-16 14:38:01 +00:00
Treehugger Robot
3f8c2360dc Merge "Prevent systemserverclasspath_fragment from depending on prebuilts" am: a66a9f1a14 am: 1bf0694fbf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1818248

Change-Id: I8c8428064060bcdaa4d4921d7d50b91fdfc138d1
2021-09-16 11:48:50 +00:00
Paul Duffin
3a31830eeb Improve the documentation in the android/sdk.go file am: 9428970dac am: de86d8badd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826228

Change-Id: I60e01bd214b9c3c9692f132a4c4656437fb2134e
2021-09-16 11:48:44 +00:00
Treehugger Robot
1bf0694fbf Merge "Prevent systemserverclasspath_fragment from depending on prebuilts" am: a66a9f1a14
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1818248

Change-Id: I49ac420f4fc5b9220d1ff57b6c55a6a9d271c5d0
2021-09-16 11:35:43 +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
Treehugger Robot
a66a9f1a14 Merge "Prevent systemserverclasspath_fragment from depending on prebuilts" 2021-09-16 11:34:03 +00:00
Paul Duffin
25322e4d98 Prevent systemserverclasspath_fragment from depending on prebuilts
When TARGET_BUILD_APPS is set then TARGET_BUILD_USE_PREBUILT_SDKS=true
which causes all java_sdk_library_import modules to be treated as
prefer:true.

That breaks the build when the systemserverclasspath_fragment's content
property references a source java_sdk_library module that has a
corresponding java_sdk_library_import prebuilt module.

This fixes the issue by marking the dependency from the
systemserverclasspath_fragment to the source module as one that must
not be replaced with a reference to the prebuilt module.

Test: - update art prebuilts to include service-art
      m TARGET_BUILD_APPS=Calendar apps_only
      - fails before, works afterwards
Bug: 199116972
Change-Id: Ia2d8ce7bb7e644336a42c901f7fb8ea50fd67909
2021-09-16 11:12:51 +01:00
Paul Duffin
1ea7c9fa52 Add test to TestJavaStableSdkVersion for legacy core platform
Adds a test case to TestJavaStableSdkVersion for the case where a
module uses sdk_version: "core_platform" but is in the list of modules
that can use the legacy version.

This required storing the lookup map in the Config to allow it to be
customized for the test.

Bug: 180399951
Test: m nothing
Change-Id: I404705c3fd8a559649c6ab2624856cf78f49f85c
2021-09-16 11:12:43 +01:00
Paul Duffin
18add07503 Remove unnecessary archTypeSpecificInfo.optimizableProperties() am: 05732954c6 am: 2e02cb4df7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826230

Change-Id: I4e02dcba2a9883fabd85cca0d33b495733c49af8
2021-09-16 08:47:46 +00:00
Paul Duffin
b03c953d56 Move setting of link type properties to linkPropertyInfo am: f68f85a3ca am: c64e43dcd3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826229

Change-Id: I7a19cd07f22d5e55553f0deb436c1cb219a0dd9f
2021-09-16 08:47:41 +00:00
Paul Duffin
2e02cb4df7 Remove unnecessary archTypeSpecificInfo.optimizableProperties() am: 05732954c6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826230

Change-Id: I1a7dca43d8d20d5545747e2ad3ca095034911167
2021-09-16 08:32:53 +00:00
Paul Duffin
c64e43dcd3 Move setting of link type properties to linkPropertyInfo am: f68f85a3ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826229

Change-Id: I9a74e301694ac151fa30b8e50e4e002aa267b964
2021-09-16 08:32:47 +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
Paul Duffin
05732954c6 Remove unnecessary archTypeSpecificInfo.optimizableProperties()
The method is provided by an embedded type.

Bug: 195754365
Test: m nothing
Change-Id: I08ede08a393dbabf40f064befaf73ef2947380bd
2021-09-16 09:05:41 +01:00
Paul Duffin
f68f85a3ca Move setting of link type properties to linkPropertyInfo
Bug: 195754365
Test: m nothing
Change-Id: Ica90a42cd8e4a79251271164f137dcdf60b3bd55
2021-09-16 09:05:41 +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
535abf1d28 Merge "Share cFlags, tidyFlags, etc. in a module" am: b1a12462a9 am: 6e5aabb91b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824024

Change-Id: If2553da817faee11fcc76c768f7ae1da44993c80
2021-09-16 02:53:11 +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
8e09f2627d Use ccCmd to generate clang-tidy dependent file
* After this change, make libtinyxml2-tidy should generate
  correct out/.../libtinyxml2.tidy.d file.
  Touching one of the dependent files, e.g., tinyxml2.h,
  should invoke clang-tidy but not to recompile tinyxml2.o.
* Note that linking libraries still depend on .tidy targets,
  so make libtinyxml2 will call clang-tidy, regnerate
  tinyxml2.tidy.d, tinyxml2.tidy, tinyxml2.o.d, tinyxml2.o.
* A clang-tidy rule uses the same $cFlags for both clang and clang-tidy.
  To share it and avoid over long command lines, we use modern shell
  array variables and cannot use old bourne shell.

Bug: 199169329
Test: WITH_TIDY=1 make
Test: WITH_TIDY=1 make libtinyxml2-tidy | grep tinyxml2
Test: touch external/tinyxml2/tinyxml2.h; make libtinyxml2-tidy | grep tinyxml2
Change-Id: I6175add58d7313ee50c9308b78c9290a60770052
2021-09-16 02:25:52 +00:00