Commit Graph

11643 Commits

Author SHA1 Message Date
Colin Cross
1a385d14ef Merge "Allow codename.fingerprint format for targetSdkVersion"
am: e928452f30

Change-Id: I474891969735933f98c3a09646c50efca57efff8
2019-04-22 10:04:30 -07:00
Colin Cross
e928452f30 Merge "Allow codename.fingerprint format for targetSdkVersion" 2019-04-22 16:48:35 +00:00
Dan Willemsen
52c90d868e pom2bp: Implement -static-deps to match pom2mk
This changes the default behavior of pom2bp to match pom2mk, and not
require pre-extraction of all of the manifests.

Test: convert an internal pom2mk user to pom2bp
Change-Id: I08120cce1f923ef28519563ffd772032b2e500ed
2019-04-21 21:46:42 -07:00
Colin Cross
2e2967423a Merge "Build framework.aidl in Soong"
am: 8bf9bd9f91

Change-Id: Iffe8b5a7b2d6ce06cb369e064374cc009eea1cc1
2019-04-21 10:29:42 -07:00
Colin Cross
8bf9bd9f91 Merge "Build framework.aidl in Soong" 2019-04-21 17:20:16 +00:00
Dan Willemsen
fd9fa1a56e Add -jetifier to pom2mk and pom2bp
am: 7fdab6eeec

Change-Id: Ibbdf2b95a487eed5515e62706e01c0d6d9737715
2019-04-21 02:42:33 -07:00
Dan Willemsen
4d5508524d Fix soong_zip --help
am: 7f276c6b77

Change-Id: Ic92068e1f7d65baa161e45dce2460af502334b11
2019-04-21 02:42:21 -07:00
Dan Willemsen
7fdab6eeec Add -jetifier to pom2mk and pom2bp
Test: use pom2mk -jetifier to replace some hand-modified makefiles
Change-Id: I2a1988d0120fee1edf2d85c8b3294041840efe7c
2019-04-20 21:47:14 -07:00
Dan Willemsen
7f276c6b77 Fix soong_zip --help
It was not printing out the flag descriptions because it was using the
default FlagSet instead of the custom FlagSet when calling
PrintDefaults.

Test: soong_zip --help
Change-Id: I8a5705f8701ce0c05dde144b9a14962faa384e65
2019-04-20 21:45:51 -07:00
Sasha Smundak
2f65feddde Merge "Fix handling optimize.enabled from java_defaults"
am: 36ab727c82

Change-Id: I23a8d2e2dadf413597d59be9d43667bb7bd05193
2019-04-19 23:27:40 -07:00
Treehugger Robot
36ab727c82 Merge "Fix handling optimize.enabled from java_defaults" 2019-04-20 06:17:14 +00:00
Jiyong Park
2b77cefa1b Merge "Ensure that PathsForModuleSrc works with prebuilts"
am: 3ed757ab3a

Change-Id: I264499f517e8fa8501d75336ca97f1083fcad3b4
2019-04-19 20:44:17 -07:00
Jiyong Park
3ed757ab3a Merge "Ensure that PathsForModuleSrc works with prebuilts" 2019-04-20 02:40:19 +00:00
Dan Willemsen
f8b4bdd07a Merge changes from topics "obsolete_broken_dup_copy_headers", "obsolete_broken_phony_targets"
am: 49495ee63f

Change-Id: Iaa35295b6e69383278c080090fa314eeff115bd1
2019-04-19 17:07:04 -07:00
Treehugger Robot
49495ee63f Merge changes from topics "obsolete_broken_dup_copy_headers", "obsolete_broken_phony_targets"
* changes:
  Obsolete BUILD_BROKEN_DUP_COPY_HEADERS
  Obsolete BUILD_BROKEN_PHONY_TARGETS
2019-04-19 23:56:14 +00:00
Yi Kong
bafbdf4239 Merge "Switch to clang-r353983c"
am: db52ce88b0

Change-Id: I80437802cdb52b22bad0e2c67f57b596cc75451a
2019-04-19 16:30:25 -07:00
Yi Kong
db52ce88b0 Merge "Switch to clang-r353983c" 2019-04-19 21:55:45 +00:00
Dan Willemsen
2fbb7571bf Obsolete BUILD_BROKEN_DUP_COPY_HEADERS
There are no remaining users.

Test: treehugger
Change-Id: If8719480f73a8fa009d9733479390d2abd4021b1
2019-04-19 11:22:27 -07:00
Dan Willemsen
6097746769 Obsolete BUILD_BROKEN_PHONY_TARGETS
There are no remaining users.

Also mark BUILD_BROKEN_ANDROIDMK_EXPORTS and BUILD_BROKEN_ENG_DEBUG_TAGS
as deprecated in scripts/build_broken_logs.go

Test: treehugger
Change-Id: If7892bef1b9001f12a99565f886b395cf1985e70
2019-04-19 11:16:52 -07:00
Colin Cross
44619bfa34 Merge "Get default sdk_test.go values from config"
am: 9820aa6cc8

Change-Id: I95da16462ea8c1d3d4eeeb6c0c8fb3b57d2dd059
2019-04-19 10:34:21 -07:00
Treehugger Robot
9820aa6cc8 Merge "Get default sdk_test.go values from config" 2019-04-19 17:13:29 +00:00
Yi Kong
09ecee7686 Switch to clang-r353983c
Test: TreeHugger
Bug: 129712936
Change-Id: I15f1db69de86ad8b9f2a0ae086fa2df87835948a
2019-04-19 16:23:18 +00:00
Jiyong Park
581569e4cc Fix: PathsForModuleSrc does not work for a replaced dependency
am: f2976304f7

Change-Id: Id542e5aec1aa6ea0e69e6af0f93a3440885924d8
2019-04-19 02:04:49 -07:00
Jiyong Park
d4671111ef Ensure that PathsForModuleSrc works with prebuilts
prebuilt_test is amended to ensure
f2976304f7 is not broken.

PathsForModuleSrc is called to check if the file is from correct module
(either from source or prebuilt module)

Bug: 130627486
Test: m

Change-Id: Ic5f467fbc2837727df92102530687e967cd5529f
2019-04-19 17:57:33 +09:00
Jiyong Park
71b519d6ce Set default target SDK version for APEX
Target SDK version is used for targeting an APEX to a specific set of
platform builds. Usually, the targeting is unrestricted (in case the
APEX can run on all platforms), or based on platform SDK version (e.g.
28 for P). However, when the platform is under development and SDK is
not finalized, the targeting should be much more fine-grained; the
APEX should be targeted to a very specific build that supports the same
set of APIs that the APEX was built against.

To support that, target sdk version is automatically set by the build
system. When the platform is released or SDK is finalized, the target sdk
version set to the SDK version number. If not, it is set to
<version_code>.<fingerprint> (e.g., Q.123456).
Note that the target sdk version set by the build system is used only
when the target sdk version is not explicitly set in
AndroidManifest.xml.

Bug: 130541924
Test: UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true \
UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true \
TARGET_BUILD_APPS=com.android.tzdata m
build.ninja has --target_sdk_version Q.$$(cat out/soong/api_fingerprint.txt)

Test: aapt dump badging out/dist/com.android.tzdata.apex | grep \
targetSdkVersion shows:
targetSdkVersion:'Q.6ee443d9ad5f0cca7a43cfa97b7fc62a'

Change-Id: I086230d787f01075c28fc3f0163550300fa00212
2019-04-19 14:45:41 +09:00
Jiyong Park
f2976304f7 Fix: PathsForModuleSrc does not work for a replaced dependency
PathsForModuleSrc does not work if a source module is replaced with a
prebuilt module. This is because the function uses GetDirectDepWithTag
with the name of the original source module. Since the dependency is
replaced and the prebuilt module has the name "prebuilt_<name>", the
search always fails.

Fixing this by re-implementing GetDirectDep* functions inside Soong
using VisitDirectDep.

Bug: 130627486
Test: m
Change-Id: I68d52668283c429d5e93c7f2c81f6a8db1f24893
2019-04-19 13:48:33 +09:00
Colin Cross
109328714f Allow codename.fingerprint format for targetSdkVersion
Use codename.fingerprint format for targetSdkVersion if it is unset
in the manifest and UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true.

Test: manual
Bug: 130541924
Change-Id: I4e3b1274cc32038b00b292dc6d67559eb320e9e4
2019-04-18 16:05:37 -07:00
Colin Cross
3047fa23da Build framework.aidl in Soong
Move the rules to build framework.aidl into Soong, and use it
when compiling aidl files with sdk_version: "current".

Also fixes incorrectly using the aidl includes exported by the
"framework" module when the proguardRaiseDep dependency was
added.

Bug: 130798034
Test: sdk_test.go
Change-Id: I126adf1d9e7b6acb528875ff62b974ba7ad9a337
2019-04-18 13:51:58 -07:00
Dan Willemsen
8fa04304e7 Merge "TARGET_FS_CONFIG_GEN is a list, not a single path"
am: 3c4a9159c9

Change-Id: Ia352f2354235fae711d37a8f059ec01d2b0d8b5d
2019-04-18 12:48:20 -07:00
Treehugger Robot
3c4a9159c9 Merge "TARGET_FS_CONFIG_GEN is a list, not a single path" 2019-04-18 19:37:49 +00:00
Colin Cross
60405e50f8 Get default sdk_test.go values from config
This will help avoid merge conflicts between branches that have
additional default libraries.

Test: sdk_test.go
Change-Id: I98d5b8b2ea939df7ef57686f3bd913d6a21edc5d
Merged-In: I98d5b8b2ea939df7ef57686f3bd913d6a21edc5d
2019-04-18 12:35:16 -07:00
Dan Willemsen
e66d6878a4 Merge "Dump make deprecation status to logs"
am: 5ac11b7439

Change-Id: Ic767bb51cae29dfda7bb4b4320cc3ea0be512417
2019-04-18 10:59:08 -07:00
Dan Willemsen
5ac11b7439 Merge "Dump make deprecation status to logs" 2019-04-18 17:44:19 +00:00
Dan Willemsen
54879d193e TARGET_FS_CONFIG_GEN is a list, not a single path
Bug: 130787336
Test: m oemaids_header_gen oemaids_headers passwd group
Test: Set TARGET_FS_CONFIG_GEN to a list of paths
Change-Id: Ic1f7d38239f3f805ca0723c24005d3e18a811870
2019-04-18 17:16:41 +00:00
Pirama Arumuga Nainar
93b008e5b8 Merge "Revert "Revert "Enable lld for windows"""
am: cd9a1e2e73

Change-Id: Ib112923a601eebe26a95a5f8a714b2d862c2c6d6
2019-04-18 08:43:12 -07:00
Pirama Arumuga Nainar
cd9a1e2e73 Merge "Revert "Revert "Enable lld for windows""" 2019-04-18 15:26:42 +00:00
Sasha Smundak
2057f82161 Fix handling optimize.enabled from java_defaults
Some module types (`android_test`, etc.) set `optimize.enabled` by
default. If such module happens to have `defaults` attribute which
clears `optimize.enabled`, the latter value is ignored.

Fixes: 129858282
Test: unit tests in java_test.go,
`atest CtsExtendedMockingTestCases` succeeds with aog/936802
reverted (that is, with cts/test/mocking converted to Android.bp)

Change-Id: Ib8e3a0ab0bd489d70ed07f626082aeae31c45e7c
2019-04-17 17:59:09 -07:00
Colin Cross
c1afb65520 Add support for prebuilt java_sdk_library modules
am: 79c7c26d8a

Change-Id: I479bbe64cadae218aa3e373726f9376e5d9bdfcf
2019-04-17 15:08:40 -07:00
Dan Willemsen
368e55671b Dump make deprecation status to logs
So that the output of build_test can be parsed to understand which
devices need changes.

Test: read out/soong.log
Change-Id: I40b25527ef72e3f646c0cfe62114b452fa3f27f6
2019-04-17 14:44:33 -07:00
Colin Cross
79c7c26d8a Add support for prebuilt java_sdk_library modules
Add java_sdk_library_import for use when a java_sdk_library may
be used by unbundled branches that do not have the project that
contains the original java_sdk_library module.

Bug: 130287656
Test: m checkbuild
Change-Id: I62df4bccc0da95ed6c8b31dab8f2c32cc3215e9e
2019-04-17 11:28:34 -07:00
Jiyong Park
9e4d9a2ccd Merge "Fix: HideFromMake is not registered to llndk_* module types"
am: 587fb4de9a

Change-Id: If0bcd3d4a523a5867b28f787578dd192c8bfd68b
2019-04-17 07:58:32 -07:00
Treehugger Robot
587fb4de9a Merge "Fix: HideFromMake is not registered to llndk_* module types" 2019-04-17 14:40:17 +00:00
Paul Duffin
2b9f534fba Merge "Rename -extra-deps to --extra-static-libs and add --extra-libs"
am: 38b122021a

Change-Id: I62fc265b7984d1a10742fdd5181fca2f92ab8ea6
2019-04-17 07:22:47 -07:00
Paul Duffin
38b122021a Merge "Rename -extra-deps to --extra-static-libs and add --extra-libs" 2019-04-17 14:06:48 +00:00
Colin Cross
414d337702 Merge "Use LoadHook to create modules in java_sdk_library"
am: 59d4a31063

Change-Id: Iba2f8ad6b58e90e4bb703ff0f0900da146d85e72
2019-04-17 01:41:33 -07:00
Treehugger Robot
59d4a31063 Merge "Use LoadHook to create modules in java_sdk_library" 2019-04-17 08:28:36 +00:00
Jiyong Park
5e676fe9f0 Fix: HideFromMake is not registered to llndk_* module types
llndk_* module types are not initialized via cc.Module.Init(). As a
consequence, mutated properties like HideFromMake, etc. were not
registered and this caused problem when the mutated properties are set
by one of the mutators like the sanitizerMutator. Specifically, both
asan and non-asan variant of an llndk_header were both exported to Make
although HideFromMake was set to true for the non-asan variant.

Fixing this bug by explicitly registering BaseProperties struct which
contains the mutated properties.

Bug: 130652996
Test: Following works:
$ lunch aosp_cf_x86_pasan-userdebug
$ mkdir frameworks/native/test && mkdir frameworks/native/test/include
$ cat > frameworks/native/test/Android.bp
llndk_headers {
    name: "test_headers",
    export_include_dirs: ["include"],
}
^D
$ SANITIZE_TARGET='address' make

Change-Id: I44e3668460448d79382617df61171b0ab5b4d98d
2019-04-17 13:17:47 +09:00
Colin Cross
676f488b72 Merge "Allow guava to use java_host_for_device"
am: 44d5d22db6

Change-Id: Ib2dd2bc337fc02442fb04a3938e98fb047ebf297
2019-04-16 16:28:46 -07:00
Pirama Arumuga Nainar
6d8c0a50bc Revert "Revert "Enable lld for windows""
This reverts commit 61166dc047.

One difference from the earlier change is that import libraries are now
using the '.lib' extension instead of '.a' to prevent clash with
AdbWinApi.a.

Bug: http://b/110800681

The following flags that the binutils linkers support are not
available in lld for Windows:
  -soname
  --no-undefined
  -rpath

Windows also uses "import libraries", which are stub libraries used only
for linking.  The binutils linkers accepted a DLL and treated them as an
import library.  But lld issues the following error:

  lld-link: error: ...DLL: bad file type. Did you specify a DLL instead
  of an import library?

To resolve this, pass '-out-implib=libFoo.lib' to lld when linking
libFoo.dll to get lld to generate an import library.  Add libFoo.lib as
an implicit output to the 'ld' build rule.

Rewrite the shared libraries when building a library/binary to use the
import library instead of the DLL.  As a side-effect, this also uses the
newly-created AdbWinApi.lib that's alongside
development/host/windows/prebuilt/usb/AdbWinApi.dll

Test: Run Windows tests (go/android-llvm-windows-testing) and check
absence of regressions.  Also check that the following commands pass:
      $ adb.exe devices
      $ fastboot.exe devices

Change-Id: I34e07d345e0207086ac8e8ea12525d8c322b20fd
2019-04-16 16:22:03 -07:00
Colin Cross
44d5d22db6 Merge "Allow guava to use java_host_for_device" 2019-04-16 23:14:12 +00:00