Commit Graph

1665 Commits

Author SHA1 Message Date
Bob Badour
c778e4cba4 Support OUT_DIR for license graph.
Bug: 226066987

Test: OUT_DIR=/tmp/outdir m all listshare checkshare htmlnotice rtrace dumpgraph dumpresolutions compliancenotice_bom compliancenotice_shippedlibs
Test: OUT_DIR=/tmp/outdir m /tmp/outdir/target/product/bonito/obj/NOTICE.xml.gz
Test: m all listshare checkshare htmlnotice rtrace dumpgraph dumpresolutions compliancenotice_bom compliancenotice_shippedlibs
Test: m out/target/product/bonito/obj/NOTICE.xml.gz

Change-Id: I6282c647a389c5935d5ce7c79193f86d32c76365
2022-03-23 14:12:12 -07:00
Bob Badour
42f00c7b61 Test suite notices using dependencies.
Switch from combine-notice-files to html-notice-rule and
text-notice-rule.

Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m cts reportmissinglicenses
Change-Id: I59d78553f15f0fd6be87228c933693b63e2ebf04
2022-03-23 11:18:39 -07:00
Colin Cross
2cd6b0fbf6 Merge changes I084158ff,I2f2ba905,Ic9af8761 am: ce3c48db58 am: e4c2fc9847 am: da2b3b3a5d
Original change: https://android-review.googlesource.com/c/platform/build/+/2035163

Change-Id: I3023baf758c90d516f0787da2c13d6a9069aeeaa
2022-03-23 00:06:08 +00:00
Colin Cross
c6d6306771 Remove ALL_ORIGINAL_DYNAMIC_BINARIES
Nothing ever reads the value, stop collecting it.

Test: m checkbuild
Change-Id: I2f2ba905c7c45c0da36606710b30864cd5822d91
2022-03-22 09:25:58 -07:00
Colin Cross
a1de5df4bd Remove ALL_GENERATED_SOURCES
ALL_GENERATED_SOURCES contains the generated sources of modules
defined in Make.  They always have a path inside the intermediates
directories.  The only readers of ALL_GENERATED_SOURCES are filtering
for files in the output directories, and will never match anything.

Test: m checkbuild
Change-Id: Ic9af8761d445fa90088f838c385bd2aea3bc3048
2022-03-22 09:25:58 -07:00
Bob Badour
70c07dda93 Notice files and non-module targets.
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m nothing reportmissinglicenses

Change-Id: Icdb11d3c72b180cd02231e8dc98ae500d6566a98
Merged-in: Icdb11d3c72b180cd02231e8dc98ae500d6566a98
2022-03-16 05:57:41 -07:00
Bob Badour
ebdefc0c76 Notice files and non-module targets.
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m nothing reportmissinglicenses

Change-Id: Icdb11d3c72b180cd02231e8dc98ae500d6566a98
Merged-in: Icdb11d3c72b180cd02231e8dc98ae500d6566a98
2022-03-16 05:46:06 -07:00
Treehugger Robot
0a4baebdda Merge "Handle symlink license metadata." am: 7506930ca5 am: af293990b4 am: b3ab555a0c
Original change: https://android-review.googlesource.com/c/platform/build/+/2019496

Change-Id: If01554bad45586c2b0bd369cb73d9326a3009e08
2022-03-10 04:39:06 +00:00
Bob Badour
289f6e10be Handle symlink license metadata.
Add target to force-build all license metadata.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m alllicensemetadata reportmissinglicenses
Change-Id: Iab3a41a232438e857d23674e0e1230d4d0336466
2022-03-09 13:38:37 -08:00
Treehugger Robot
18a9f74bae Merge "Phony target to report all library names." am: f2a0110d36 am: 578d7b2492 am: 3248b76fa1
Original change: https://android-review.googlesource.com/c/platform/build/+/2002324

Change-Id: I803e67a57afde5fb3ceb6fd04f908caf0cfa165d
2022-03-04 03:44:03 +00:00
Bob Badour
77570059cd Phony target to report all library names.
Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m nothing reportallnoticelibrarynames

Change-Id: I0f791e2d92b8135d6af3a6c93f0db348fc69f5a1
2022-03-02 22:32:37 -08:00
Treehugger Robot
6889493286 Merge "Add macros for declaring copied file licenses." am: 6d361637e3 am: 3d0b257b0a am: 0171332b5a
Original change: https://android-review.googlesource.com/c/platform/build/+/1978047

Change-Id: I9bb7e22cef08f7211b7051c3bc793dcc169c46c9
2022-02-12 02:48:02 +00:00
Bob Badour
8cbb845e37 Add macros for declaring copied file licenses.
The PRODUCT_COPY_FILES is populated before definitions.mk mapping
source files to installed files that get copied unchanged.

Need to be able to declare license metadata for the copied files such
that similarly named files in different projects can have different
licenses.

Need a macro to convert target names to their corresponding license
metadata.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m nothing

Change-Id: Ic244b3525e72b6cd8c4c4305bf5ad430d6e24ccb
2022-02-11 14:10:06 -08:00
Treehugger Robot
7da45f7450 Merge "Revert "Revert "Move meta_lic files into per-module intermediates directories""" am: 0d8d378bd4 am: 793100509c am: 19acbbea9c am: 86518a9506
Original change: https://android-review.googlesource.com/c/platform/build/+/1910142

Change-Id: Iaf6060a1364db56ea532507df2d8a4f7fe546ef9
2021-12-07 05:44:01 +00:00
Colin Cross
52a0c97e5a Revert "Revert "Move meta_lic files into per-module intermediates directories""
This reverts commit e41ad14f58.

Change-Id: I77211030b657b894002a1a1bded773b3c4b0334a
2021-12-03 22:46:20 +00:00
Colin Cross
731f33bab4 Merge "Revert "Move meta_lic files into per-module intermediates directories"" am: ccb353501d am: d821c63926 am: 6a0f8bb9b4 am: 20537eed38
Original change: https://android-review.googlesource.com/c/platform/build/+/1908224

Change-Id: Ic9a65fdd5451464fb746832b3e4935bbc00e4768
2021-12-03 01:52:12 +00:00
Colin Cross
e41ad14f58 Revert "Move meta_lic files into per-module intermediates directories"
This reverts commit 44858d35ce.

Reason for revert: b/208892388

Change-Id: I058e988a8949ed9aa1fac086a69b37a053681982
2021-12-03 00:44:23 +00:00
Colin Cross
740e57ea29 Merge "Move meta_lic files into per-module intermediates directories" am: dd93bd5b72 am: d24ec61b85 am: b50dfb7dbf am: 61515f0c38
Original change: https://android-review.googlesource.com/c/platform/build/+/1906234

Change-Id: Ib4c84029788f7bc0db2018b11c9652824a2e3c46
2021-12-03 00:00:17 +00:00
Colin Cross
44858d35ce Move meta_lic files into per-module intermediates directories
Store the meta_lic files in the per-module intermediates directories
to avoid conflating multiple variants for the same module, for example
host and device.

Bug: 207445310
Test: m checkbuild
Change-Id: I2b0ca22c1f7b069f79d2026707be3294c488f6de
2021-12-01 14:38:13 -08:00
Treehugger Robot
ce15a031ce Merge changes from topic "tproto" am: cd128891ed am: 0f0e4d23e5 am: 40bd79e8b7 am: aa3348dd1b am: d1a921ec8b
Original change: https://android-review.googlesource.com/c/platform/build/+/1865920

Change-Id: I16f08374a3c9aa1d561fb9653cd2cbad515a1388
2021-11-03 20:15:35 +00:00
Bob Badour
380a1afb1a Add macros for non-module license metadata and deps am: 879cfa867d am: 1efd13a2a1 am: c1d98c6310 am: e6d1b1d160 am: d57a36fadc
Original change: https://android-review.googlesource.com/c/platform/build/+/1741493

Change-Id: I0c8fc45c6b8c7a76ed6411437513b6ea8997127d
2021-11-03 20:15:33 +00:00
Colin Cross
1ee26cae73 Convert .meta_lic files to textproto
Make it easier to write tools against .meta_lic files and store complex
data by writing them in textproto.

Test: builds
Change-Id: Ibbb6cfbb1bdddd3d938a86d563673a049d826d66
2021-11-03 15:44:00 +00:00
Bob Badour
879cfa867d Add macros for non-module license metadata and deps
Gets rid of .meta_module files and instead defers emitting rules until
after all the non-module targets have been processed. Allows direct
dependency on .meta_lic files, which in turn depend on license text
files.

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m reportmissinglicenses

Change-Id: I2c467feac6e13a9366ff66f924889f1dbd48c3f1
2021-11-03 00:52:25 +00:00
Rupert Shuttleworth
a95ab436f6 Add ability to set --rotation-min-sdk-version for signapk.
Bug: 197787352

Test: m signapk

Change-Id: I3b5e9bb3985c2ae83381499a44b339a7b1deb05c
2021-10-27 12:53:16 +00:00
Colin Cross
f4017412e2 Support per-testcase directories in all test suites
There are cases where two modules try to install the same test data
into CTS, which results in collisions when CTS puts the data for all
tests in the same directory.  Add a flag that allows enabling a
per-testcase directory for an individual test for all test suites.

Bug: 193168159
Test: cts-tradefed run commandAndExit CtsBionicTestCases
Change-Id: I4bfaaedfe0e6b8df9c75125b3e2762a4f0d5b395
2021-09-24 16:58:03 -07:00
LaMont Jones
e1af00ba56 definitions.mk: Detect bad zip files.
If the jar file passed to add-jar-resources-to-package is passed a
non-zipfile, then we should produce an error.

Bug: 153900481
Test: manual
Change-Id: Idc4dd9afd89eaee08a9e792dfa2a759e64b783fc
2021-08-09 19:32:51 +00:00
David Gross
304da3988d Merge "Fix bitrot: RSTest_CompatLib[19] tests stopped building" 2021-07-14 18:34:58 +00:00
Dan Willemsen
b349e4e04a Remove pre-aidegen IDE support logic
This has apparently been racy ever since
https://android-review.googlesource.com/c/platform/build/+/971925
and isn't generally useful anymore, as aidegen has taken over.

Bug: 193095826
Test: treehugger
Change-Id: I09b6b340b84d1476a574b302db520210561a4e5e
2021-07-12 21:57:33 -07:00
David Gross
dd400c3af1 Fix bitrot: RSTest_CompatLib[19] tests stopped building
(1) Incorrect path to librsjni.so because of typo in earlier change;
    fixed by fixing typo.

(2) clang did not specify the target architecture (I don't know what
    changed so that this no longer works); fixed by specifying target
    architecture and changing from gcc linker to lld (gcc linker didn't
    understand the options it was being passed by clang).

Test: blueline-userdebug
Test: make -j FORCE_BUILD_RS_COMPAT=true ENABLE_RSTESTS=true \
        RSTestForward_21_1_2 RSTestForward_22_0_2 \
        RSTestForward_23_0_3 RSTestForward_24_0_3 RSTestForward_25_0_2 \
        RSTestBackward RSTestBackward19 RSTest RSTest_Compat RSTest_Compat19
Test: unzip -t ${PATH_TO_APK}
      # confirm that .so files are present in RSTest_Compat[19] but not
        for the other APKs
      # confirm that .bc files are present in RSTestBackward19 but not
        for the other APKs
Test: adb shell am instrument [--abi armeabi-v7a] \
        -w ${TEST_PACKAGE_NAME}/androidx.test.runner.AndroidJUnitRunner
      # Run four times:
      #   "--abi" argument present or absent; always omit for
      #     RSTest_Compat[19], which only support platform default ABI
      #   "adb shell setprop debug.rs.forcecompat 0" or "1"
      # Note that RSTestBackward19 only supports 32-bit ABI, so both
      #   runs (with and without "--abi" argument) are actually armeabi-v7a
Test: After run, check logcat for RenderScript_jni
      # (missing): not built against support library; expected for all
        tests except RSTest_Compat[19]
      # "RenderScript_jni: RS native mode"; expected for RSTest_Compat[19]
        when setprop debug.rs.forcecompat is 0
      # "RenderScript_jni: RS compat mode"; expected for RSTest_Compat[19]
        when setprop debug.rs.forcecompat is 1

Change-Id: Icfaa226f2e1bfa909cb3bcbbe960f2804c355d2a
2021-07-08 17:01:43 -07:00
Bob Badour
c3c04f44da Quote the package name -- may contain special chars
Special characterts like & can cause problems if not quoted.

Test: m nothing

Bug: 191604339

Change-Id: I86f659de4a956a3186f21a5333781b92b71e7c17
2021-06-21 12:55:24 -07:00
Jaewoong Jung
b34f64fc7a Do not alter presigned prebuilt apks for SDK > 29.
Bug: 185811447
Test: Manual
Change-Id: I5ea143331e1bd1885dde4e46b086f4ce811f4981
2021-05-13 16:16:19 -07:00
Chris Wailes
095bc7d668 Update init.rc prebuilt handling
This CL modifies the build system to skip checking of init.rc files if
TARGET_BUILD_UNBUNDLED is set.  This is necessary because several of the
artifacts required by the host_init_verifier program aren't present in
unbundled builds.

Test: m
Change-Id: I37be43af81057c5adddc1b80a04d74a090183bc7
2021-04-22 16:15:17 -07:00
Po Hu
e1e871db1a Do not run "mkdir ./" in codebase root directly
Test: grep "mkdir -p \.\/" out/build-*.ninja
Bug: 185197550
Change-Id: Ic9568ff91006b0cf362d5b5b105eb25ea3e228a8
2021-04-14 17:39:21 +08:00
Treehugger Robot
13ebf1bdf5 Merge "Remove legacy host shared library linking with gcov" 2021-04-08 18:31:08 +00:00
Colin Cross
df682c6fe1 Merge "Package jacoco and proguard files out of a PACKAGING directory" 2021-04-08 17:17:53 +00:00
Colin Cross
330b1fef31 Package jacoco and proguard files out of a PACKAGING directory
Package jacoco-report-classes.jar, proguard_usage.zip and
proguard_dictionary out of directories in $OUT/obj/PACKAGING
so that they get cleared by m installclean.  This will make
incremental builds that package these files accurate as long
as installclean was run, which is much faster than a full clean
build.

Bug: 184583915
Test: m TARGET_BUILD_APPS=DeskClock EMMA_INSTRUMENT=true dist
Change-Id: I60c6a0fec1fbce26eab8d5adab25a2231b48e251
2021-04-07 18:52:02 -07:00
Stephen Hines
39e9090e7e Remove legacy host shared library linking with gcov
Test: build
Change-Id: I5f701edcfa9021f75659b6be4790119e6baca51c
2021-04-05 16:29:57 -07:00
Ryan Prichard
663b98bbab Stop linking against libatomic
The __atomic_* library functions are now part of the compiler-rt
builtins library:

https://android-review.googlesource.com/c/toolchain/llvm_android/+/1625025

Bug: http://b/153025717
Test: treehugger
Change-Id: Iebd5eaf17f8559696b6d6e2e0dd782f77b6bcab5
2021-04-02 21:05:48 -07:00
Christoffer Quist Adamsen
40c399732c Allow missing classes in R8 mk builds
Bug: 180878971
Bug: 72683872
Test: TARGET_PRODUCT=aosp_arm64 m -j core-oj
Change-Id: I4e3d49d4d8aa7e373bae6710db57f503eb95fab1
2021-02-22 13:21:00 +01:00
Bob Badour
3412a07822 Avoid duplicate installed notice file rules.
For cases with a my_register_name, move into $(call license-metadata-rule).

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m nothing

Change-Id: Ib6c610960347db84503831b1e1519622696d4500
Merged-in: Ib6c610960347db84503831b1e1519622696d4500
2021-02-21 09:03:15 -08:00
Treehugger Robot
6be34750a3 Merge "Remove module dependency on license metadata." 2021-02-19 22:11:01 +00:00
Bob Badour
0061204726 Remove module dependency on license metadata.
Test: m nothing
Change-Id: I3fb75261ec67eb80023b7ef085c459229d8950a6
2021-02-18 17:31:12 -08:00
Jaewoong Jung
c18ebafcb9 Remove unwanted JNI libs outside inflating action.
Take the unwanted JNI lib removal action out of JNI uncompression
function so that they work independently when building prebuilt apks.

Fixes: 180475879
Test: Manually with a test apk.
Change-Id: I7392d0bf4ca7db76f27e883df08f7cb256162440
2021-02-18 16:09:10 -08:00
Colin Cross
a1271eb343 Turn missing jarjar output files into errors
Jarjar doesn't exit with a nonzero return code when there is a syntax
error in a rules file and doesn't write the output file.  Without a
nonzero return code ninja prints a warning but continues, which leads
to stale results on incremental builds where the output file already
exists, or delayed errors on clean builds whre the output file didn't
exist.

Delete the output file before running jarjar, and then check if it
exists after running jarjar.

Fixes: 119516143
Test: m out/target/common/obj/JAVA_LIBRARIES/noto-emoji-compat-java_intermediates/classes-jarjar.jar
Change-Id: Ib99167403948ee11f039dd4d2d7e63052bb92136
2021-02-08 10:55:05 -08:00
Ulya Trafimovich
558cb6c5ac Merge <uses-library> dependency configs into dexpreopt.config files.
Since Make does not visit modules in topological order of their
<uses-library> dependencies, information from dependencies to the
dexpreopted module has to be passed via dexpreopt.config files. A build
rule for a dexpreopt.config file depends on dexpreopt.config files for
<uses-library> dependencies, and dex_preopt_config_merger.py script
extracts the necessary information from dependency configs and patches
the module's config.

Bug: 132357300
Test: lunch aosp_cf_x86_phone-userdebug && m
Change-Id: Id0b71170a4d2ab1d33059de0e9ad9d7e61f2345e
2021-01-28 14:59:14 +00:00
Bob Badour
7a95820907 Revert^2 "Rough-in license metadata support to make."
Changed shell script to /bin/sh syntax for portability to mac_os etc.

54066744f0

Change-Id: Ibd472fc1bedfdc228a704108f0280b13ab1c9333
2021-01-06 20:52:43 -08:00
Bob Badour
21bd34fe09 Revert^2 "Add variables for notice deps, license kinds etc."
dcfb9c5ef5

Change-Id: I6a60f55ab0e7013061a695cb1b7c5ffde29577dd
2021-01-06 20:46:49 -08:00
Jerome Gaillard
dcfb9c5ef5 Revert "Add variables for notice deps, license kinds etc."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: I1f672e6e8ec48f0141bb4b6cc4eb2efed1eeef6b
2021-01-06 19:00:05 +00:00
Jerome Gaillard
54066744f0 Revert "Rough-in license metadata support to make."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: Iaf2243cba16f6191b022371a14f81ef8194a47d1
2021-01-06 19:00:05 +00:00
Bob Badour
20fc1b3719 Rough-in license metadata support to make.
Change-Id: Icaff40171b94538219a8caa697b182dbdcc8229a
2021-01-05 08:42:48 -08:00