Commit graph

15030 commits

Author SHA1 Message Date
Treehugger Robot
d9271cd823 Merge "Add isFlattenedVariant function" 2019-09-23 14:17:06 +00:00
Paul Duffin
2b6f04ca42 Merge "Add custom SystemModules to bootclasspath to reduce duplication" 2019-09-23 10:31:40 +00:00
Sundong Ahn
e8fb724689 Add isFlattenedVariant function
The return value is true if TARGET_FLATTEN_APEX is true,
TARGET_BUILD_APPS is false and the module is flatten variant.
Only the module name of flattened variant is appended with
".flattened" as suffix.

Test: m -j
Bug: 139716748
Change-Id: I966a178b43c5d08bd69d19e97e59456aa66d9d28
2019-09-23 14:40:21 +09:00
Treehugger Robot
b1102ba828 Merge "Introduce module type 'sdk'" 2019-09-23 04:38:24 +00:00
Jiyong Park
d1063c1586 Introduce module type 'sdk'
This change introduces a new module type named 'sdk'. It is a logical
group of prebuilt modules that together provide a context (e.g. APIs)
in which Mainline modules (such as APEXes) are built.

A prebuilt module (e.g. java_import) can join an sdk by adding it to the
sdk module as shown below:

sdk {
    name: "mysdk#20",
    java_libs: ["myjavalib_mysdk_20"],
}

java_import {
    name: "myjavalib_mysdk_20",
    srcs: ["myjavalib-v20.jar"],
    sdk_member_name: "myjavalib",
}

sdk {
    name: "mysdk#21",
    java_libs: ["myjavalib_mysdk_21"],
}

java_import {
    name: "myjavalib_mysdk_21",
    srcs: ["myjavalib-v21.jar"],
    sdk_member_name: "myjavalib",
}

java_library {
    name: "myjavalib",
    srcs: ["**/*/*.java"],
}

An APEX can specify the SDK(s) that it wants to build with via the new
'uses_sdks' property.

apex {
    name: "myapex",
    java_libs: ["libX", "libY"],
    uses_sdks: ["mysdk#20"],
}

With this, libX, libY, and their transitive dependencies are all built
with the version 20 of myjavalib (the first java_import module) instead
of the other one (which is for version 21) and java_library having the
same name (which is for ToT).

Bug: 138182343
Test: m (sdk_test.go added)
Change-Id: I7e14c524a7d6a0d9f575fb20822080f39818c01e
2019-09-22 08:21:27 +09:00
Ivan Lozano
04de8b5ca5 Merge "Amend list of required Rust stdlib libraries." 2019-09-20 23:59:20 +00:00
Treehugger Robot
83dcee3094 Merge "soong: -Werror=fortify-source" 2019-09-20 23:49:33 +00:00
Treehugger Robot
4e1e313287 Merge "Switch genrule-phony to ninja phony rule" 2019-09-20 20:18:10 +00:00
George Burgess IV
6c691644f7 soong: -Werror=fortify-source
Recently, we started deferring to clang for some of its built-in
FORTIFY-like warnings. We should always treat these as errors, since
they represent potential security vulnerabilities.

Bug: 131861088
Test: m. Also made a compilation in Bionic fail; verified the build
  command had -Werror=fortify-source in it.

Change-Id: I2715ea411ef067f801534dab4d306fef5431f290
2019-09-20 11:15:40 -07:00
Ivan Lozano
6d9e712858 Amend list of required Rust stdlib libraries.
Add libtest to our list of stdlib libraries, and remove some others that
are only used when generating proc_macros (which aren't dynamic).

Bug: 141207434
Test: m -j crosvm.experimental
Change-Id: I39cb030940adf1993e861d0142378eeea8b1ff5e
2019-09-20 10:59:56 -07:00
Dan Willemsen
afeea436ea Switch genrule-phony to ninja phony rule
Instead of using android.Phony, which is a "real" rule, use
blueprint.Phony, which is ninja's built-in "phony" rule. That's desired
in this case, since we only want this to be an alias to the inputs.

Test: cd system/bt; mma; mma (second run had nothing to do)
Test: treehugger
Change-Id: Ib0b630e23653c05a12cf617350f8b4c6d6d6cdff
2019-09-20 10:55:10 -07:00
Roland Levillain
50aee7c375 Merge "Fix documentation of field soong.apex.apexBundleProperties.Apex_name." 2019-09-20 14:37:14 +00:00
Paul Duffin
68289b0efd Add custom SystemModules to bootclasspath to reduce duplication
Adds a library dependency to each of the dummy system modules created
by testing.go so that any changes in the behavior were detected by
the existing tests which were then fixed.

Bug: 141359858
Test: m checkbuild
Change-Id: Id4442f4aa3931ac93049f3367b96a5b49cc075e1
2019-09-20 14:52:56 +01:00
Treehugger Robot
9f6cbaca21 Merge "Fix missing deps found through RBE" 2019-09-19 20:34:05 +00:00
Dan Willemsen
724ab5d5f7 Fix missing deps found through RBE
Bug: 130111713
Test: run with RBE, no longer see error about file not found
Change-Id: Ib6192f2a537f49efdb69b3f3bf28aef1660dec01
2019-09-19 10:51:03 -07:00
Treehugger Robot
de8b140bf6 Merge "Add option test_min_api_level and test_min_sdk_version for auto-generated test config" 2019-09-19 16:48:48 +00:00
Ivan Lozano
89efe4144a Merge "Add OWNERS for Rust whitelist." 2019-09-19 16:07:23 +00:00
Roland Levillain
411c584cba Fix documentation of field soong.apex.apexBundleProperties.Apex_name.
Remove the mention to the (APEX) manifest (`apex_manifest.json`) from
this field's documentation, as `Apex_name` is neither read from nor
written to that file.

Test: n/a
Change-Id: Ia0dfac4f35f1ea697f379bcb19dd11af8705a0a0
2019-09-19 16:54:07 +01:00
Treehugger Robot
4e839ec3a5 Merge "Add corpus and dictionary properties to cc_fuzz." 2019-09-19 13:51:17 +00:00
Treehugger Robot
624dbac225 Merge "Add filter_packages property to droiddoc" 2019-09-19 13:24:46 +00:00
nelsonli
0d7111ec0f Add option test_min_api_level and test_min_sdk_version for auto-generated test config
The new option will allow the auto-generated test config for cc_test to
include MinApiLevelModuleController and check the api-level before test.

Bug: 140912549
Test: 1. $vi platform_testing/tests/example/native/Android.bp
      2. add
          test_min_api_level: 29,
          or
          test_min_sdk_version: 29,
      3. $m -j hello_world_test
      4. check hello_world_test.config

Change-Id: Ic742d41898928df1637890bec87796d90e886516
2019-09-19 12:14:16 +08:00
Mitch Phillips
4e4ab8a141 Add corpus and dictionary properties to cc_fuzz.
Adds the corpus and dictionary properties to the cc_fuzz target.
Propagates these entries to the makefile backend via LOCAL_FUZZ_DATA, in
a similar manner to LOCAL_TEST_DATA.

Bug: 141026328
Test: m example_fuzzer, fuzz target should have adjacent corpus/dict
files.

Change-Id: If5add5a597cc479f4e084bdafbd0fc175cfd6321
2019-09-18 18:55:27 -07:00
Treehugger Robot
362e9ce427 Merge "Add version to vendor variants" 2019-09-18 23:19:23 +00:00
Colin Cross
4c5032bb66 Merge "Revert "Remove old-style support for translated second architectures"" 2019-09-18 21:12:45 +00:00
Colin Cross
402be41aa8 Revert "Remove old-style support for translated second architectures"
This reverts commit fe6330c7d2.

Reason for revert: this was accidentally propping up NDK builds
Bug: 141242600
Change-Id: Ie9f8e31479a74e8e9e14d720a5936da6b1d5d113
2019-09-18 21:12:31 +00:00
Treehugger Robot
da62bf96ce Merge "Remove old-style support for translated second architectures" 2019-09-18 20:47:43 +00:00
Ivan Lozano
e169ad70a5 Add OWNERS for Rust whitelist.
Splits out the Rust paths whitelist into a separate file
under config/ so that OWNERS can be defined for it.

Bug: 141207129
Test: m -j crosvm.experimental
Change-Id: I5effa6783e5c47560b4b1eae12ad0eb9e9ba96fe
2019-09-18 12:46:28 -07:00
Colin Cross
e323f3cca3 Fix robolectric tests with sdk_version and prebuilt dependencies
Add deviceProperties to robolectric tests so they can set
sdk_version.  Use Dependency.BaseModuleName() instead of
ctx.OtherModuleName() to get the dependency name to pass to Make
to support prebuilts in libs, which may have a "prebuilt_" prefix
in ctx.OtherModuleName().

Test: m RunLauncherRoboTests
Change-Id: I59a889bd6107b989f336b147d0eaccabef611894
2019-09-18 16:33:27 +00:00
Colin Cross
fe6330c7d2 Remove old-style support for translated second architectures
Translated second architectures now go in NativeBridgeArch instead
of DeviceSecondaryArch.

Bug: 141242600
Test: m checkbuild
Change-Id: I568046330abc002d4eed582cb999b62a5eaba790
2019-09-18 16:23:18 +00:00
Roland Levillain
9c27df7d4d Merge "Add $ANDROID_HOST_OUT/apex to the file set removed by target installclean." 2019-09-18 10:47:06 +00:00
Inseob Kim
64c4395386 Add version to vendor variants
Vendor variant is now divided into several vendor.{version} variants,
depending on their intended usages:

vendor.{BOARD_VNDK_VERSION}: vendor and vendor_available modules
vendor.{PLATFORM_VNDK_VERSION}: VNDK modules in the source tree
vendor.{snapshot_ver}: VNDK snapshot modules

This also affects exported module names from Soong to Make. But to
maintain backward compatibility, ".{BOARD_VNDK_VERSION}" suffix will not
be emitted for modules having version BOARD_VNDK_VERSION, so that vendor
modules still can be referred as-is.

Bug: 65377115
Bug: 68123344
Test: clean build and boot blueline
Change-Id: Ib9016a0f1fe06b97e9423fd95142653a89a343fa
2019-09-18 10:53:30 +09:00
Treehugger Robot
f7e6870f81 Merge "Revert "Revert "Force gtest to use adb unroot if required_root is false or not set""" 2019-09-18 00:20:16 +00:00
Treehugger Robot
1f6c94a3ac Merge "Add "apex_vndk" module type" 2019-09-17 17:14:48 +00:00
Treehugger Robot
b204303b35 Merge "Switch to clang-r365631b" 2019-09-17 16:18:28 +00:00
Treehugger Robot
999b5feab3 Merge "Fix the construction of ziptype APEX" 2019-09-17 04:18:56 +00:00
Jiyong Park
c6ddccfa88 Add filter_packages property to droiddoc
The property is used to filter input source files by their package
names.

Bug: 140764681
Test: m
Change-Id: If31adb81055ea7953ccd589344bdd298eaacedda
2019-09-17 12:25:44 +09:00
Dan Shi
bc0f26028a Revert "Revert "Force gtest to use adb unroot if required_root is false or not set""
This reverts commit 1a5eeb3e35.

Reason for revert: Fix landed in aosp/1122723

Change-Id: I8b487d602d48b9dba35affc8eb31578efd815e52
2019-09-17 02:43:50 +00:00
Pirama Arumuga Nainar
24d49119d8 Switch to clang-r365631b
Bug: https://github.com/android/ndk/issues/1076
Test: TH
Change-Id: Ica61fd13d9d7ecc742a7a89f5bb04cc6e1caf9f2
2019-09-16 15:06:41 -07:00
Sundong Ahn
72f1f3ec22 Fix the construction of ziptype APEX
If payload type of APEX is zip, flattened variant and non-flattened
variant create the same MK rules (it's build error). So only
non-flattened variant case, MK rule is created.
And if a.flattenedConfigValue is true, soong don't mutate variants. So
when a.flattenedConfigValue is true, MK rule should be created.

This CL is a partial revert of 4c04713871

Bug: 139716748
Test: m -j com.android.art.host
Change-Id: I37b2fa17e203fb668a0255cda37f10fcfadb3f85
2019-09-16 12:46:58 +09:00
Yi Kong
eb63f76721 Move strip.sh to use llvm-nm instead of GNU nm
Also fix an issue with deps file introduced in ab5e5142. Now correctly
depends on llvm-readelf insteaf of GNU readelf.

Test: presubmit
Change-Id: Id287e2844626c07917348a62820f8b5edbb22c3d
2019-09-14 01:39:53 -07:00
Treehugger Robot
4e812550b0 Merge "Check Rust dep is a Module before checking target." 2019-09-14 04:03:59 +00:00
Julien Desprez
74b0a4891e Merge "Revert "Force gtest to use adb unroot if required_root is false or not set"" 2019-09-14 03:08:57 +00:00
Julien Desprez
1a5eeb3e35 Revert "Force gtest to use adb unroot if required_root is false or not set"
This reverts commit b2cb324ce1.

Reason for revert: broke host-side test mapping

Change-Id: Iea63395d525444421fc27ef5bc660362eba11db0
2019-09-14 03:06:26 +00:00
Yi Kong
d14f7b1e11 Merge "Remove use_gnu_strip option" 2019-09-13 23:22:30 +00:00
Ivan Lozano
70e0a07b99 Check Rust dep is a Module before checking target.
The Target checks against the os type and arch type occur before we
determine a dependency is a rust.Module / cc.Module. This meant
rust_defaults would fail this check, preventing them from being used.

Bug: 140963307
Test: make a rust_binary_host using rust_defaults.
Change-Id: Ibf43635f14ad367b4ce8016a2196f8c645b36bfe
2019-09-13 14:43:57 -07:00
Yi Kong
ab5e514208 Remove use_gnu_strip option
This option is no longer used anywhere.

Test: presubmit
Change-Id: I1a5f2d14e24ecf7c15a437054b8a95ddaf57da2f
2019-09-13 12:18:47 -07:00
Dan Shi
d2ac6985e9 Merge "Force gtest to use adb unroot if required_root is false or not set" 2019-09-13 15:55:04 +00:00
Treehugger Robot
dd15afa1ca Merge "Track switch to toybox date for macOS." 2019-09-13 00:47:43 +00:00
Colin Cross
ee3f105f25 Merge "Add missing cortex-a76 arm configuration" 2019-09-12 22:50:18 +00:00
Treehugger Robot
9dab630dcb Merge "Disable coverage for native-bridge modules" 2019-09-12 22:48:41 +00:00