Commit Graph

1601 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
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
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
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
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
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
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
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
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
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
Bob Badour
6421674a39 Add variables for notice deps, license kinds etc.
Change-Id: Ib8e538bd09044a5791083b362d807cd9293833d5
2021-01-05 08:42:48 -08:00
Yo Chiang
ad4dae71cf Merge "Add phony target to check all PCF ELF prebuilts" 2020-12-04 02:49:33 +00:00
Daniel Norman
97332c9685 Merge "Adds a new build task to run host_init_verifier on partition dirs." 2020-11-20 18:57:17 +00:00
Daniel Norman
c5604a02f7 Adds a new build task to run host_init_verifier on partition dirs.
Also includes passwd_system_ext in copy-init-script-file-checked,
seemingly left out as an oversight.

Bug: 163089173
Test: Treehugger build targets
Change-Id: I3b972e4677a6adad2c515f5762e0062803453d18
2020-11-18 11:36:19 -08:00
Dan Shi
41f6291a9f Add unit tests to host-unit-tests suite
Bug: 172006742
Test: m
Change-Id: Id58f5a24df2fe61229ce2eae2d655f7aa31b6aba
2020-11-16 16:55:42 -08:00
Yo Chiang
336883a64f Add phony target to check all PCF ELF prebuilts
Add phony target check-elf-prebuilt-product-copy-files that asserts
PRODUCT_COPY_FILES doesn't have ELF prebuilts.
This helps triage PCF ELF errors by providing a convenient target to
check / list all errors.

Bug: 140560012
Bug: 156534160
Test: lunch aosp_cf_x86_phone
Test: m USE_NDK_TRANSLATION_BINARY=true \
  check-elf-prebuilt-product-copy-files -k
Change-Id: Ic7fa43c10b0c30b3b1d9b7c2fae75cc6ea4a3513
2020-10-31 06:46:31 +00:00
Jingwen Chen
7d7f94547a symlink_outputs: Add .KATI_SYMLINK_OUTPUTS to build/make/core
Test: m
Bug: 160568334

Change-Id: Ie6fb4f16bb77845787d277857e17e6aac0a8c11a
2020-10-21 08:55:10 +00:00
Kousik Kumar
92f32615ed Revert "Remove env-var-allowlist"
Revert "Add -fdebug-compilation-dir option"

Revert submission 1461902-debug-compilation-dir

Reason for revert: "-Xclang" isn't being uniformly respected everywhere. For example, in ".S" compilations, when I pass `-Xclang -fdebug-compilation-dir=.", the assembler seems to be ignoring it and then inserting the `pwd` into the command, however when I pass "-fdebug-compilation-dir=.", it strips out the path to the current working directory.
This indicates that we need to update re-client's input processor so that we can pass -fdebug-compilation-dir=. without "-Xclang" and then remove `PWD` setting.
For now, I'll update this patch to pass both "-fdebug-compilation-dir=." and `PWD` and when RBE side fix is done, I'll remove `PWD` in a separate CL.

Reverted Changes:
Ib0f271e55:Add -fdebug-compilation-dir option
Ifa0592af5:Remove env-var-allowlist

Change-Id: I7c690b3e00d37dbcc8fbaa66dda49f39032be3ab
2020-10-20 05:52:49 +00:00
Kousik Kumar
405847ac19 Remove env-var-allowlist
We no longer need to set PWD variable with the introduction of
`-fdebug-compilation-dir`, so removing env var allowlist of PWD variable
to RBE.

Change-Id: Ifa0592af519b6cc4364ee653f1a2174fd680bac1
2020-10-15 15:53:13 -04:00
Xin Li
37a9f38115 Merge "Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)" into stage-aosp-master 2020-09-01 20:03:45 +00:00
Martin Stjernholm
a24c0fe655 Merge "Preserve symlinks in the Soong prebuilt install steps for host binaries and shared libs." 2020-09-01 10:32:49 +00:00
Martin Stjernholm
49a4e9b52e Preserve symlinks in the Soong prebuilt install steps for host binaries
and shared libs.

If a prebuilt module file is a symlink in the .intermediates tree it is
preserved when copied to the final install location. This preserves
symlinks to prebuilt binaries, so that they are run from their prebuilt
source location and can find libraries in relative paths from there.

Symlinks are converted to absolute, to not fail if they are relative in
the source tree.

Test: m clean && m droid dist checkbuild
  with and without the change, then compare the lists of symlinks in
  the out/ trees
Test: build/soong/soong_ui.bash --make-mode \
    TARGET_PRODUCT=crosshatch_hwasan TARGET_BUILD_VARIANT=userdebug \
    droid SANITIZE_TARGET=hwaddress \
    continuous_instrumentation_tests_api_coverage \
    continuous_native_tests device-tests platform_tests
  check that libclang_rt.hwasan_static-aarch64-android.a isn't a
  symlink in out/target/product/crosshatch/obj
Bug: 145934348
Change-Id: I7600e5b0754f8ea6cd0ffc8e1ba6d39153f182aa
2020-09-01 00:24:54 +01:00
Xin Li
c2fd58fe67 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ie00dbea32e074838466eeed00f316250c2b4f3c2
Change-Id: I9ee3441fd4d063b9dd489cb1b01d3dbc11332457
2020-08-29 01:19:44 -07:00
Jaewoong Jung
046702a6ef Deduplicate my_compat_dist entries globally.
Fixes: 164319611
Test: m TARGET_PRODUCT=aosp_x86_64 mts dist
Change-Id: Ie47e355ded0ce0221988a405fc77546a4a752c38
2020-08-27 13:10:40 -07:00