Commit graph

41279 commits

Author SHA1 Message Date
Tao Bao
b54f6157a4 Merge "releasetools: Add a BuildInfo class." 2018-01-10 20:37:41 +00:00
Tianjie Xu
d3bf67e1d3 Sort the split transfers to generate a determinate package
We split large apks and generated patches for them in parallel,
resulting in nondeterminate packages between different runs. This CL
sort the split transfers by target name first; and then add them
sequentially to the final transfer list.

Also fix a side effect where we may generate a wrong sha1 for split
ranges due to synchronization error.

Bug: 71770360
Bug: 71759418

Test: Generate the package several times, compare the log and the transfer list.
Change-Id: I2a49e22594d59ffaa98b11edc776be4e3c4c561f
2018-01-10 12:23:57 -08:00
Tri Vo
c727d6d40e bootanim: remove access to vendor_file type
This domain should instead depend on same_process_hal_file, to which all
domains already have access.

Bug: 70990973
Test: emulator -gpu guest; boots with no denials from bootanim.
Change-Id: Ic577dd3c3895f8471d68a0da245d37a17cd6a3f3
2018-01-10 09:13:44 -08:00
Nicolas Geoffray
b7c5e3bbb9 Remove copy/paste code.
The options passed are already the default.

This is also to reduce the difference between user and userdebug
related to dexopt.

Test: m
Change-Id: Id62c38f145909b511761b471160028915000fc23
2018-01-10 10:01:11 +00:00
Treehugger Robot
9eba210e23 Merge "Remove support for stlport." 2018-01-10 00:12:48 +00:00
Tao Bao
481bab8d48 releasetools: Add a BuildInfo class.
Prior to this CL, we have similar codes in different paths
(WriteFullOTAPackage / WriteBlockIncrementalOTAPackage /
WriteABOTAPackageWithBrilloScript). This CL factors out the common codes
that deal with OEM-specific properties into BuildInfo class, and adds
tests for the new class.

Test: python -m unittest test_ota_from_target_files
Test: Create an incremental package that uses and doesn't use OEM
      properties respectively.
Test: Create a full package that uses and doesn't use OEM properties
      respectively.
Change-Id: Ida914cace12803d55396fa503bafcac2db2a520e
2018-01-09 15:08:23 -08:00
Treehugger Robot
8d3fde909e Merge "base_rules.mk: Don't use is_native for MULTILIB modules." 2018-01-09 05:05:30 +00:00
Treehugger Robot
139f458ced Merge "Remove armv5te" 2018-01-09 03:18:34 +00:00
Treehugger Robot
48e41b74f9 Merge "Fix allowed STL types for system libraries." 2018-01-09 02:38:05 +00:00
Dan Willemsen
ecae349e19 Switch to build-tools bison
Test: m
Test: mma external/dtc
Change-Id: Ia8e837f77238cb07e23de24f98c77aba9ff0f8dd
2018-01-08 17:38:33 -08:00
Treehugger Robot
5a436f10e5 Merge "adbs was broken for a year and no-one noticed." 2018-01-08 23:51:24 +00:00
Dan Willemsen
dd3a27394f Remove armv5te
This architecture only existed for unbundled use, but even the NDK is
removing support in their r17 release, so just remove support for it.

Test: build/soong/build_test.bash -only-config
Test: check buildserver configs, I don't see anything still using armv5
Change-Id: Ic183b510c9ada94438bd4cc2b9362fa438a29ced
2018-01-08 15:26:16 -08:00
Elliott Hughes
1a701d93f9 adbs was broken for a year and no-one noticed.
Time to remove it.

Bug: https://b/15270043
Test: N/A
Change-Id: Idb56fc99c213732eca75f81ddd9d7a8a19374b42
2018-01-08 13:55:00 -08:00
Simran Basi
7160b06db9 base_rules.mk: Don't use is_native for MULTILIB modules.
Currently we determine if a test artifact has multiple build
outputs by checking if it is NATIVE_TEST, NATIVE_BENCHMARK, or
LOCAL_MULTILIB and declare the module is_native.

This is technically not true therefore let's use a different
variable to determine if we need multiple architecture directories.

Bug: 71554249
Test: make sl4a -j ; Results in an autogenerated empty configuration file.
Change-Id: I17c8f3ef7e1cd502b57e25c71688f12a35a9787d
2018-01-08 13:03:07 -08:00
Dan Albert
1759e2d2f1 Fix allowed STL types for system libraries.
Static libraries using the system STL have type
native:ndk:system:none, not native:ndk:system:shared, since no
actually linking takes place. These are still allowed to be linked to
platform modules.

Test: make checkbuild
Bug: None
Change-Id: Ib999bb0f422ec3938daa740fca5681e153d6525a
2018-01-08 12:42:20 -08:00
Yi Kong
259b2741bb Merge "Revert "Switch to llvm-ar"" 2018-01-08 19:51:19 +00:00
Yi Kong
4f2e033447 Revert "Switch to llvm-ar"
This reverts commit 5128702ed3.

Bug: 71694982
Reason for revert: Broke Mac build

Change-Id: I1044eccf943bae3c99e7527bd13989c70743b3d4
2018-01-08 18:09:54 +00:00
Treehugger Robot
e3692095a1 Merge "releasetools: Add tests for common.ReadApkCerts()." 2018-01-05 23:30:53 +00:00
Yi Kong
9e700abdfa Merge "Switch to llvm-ar" 2018-01-05 22:54:53 +00:00
Treehugger Robot
51fb7ac7b3 Merge "Remove support for gnustl." 2018-01-05 22:29:31 +00:00
Treehugger Robot
0b4bf51e49 Merge "Also restrict NDK linking by static/shared STL." 2018-01-05 22:14:15 +00:00
Steven Moreland
0540296e9f envsetup.sh: don't assume 'cd' is builtin
Some parts of envsetup.sh aren't very happy with things like
this:
function cd() {
    builtin cd "$@" && pwd && ls -l
}

here, I have s/cd/builtin cd/ one such case where envsetup
is trying to execute the output of cd.

Test: manual
Change-Id: I2774481dfbd958410682a4f773f1b8f12a0080aa
2018-01-05 20:15:36 +00:00
Tao Bao
818ddf5e7e releasetools: Add tests for common.ReadApkCerts().
Test: python -m unittest test_common
Test: Run sign_target_files_apks.py on a target with compressed APKs.
Change-Id: I107a8b8f2f0f82e2d1947f14c8a8b3778f633b11
2018-01-05 11:53:55 -08:00
Dan Albert
19fbd1ce39 Remove support for stlport.
Test: make checkbuild
Bug: None
Change-Id: Iaaaecbe2608fe7a880236f3bbad0fcfcf62b5096
2018-01-05 11:49:43 -08:00
Dan Albert
94f95cf504 Remove support for gnustl.
Test: make checkbuild
Bug: None
Change-Id: Iaddd40b32f84395a76efaaa74be38770085617d5
2018-01-05 11:49:43 -08:00
Dan Albert
4297c39e75 Also restrict NDK linking by static/shared STL.
Test: make checkbuild
Bug: None
Change-Id: I0eb29ec483c069d1c12f444fd2e94cc6eb320f93
2018-01-05 11:49:43 -08:00
Treehugger Robot
b2e9b2b34f Merge "Correct some GSI settings to board makefile" 2018-01-05 08:17:44 +00:00
Stephen Hines
5128702ed3 Switch to llvm-ar
llvm-ar is required for platform LTO build.

With GNU ar, we used crsPD flags, however 'P' flag is not supported by
llvm-ar. Since none of the platform archive files are built using third
party AR, the 'P' flag should not matter to us. However we've been
relying on one side-effect of 'P', where  'ar foo.a some/path/to/obj.o'
when foo.a already has a file named 'obj.o' will be an append operation,
regardless whether the existing one is the same (ar has no way of
telling the difference). We workaround this by always appending ('q'
flag) for llvm-ar. This may result in larger intermediate archive files
(more duplication) but will not affect the final build result.

Bug: 71618641
Test: m checkbuild
Change-Id: Id96a244cfe49cecfba08cc868dd18934ecb4ff23
2018-01-04 23:50:17 -08:00
Colin Cross
96029a1276 Merge changes I9fda7fe3,I0a34b2b4,Ie64a283d
* changes:
  Clear resource_export_package outside conditionals
  Fix adbs after move from build/tools to build/make/tools
  Use proguard.jacoco.flags for EMMA_INSTRUMENT_STATIC
2018-01-05 06:22:35 +00:00
Jae Shin
8b759c08ca Merge changes Ida449978,I8c6953f1
* changes:
  Apply snapshot variant to vndk package module name
  Additionally package TARGET_2ND_ARCH variants
2018-01-05 01:16:06 +00:00
Treehugger Robot
fd3f4570fa Merge "BOARD_VNDK_RUNTIME_DISABLE must not be "true" for VNDK snapshot" 2018-01-05 00:41:47 +00:00
Justin Yun
4dff0c6974 BOARD_VNDK_RUNTIME_DISABLE must not be "true" for VNDK snapshot
When generating VNDK snapshot, BOARD_VNDK_RUNTIME_DISABLE must not be
'true' to have correct ld.config.txt file.

Bug: 71349776
Test: lunch aosp_arm64_ab-user; make -j vndk dist
Change-Id: I20b14addb2f4a191134a1a9943e328566ca48424
2018-01-05 09:40:47 +09:00
Treehugger Robot
167fcc5cc0 Merge "Restrict NDK link type to matching STLs." 2018-01-04 23:42:25 +00:00
Colin Cross
ab61f213e0 Clear resource_export_package outside conditionals
$(resource_export_package) is used by package_internal.mk outside
ifeq ($(need_compile_res),true), but only cleared inside the
conditional.  This causes unnecessary dependencies to be added
to an old value of $(resource_export_package).  In rare cases,
the dependency can be on itself, causing a dependency loop.

Bug: 71571462
Test: m checkbuild
Change-Id: I9fda7fe3bf9d208ad4ba2f8cdb184034bf43f044
2018-01-04 14:32:14 -08:00
Treehugger Robot
7c53288810 Merge "releasetools: Clean up build_image.py." 2018-01-04 22:20:27 +00:00
Dan Albert
975e303ad2 Restrict NDK link type to matching STLs.
Test: make native
Bug: None
Change-Id: Ie9d9107fe0eeb425843ae2db197e1c60d14a59ca
2018-01-04 12:51:34 -08:00
Treehugger Robot
b0f4677748 Merge "Apply change in prebuilt names for config files" 2018-01-04 20:16:36 +00:00
Chih-hung Hsieh
bd69b7daa7 Merge "Call clang-tidy with -fno-caret-diagnostics by default." 2018-01-04 19:07:15 +00:00
Treehugger Robot
b050f66e42 Merge "releasetools: Move assertions into CheckHeadroom()." 2018-01-04 18:34:24 +00:00
Treehugger Robot
9e8b5892e4 Merge "Don't install unnecessary VNDK libs" 2018-01-04 16:14:52 +00:00
Treehugger Robot
ce5e4e251e Merge "Mark ANDROID_BUILD_TOP as obsolete" 2018-01-04 13:35:34 +00:00
Tobias Thierer
1644e2f1b7 Merge "Build with OpenJDK 9 -target 1.8 by default (attempt 4)." 2018-01-04 11:18:11 +00:00
Tobias Thierer
294111393e Build with OpenJDK 9 -target 1.8 by default (attempt 4).
This is cherry-picked from attempt 3, which was reverted
due to http://b/70862583.

Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.

This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.

Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.

To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false

Bug: 69449021
Test: Treehugger
Test: art/test/testrunner/run_build_test_target.py -j40 art-interpreter
Test: dalvik/dx/tests/run-all-tests

(cherry picked from commit ab1e54d5f1)

Change-Id: I119be15bd95747722114b970400b740fa47bf9e0
Merged-in: Ic42a518c90515b497e5cecec444ded373e403a4b
2018-01-04 11:08:14 +00:00
Chih-Hung Hsieh
4d31b9da8c Call clang-tidy with -fno-caret-diagnostics by default.
* clang -fno-caret-diagnostics
  suppresses warning source lines, carets, and
  the stats line of "n warnings generated"
* clang-tidy -extra-arg-before=-fno-caret-diagnotics
  only suppresses the "n warnings generated" line.
* Pass this flag and -quiet to clang-tidy when
  WITH_TIDY is not 1 or true.
* Remove redundant quotation marks around -extra-arg-before.

Bug: 69051430
Test: normal build and build with WITH_TIDY=1

Change-Id: I9021ee315edc977c15dda6ab246a00182f31fad1
2018-01-04 01:31:37 -08:00
SzuWei Lin
43672c0fc5 Normalize the 2nd CPU architect of 64 bits arm GSI
In order to let GSI more generic. Normalize the 64 bits arm GSI
to be:

    TARGET_2ND_ARCH_VARIANT := armv8-a
    TARGET_2ND_CPU_VARIANT := generic

Bug: 64775084
Test: Build pass and boot to home screen
Change-Id: I1dd5aa8524c1d243f832372bf7e3e64fae09e945
Merged-In: I1dd5aa8524c1d243f832372bf7e3e64fae09e945
2018-01-04 11:07:29 +08:00
Jae Shin
240d97a249 Apply snapshot variant to vndk package module name
VNDK snapshot phony package, vndk_v$VER, is redefined to
separate phony packages per VNDK snapshot build variant,
vndk_v$VER_$VARIANT, where $VARIANT is defined as the primary
$TARGET_ARCH of the build target.

Accordingly, top level Android.bp file under prebuilts/vndk/v$VER
is redefined as separate Android.bp files for each snapshot
variant at prebuilts/vndk/v$VER/$VARIANT/Android.bp.

Test: m -j PRODUCT_EXTRA_VNDK_VERSIONS=27 (after installing
snapshot to prebuilts/vndk/v27)
Bug: 71370248

Change-Id: Ida449978090fe8a4f16376c991d34fa0945be596
2018-01-04 10:23:19 +09:00
Jae Shin
893fca6e46 Additionally package TARGET_2ND_ARCH variants
Redefine VNDK snapshot top level dir with $(TARGET_PRODUCT) and
additionally package TARGET_2ND_ARCH build variants of libs since
they are needed by 32bit processes running on a 64bit device.

Test: m -j vndk dist
Bug: 71370248
Change-Id: I8c6953f1b52b61caf413559bab56b294479b6d86
2018-01-04 10:23:10 +09:00
Jae Shin
77c07dd6d0 Apply change in prebuilt names for config files
The suffix for VNDK config files ld.config.txt,
llndk.libraries.txt, and vndksp.libraries.txt has been changed to
*.$(PLATFORM_VNDK_VERSION).txt.

Refactor the paths-of-intermediates function such that instead of
parsing filenames from list of modules within the function,
provide the function a list of preprocessed
module_name:file_name pairs.

Bug: 70918357
Test: m -j vndk dist
Change-Id: I2d69b7822cef4c709e15a53f99c7ab2efb22406c
2018-01-04 10:07:30 +09:00
Colin Cross
8798bb70da Merge changes from topic "soong_r8"
* changes:
  Add R8 support to Soong.
  Fix dependency on Soong jacoco report classes
2018-01-04 00:12:49 +00:00
Dan Willemsen
07699636b0 Mark ANDROID_BUILD_TOP as obsolete
All users have been removed.

Test: check the build_test logs from aosp/master -> goog/master
Change-Id: I99e5630d7c13882c7667b0499c4f55633fa4535a
2018-01-03 15:15:38 -08:00