Commit graph

1074 commits

Author SHA1 Message Date
Yifan Hong
6ce074f2de PRODUCT_COMPATIBILITY_MATRIX_LEVEL_OVERRIDE is deprecated.
It is replaced by FCM Version specified in the device manifest
directly.

Test: builds
Bug: 69636193
Change-Id: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
2017-12-13 12:16:15 -08:00
Colin Cross
426ecd0f60 Merge "Replace build/tools with build/make/tools" am: 973301af79 am: e6dc6b2026
am: eb6c8444a6

Change-Id: I14d033658d219e81790ab1e730b7e477c70f4a13
2017-12-13 03:03:47 +00:00
Tobias Thierer
e8c8b574b2 Merge "Revert "Build with OpenJDK 9 -target 1.8 by default except for errorprone."" am: 909a2d96f2 am: fe1280f4e0
am: 5d214a3844

Change-Id: I08099b9355ceeec2e66bb6d5bfdd3f2198b20aa5
2017-12-11 23:17:57 +00:00
Tobias Thierer
6de04b723d Merge "Build with OpenJDK 9 -target 1.8 by default except for errorprone." am: 3342e45722 am: 1c64b02a4d
am: 6bfcac877e

Change-Id: Ida8e40a9a0bf922891d404cdc5e2a92ed3d981e5
2017-12-11 19:29:25 +00:00
Tobias Thierer
bfa043039d Revert "Build with OpenJDK 9 -target 1.8 by default except for errorprone."
After this revert CL topic, the default toolchain for Android
goes back to being OpenJDK 8.

This revert is being prepared ahead of time in case of
any problems with CL topic:
https://r.android.com/#/q/topic:bug69449021_attempt2

Bug: 69449021
Test: Treehugger

Change-Id: I0ef41eff91e0d8437dc95e8569880f26f2529bc9
2017-12-11 14:21:37 +00:00
Tobias Thierer
ab1e54d5f1 Build with OpenJDK 9 -target 1.8 by default except for errorprone.
(This is cherry-picked from the first attempt to submit this CL
topic, which was reverted after 3 hours because of bug 70286093;
robolectric 3.{1.1,4.2} now stick with OpenJDK 8 to avoid that bug).

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: Running robolectric tests succeeds on internal-master
      after cherry-picking this CL topic, using the command
      line from http://b/70286093#comment1

(cherry picked from commit 5f36a62622)

Change-Id: I4972c714ed80c35328895e88675b56bf0e195c01
2017-12-11 14:21:37 +00:00
Søren Gjesse
463c9e7bc6 Merge "Revert "Enable R8 by default"" am: 5006ee95fc am: 9a6273a947
am: a7632a0e98

Change-Id: Ia1ae802ebdea0a99f8b1020ca81cf03d43aa9c95
2017-12-11 10:47:43 +00:00
Søren Gjesse
c2afe55679 Revert "Enable R8 by default"
This reverts commit 7fbc84686c.

Reason for revert: Build failures on oc-mr1-dev-plus-aosp, b/70486468.

Change-Id: I8c1bf38355b1e35748e065d39038c2aaf37c64af
Exempt-From-Owner-Approval: Revert due to build failures
2017-12-11 10:29:07 +00:00
Søren Gjesse
533789f032 Merge "Enable R8 by default" am: f93deb040d am: adf6c87cd0
am: a942359cbb

Change-Id: Iff28ce49c5957ac7e0e82f1c466134b5c3943404
2017-12-11 07:43:13 +00:00
Søren Gjesse
7fbc84686c Enable R8 by default
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I3c07cfce7db44fcc2e1bf99960da248558d4a686
2017-12-08 14:00:21 +01:00
Dan Shi
d5424cfa3d Merge "Add build script to generate TF test XML file with filters" am: 0765d53239 am: 515896c436
am: da1ba69776

Change-Id: I63aaeaede31b47a285173e4a48959600062ed226
2017-12-07 04:01:42 +00:00
Dan Shi
515896c436 Merge "Add build script to generate TF test XML file with filters"
am: 0765d53239

Change-Id: I8ef4cee13232182a01c1bdc0da6afaf9ddd49e01
2017-12-07 03:49:57 +00:00
Colin Cross
fdea893833 Replace build/tools with build/make/tools
Test: m checkbuild
Change-Id: I8db6c27a6d2372f142d10568fe92d6f2e9a59252
2017-12-06 16:12:40 -08:00
Xin Li
5f03da0404 Merge "DO NOT MERGE: Merge Oreo MR1 into master" 2017-12-06 23:18:30 +00:00
Treehugger Robot
0765d53239 Merge "Add build script to generate TF test XML file with filters" 2017-12-06 22:51:43 +00:00
Tobias Thierer
54254f5f4a Merge "Revert "Default to building with OpenJDK 9 -target 1.8."" am: 2ea4ed5911 am: a363f249e9
am: e8ef654e04

Change-Id: Ie78a7847aca32799a767d2bbc8ff49e6407e577f
2017-12-06 14:19:08 +00:00
Tobias Thierer
a363f249e9 Merge "Revert "Default to building with OpenJDK 9 -target 1.8.""
am: 2ea4ed5911

Change-Id: I0fd225966b98a212b8c9712a4942cfe3e8bd9dc2
2017-12-06 14:09:31 +00:00
Tobias Thierer
3d4065026a Merge "Build with OpenJDK 9 -target 1.8 by default except for errorprone." am: d4760b3eed am: d148a93adc
am: 864b81d466

Change-Id: I282dc8d54ff080c4bb54bae9a595424d45f7df24
2017-12-06 11:22:27 +00:00
Tobias Thierer
d148a93adc Merge "Build with OpenJDK 9 -target 1.8 by default except for errorprone."
am: d4760b3eed

Change-Id: I051acf7e54d1fcbaf18943b11436d8566a2568a7
2017-12-06 11:09:39 +00:00
Tobias Thierer
a4fc423ebf Revert "Default to building with OpenJDK 9 -target 1.8."
After this revert CL topic, the default toolchain for Android
goes back to being OpenJDK 8.

This revert is being prepared ahead of time in case of
any problems with original change topic,
https://r.android.com/#/q/topic:bug_69449021

Bug: 69449021
Test: Treehugger

This reverts commit 3337fbfa6114379f13a35ad3d6bf9cb5a5b8689b

Change-Id: Ibc050ad9a87dceb336e7cd961015e70a639e43db
2017-12-05 02:10:02 +00:00
Tobias Thierer
5f36a62622 Build with OpenJDK 9 -target 1.8 by default except for errorprone.
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: "make core-oj", checked that compilation now uses
      OpenJDK 9 javac -target 1.8
Test: Checked that this is still compiled using OpenJDK 8.
      export EXPERIMENTAL_USE_OPENJDK9=false
      make core-oj

Change-Id: Iadae20d25e37d2cf0a89918a54af51fab1a4f01d
2017-12-05 02:10:02 +00:00
Søren Gjesse
f6224459ed Merge "Prepare for switching from Proguard to R8" am: 6af8e92040 am: efbd35a247
am: c35d6f16c4

Change-Id: I4786546f0dd44f7206488b0b1ddaa13400025392
2017-12-01 06:54:30 +00:00
Søren Gjesse
efbd35a247 Merge "Prepare for switching from Proguard to R8"
am: 6af8e92040

Change-Id: I26b648931723476a5cd0c9208c07352466abcc2c
2017-12-01 06:48:18 +00:00
Søren Gjesse
6af8e92040 Merge "Prepare for switching from Proguard to R8" 2017-12-01 06:41:51 +00:00
Sundong Ahn
f3e8302088 Add LOCAL_SDK_VERSION := system_$(VER)
am: 5a44d1f069

Change-Id: Ief08f78484b654502d356c07d61063a16aad0572
2017-12-01 04:26:10 +00:00
Sundong Ahn
5a44d1f069 Add LOCAL_SDK_VERSION := system_$(VER)
The system_$(VER) can be set in LOCAL_SDK_VERSION, and the apk will use
android_system.jar at build time.
If LOCAL_SDK_VERSION is not defined and this module is installed in
vendor.img, LOCAL_SDK_VERSION is set to system_current.

Bug: 67724799
Test: 1. build && run on taimen
2. LOCAL_SDK_VERSION:=system_27 in ims.apk && build ims.apk && check
the vsdk_v27_intermediates.

Merged-In: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
Change-Id: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
(cherry picked from commit ef212cbe8d)
2017-12-01 00:39:07 +00:00
Søren Gjesse
896c30a65f Prepare for switching from Proguard to R8
Test: m -j PRODUCT-asop_x86-userdebug
Test: Check that no *.vdex files in the image are generated by R8

Change-Id: Ifd85d485fa5b6148723378a15c5faef849381ce1
2017-11-30 08:34:00 +01:00
TreeHugger Robot
0c49bcf16a Merge "Add LOCAL_SDK_VERSION := system_$(VER)" 2017-11-30 06:52:40 +00:00
Dan Willemsen
e3d0b83f76 Merge "Switch unused deprecated variables to obsolete" am: f170166521 am: f20b59e4d7
am: 142a601bd3

Change-Id: I8a6292d13c4a9b8b654830bf3ffff9cf140ea1dc
2017-11-30 02:16:53 +00:00
Dan Willemsen
f20b59e4d7 Merge "Switch unused deprecated variables to obsolete"
am: f170166521

Change-Id: Ibe1d991ea61eb953fa161d0e2a04faac1c6309f4
2017-11-30 02:10:49 +00:00
Sundong Ahn
ef212cbe8d Add LOCAL_SDK_VERSION := system_$(VER)
The system_$(VER) can be set in LOCAL_SDK_VERSION, and the apk will use
android_system.jar at build time.
If LOCAL_SDK_VERSION is not defined and this module is installed in
vendor.img, LOCAL_SDK_VERSION is set to system_current.

Bug: 67724799
Test: 1. build && run on taimen
2. LOCAL_SDK_VERSION:=system_27 in ims.apk && build ims.apk && check
the vsdk_v27_intermediates.

Change-Id: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
2017-11-30 10:04:09 +09:00
Dan Willemsen
79fd696939 Switch unused deprecated variables to obsolete
These have no references in our master trees, so can now be marked as
obsolete.

Test: grep -R "<VAR> has been" <all build_test logs>
Change-Id: I72d2371176e78f38ed56741dd8527193eec7eae3
2017-11-29 13:44:32 -08:00
Dan Willemsen
86229fe250 Merge "Mark envsetup.sh vars as deprecated in makefiles" am: d7fcf6f459 am: efe230cef6
am: 7aa261d33e

Change-Id: I36b948d3ad430f22d8d8c969f3806a0efec32a50
2017-11-29 03:29:20 +00:00
Dan Willemsen
efe230cef6 Merge "Mark envsetup.sh vars as deprecated in makefiles"
am: d7fcf6f459

Change-Id: I7da6187dc23bf7e74dbb7e8b686380070f565f70
2017-11-29 03:18:43 +00:00
Treehugger Robot
d7fcf6f459 Merge "Mark envsetup.sh vars as deprecated in makefiles" 2017-11-29 03:06:32 +00:00
Jayant Chowdhary
26382840ae Merge "Export DIST_DIR to soong on dist builds." am: 824958e880 am: 26f40c264d
am: 8add887830

Change-Id: Icb82ea0d52abcd02bebb6a56c22ca16286aaa0ba
2017-11-28 23:00:02 +00:00
Jayant Chowdhary
26f40c264d Merge "Export DIST_DIR to soong on dist builds."
am: 824958e880

Change-Id: Ic7c2f097e5c19cf80ce3b0b2c6ce170f908907b9
2017-11-28 22:46:56 +00:00
Jayant Chowdhary
824958e880 Merge "Export DIST_DIR to soong on dist builds." 2017-11-28 22:38:32 +00:00
Dan Willemsen
773386251d Mark envsetup.sh vars as deprecated in makefiles
For the envsetup.sh variables that should not be used in makefiles
(since they're not explicitly set up, and won't be available on the
build servers), mark them as deprecated.

Rework our documentation to have a landing page, and create a "Changes"
section where we can record changes like these. At some point I may go
and backfill some recent work.

Test: build/soong/build_test.bash
Change-Id: I54b9294ddf270245afdb58d17150db8098584e8a
2017-11-28 14:19:50 -08:00
Colin Cross
90a25c97e0 Merge "Add support for jacoco in soong" am: 9798690282 am: 863dcf07d4
am: f58de03da6

Change-Id: I75e1aaa5080a7ccb2d8c8ff5cac9c6f4a7147e2f
2017-11-28 21:32:58 +00:00
Colin Cross
863dcf07d4 Merge "Add support for jacoco in soong"
am: 9798690282

Change-Id: I47534d7346e637aff019b10bfc395254c618d29c
2017-11-28 21:18:48 +00:00
Jayant Chowdhary
85fbcf4a68 Export DIST_DIR to soong on dist builds.
Bug: 64267858

Test: Adding DistDir to build/soong/android/variable.go enables access
      to DIST_DIR_SOONG.

Change-Id: I74faea11255edf37db6a4eaf193df300c363bfb7
2017-11-28 11:26:24 -08:00
Colin Cross
3fec81d978 Add support for jacoco in soong
Use jacoco values exported from soong and copy
jacoco-report-classes.jar to where the jacoco-report-classes-all.jar
rule can find it.

Bug: 69629238
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: If05381f415fb52a575746b8be0bfcd03d55b2153
2017-11-24 20:23:36 -08:00
Chih-hung Hsieh
4d0812e0de Merge "Add default -Wall -Werror or -Wall." am: 6ddc7843cb am: 39610026fb
am: 1b942a9fc3

Change-Id: Ia09b5b339b43a9cb3fe72f9e1d25fb64d5543845
2017-11-21 21:30:53 +00:00
Chih-hung Hsieh
39610026fb Merge "Add default -Wall -Werror or -Wall."
am: 6ddc7843cb

Change-Id: Ib9b93dbd61bb9141b88fb7f1f7c4ead3fd28accc
2017-11-21 21:24:12 +00:00
Chih-hung Hsieh
6ddc7843cb Merge "Add default -Wall -Werror or -Wall." 2017-11-21 21:19:01 +00:00
Steven Moreland
b718f5939b Merge "Make more Treble make variables read only." am: cbf6fd55bf am: 9642570a1b
am: 075b7cd7cc

Change-Id: If1731180797b6ce67d618e4e91e281bd20c42560
2017-11-20 19:20:47 +00:00
Steven Moreland
9642570a1b Merge "Make more Treble make variables read only."
am: cbf6fd55bf

Change-Id: I4a42de556f54b2c8721ff7935b21bc11cc583075
2017-11-20 19:16:02 +00:00
Treehugger Robot
cbf6fd55bf Merge "Make more Treble make variables read only." 2017-11-20 19:09:21 +00:00
Dan Willemsen
b53d364413 Merge "Switch aidl and zipalign prebuilts to build-tools" am: d6f229842a am: 84d0f704eb
am: 2f67c165c3

Change-Id: I5866b54b96d6a9e1f6101740963fe19a79151478
2017-11-18 05:05:26 +00:00
Dan Willemsen
84d0f704eb Merge "Switch aidl and zipalign prebuilts to build-tools"
am: d6f229842a

Change-Id: Ifec1c2c4d2daf601a0301cfef7a7325b7c511214
2017-11-18 04:59:41 +00:00
Dan Willemsen
6353304dc9 Switch aidl and zipalign prebuilts to build-tools
So that they can be updated more regularly than prebuilts/sdk/tools.

Bug: 69431993
Test: tapas ExactCalculator; m
Change-Id: Id07ab43f9d9e0c794cc15f21b75ae88c3547d8bd
2017-11-17 18:40:45 -08:00
Chih-Hung Hsieh
1876acdd53 Add default -Wall -Werror or -Wall.
* Skip Android.bp, prebuilt, and HEADER_LIBRARIES targets.
* If neither -Wno-error nor -Werror is used, add default -Wall -Werror.
  However, if the build target is in a project
  under one of ANDROID_WARNING_ALLOWED_PROJECTS, add only -Wall.
* Dump name of modules using -Wno-error or added -Wall -Werror
  into file $(PRODUCT_OUT)/wall_werror.txt.

Bug: 66996870
Test: normal build
Change-Id: Ief8cf776e8613ed073a64dd271534688845d5c2c
2017-11-17 14:06:35 -08:00
Steven Moreland
0e6301c996 Make more Treble make variables read only.
This makes the following readonly if they are defined:
- PRODUCT_FULL_TREBLE_OVERRIDE
- Linker/sepolicy/vintf overrides for PRODUCT_FULL_TREBLE

Test: multiproduct_kati
Change-Id: Ib33e2e23b74a049e87667358bed331f86e517837
2017-11-17 12:46:54 -08:00
Tobias Thierer
ee67994a9b Merge "Tweak comments for OpenJDK 9 build toolchain logic." am: 2655e57bbb am: ea43e16f60
am: c5e4334bb3

Change-Id: I78ef2edd0579ddc3d6ee22e4df929a967e61b86d
2017-11-17 18:29:41 +00:00
Tobias Thierer
ea43e16f60 Merge "Tweak comments for OpenJDK 9 build toolchain logic."
am: 2655e57bbb

Change-Id: I13b9520e95365dc2669d7a0c4832a322b7efca84
2017-11-17 18:25:32 +00:00
Tobias Thierer
7ef760b832 Tweak comments for OpenJDK 9 build toolchain logic.
This addresses review comments on the preceding CL
http://r.android.com/539055

Test: Treehugger
Change-Id: Icb0674190db3d638546a0ed49dbcb97d0698e549
2017-11-17 15:35:59 +00:00
Tobias Thierer
2d6a42d182 Merge "Break EXPERIMENTAL_USE_OPENJDK9 into {USE,TARGET}_OPENJDK9." am: 446c9ba370 am: 4ffaa14478
am: 24df8fa38f

Change-Id: I1ec375b4775db1e4e494193685a9fe86c243d56b
2017-11-17 15:27:30 +00:00
Tobias Thierer
4ffaa14478 Merge "Break EXPERIMENTAL_USE_OPENJDK9 into {USE,TARGET}_OPENJDK9."
am: 446c9ba370

Change-Id: I0254955fa16e8b35396f9f350c961031272c6583
2017-11-17 15:19:30 +00:00
Tobias Thierer
f6bd495728 Break EXPERIMENTAL_USE_OPENJDK9 into {USE,TARGET}_OPENJDK9.
This CL topic breaks the single flag value EXPERIMENTAL_USE_OPENJDK9
into two flags USE_OPENJDK9 and TARGET_OPENJDK9 which are computed
independently in config.mk and config.go; this means that later
build logic no longer depends on / duplicates the semantics of an
unset EXPERIMENTAL_USE_OPENJDK9, because that later build logic
can use USE_OPENJDK9 and TARGET_OPENJDK9 instead. Thus, it becomes
slightly easier to change this default in future CLs (touching
only config.mk and config.go).

It also makes it more straightforward to convert .mk files
to .bp.

This CL also introduces a new allowed value "false" for
EXPERIMENTAL_USE_OPENJDK9. This fourth possible value currently
has the same semantics as a default/unset
EXPERIMENTAL_USE_OPENJDK9, but allows people to explicitly
switch back to the old semantics when the default changes.

Test: make showcommands core-oj (in environments with
      EXPERIMENTAL_USE_OPENJDK9 set to "", "1.8", and "true").
Bug: 38177295

Change-Id: Iaade9610b237722e5d175143808b8653b1e98996
2017-11-17 13:14:11 +00:00
Alan Leung
9cdfcc3495 Merge "Rename r8 to r8-compat-proguard" am: 81eeb78200 am: 4eee474504
am: fcc1a99442

Change-Id: I171dd234ded3baba5f4bb16dcb13c4a3be7462ae
2017-11-17 03:20:19 +00:00
Alan Leung
4eee474504 Merge "Rename r8 to r8-compat-proguard"
am: 81eeb78200

Change-Id: Ibe7c114115f627ae3f061f8087b93891af475e40
2017-11-17 03:15:09 +00:00
Alan Leung
7d6144d34b Rename r8 to r8-compat-proguard
Test: USE_R8=false USE_D8=true m -j32 && USE_R8=true USE_D8=true m -j32

Change-Id: I2610340cf75f8db5920e33fac542f0dcf294ce29
2017-11-16 17:24:01 -08:00
Jiyong Park
487aeddc3b Merge "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met" am: 8a89848373 am: ad9feb4cac
am: 3d4268b3af

Change-Id: I572ffe6fd429e2b005dcf2dc679123a00c386f33
2017-11-15 02:04:36 +00:00
Jiyong Park
ad9feb4cac Merge "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met"
am: 8a89848373

Change-Id: If19df9e3560456c2f69e2faa54fe3cbbb1c045cb
2017-11-15 01:27:56 +00:00
Xin Li
44dd4881de Merge commit '66b8b530187b129934a685bf0c4349eef00e4b0c' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: I7594bb72dd7e847292eb502edd918e41318aac29
Merged-In: Ide82473d358719f7e01cd2a4a85db954f3722f14
2017-11-14 11:36:22 -08:00
Jiyong Park
55e17a753e Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met
When some of the full treble requirements are turned off,
PROUCT_FULL_TREBLE became false, which in turn cleared macro variables
guarded in treble: {cflags: "..."}.

Until when Soong recognizes each of the requirements (e.g.
treble_sepolicy: { }), don't reset PRODUCT_FULL_TREBLE to false
even when some of the requirements are not met.

Bug: 62019611
Bug: 68710251
Test: get_build_var PRODUCT_FULL_TREBLE returns true for aosp_walleye
Test: aosp_walleye boots to the UI
Change-Id: Iad3ee4f4462c82e9f9e1897f3ec019cdd16da358
2017-11-14 19:14:44 +09:00
Alex Deymo
b22db671d0 Merge "Update binary name to "brotli"." am: cbb4ec6cf0 am: ea26c8104e
am: a1c5d47708

Change-Id: I57092f1bcb427db14b7b6e0a21ff16e56ef7781b
2017-11-13 23:03:30 +00:00
Alex Deymo
a1c5d47708 Merge "Update binary name to "brotli"." am: cbb4ec6cf0
am: ea26c8104e

Change-Id: I330a67434c9d69c3c9d9aadae495e92d9788928c
2017-11-13 22:58:16 +00:00
Dan Shi
26efd3a8d1 Add build script to generate TF test XML file with filters
Bug: 68270274
Test: run 'atest' in frameworks/base
Change-Id: I99b741fae18997caa6aefbd3ab804e5d30e7ae36
2017-11-13 14:48:10 -08:00
Alex Deymo
cbb4ec6cf0 Merge "Update binary name to "brotli"." 2017-11-13 22:43:22 +00:00
Steven Moreland
33fdd8c4ef Break up PRODUCT_FULL_TREBLE into variables.
PRODUCT_SEPOLICY_SPLIT
PRODUCT_TREBLE_LINKER_NAMESPACES
PRODUCT_ENFORCE_VINTF_MANIFEST

Being able to selectively toggle these does several things:
- it's better software engineering (no longer conflating vars)
- easier bringup for devices.
- devices which don't require full Treble can opt out of only
  parts of it and still get the benefits of others.

Bug: 62019611
Test: manual

Merged-In: I728e32869baf043ae9a54e83e513fb99e560c827
Change-Id: I728e32869baf043ae9a54e83e513fb99e560c827
2017-11-13 10:32:52 -08:00
Alex Deymo
b10e07aea7 Update binary name to "brotli".
With the update of brotli to version 1.0.1 the new binary tool is now
called "brotli". This patch updates the scripts to use the new name.

Bug: 34220646
Test: `make dist`; ota_from_target_files on non-A/B device.
Change-Id: Ie8da4333388d029d5960a723a55efd875d8ee820
2017-11-13 18:11:45 +01:00
Steven Moreland
c7728a76a9 Merge "Break up PRODUCT_FULL_TREBLE into variables." into oc-mr1-dev-plus-aosp
am: f6ad289907

Change-Id: I1bb89d724b4d54433837c55174675b17ff46ed89
2017-11-10 23:50:42 +00:00
Steven Moreland
043b07c46d Break up PRODUCT_FULL_TREBLE into variables.
PRODUCT_SEPOLICY_SPLIT
PRODUCT_TREBLE_LINKER_NAMESPACES
PRODUCT_ENFORCE_VINTF_MANIFEST

Being able to selectively toggle these does several things:
- it's better software engineering (no longer conflating vars)
- easier bringup for devices.
- devices which don't require full Treble can opt out of only
  parts of it and still get the benefits of others.

Bug: 62019611
Test: manual

Change-Id: I728e32869baf043ae9a54e83e513fb99e560c827
2017-11-10 13:34:53 -08:00
Dan Willemsen
185ba54569 Merge changes from topic "soong_ui_java" am: a3d94873cf am: f68edeafdc
am: 496718281e

Change-Id: I43cb8a09eb2789adf47d6b2759dbdc08aeba09a0
2017-11-08 20:47:12 +00:00
Dan Willemsen
496718281e Merge changes from topic "soong_ui_java" am: a3d94873cf
am: f68edeafdc

Change-Id: I8bb6dab2e35006071dc4c2710f55fd3e54ffdab7
2017-11-08 20:43:38 +00:00
Dan Willemsen
a3d94873cf Merge changes from topic "soong_ui_java"
* changes:
  Remove Java PATH check, deprecate using PATH in Kati
  Remove JAVA_NOT_REQUIRED
2017-11-08 20:31:31 +00:00
Dan Willemsen
2ec3e4a257 Remove Java PATH check, deprecate using PATH in Kati
The Java PATH fixup is now handled within soong_ui, along with the
values of ANDROID_JAVA_HOME based on OVERRIDE_ANDROID_JAVA_HOME /
EXPERIMENTAL_USE_OPENJDK9.

Mark PATH as deprecated, so that any reads/writes will cause warnings.
This will be switched to obsolete once it's verified that there are no
more users.

Using PATH within Kati means that we've got to rebuild the ninja files
whenever your PATH changes, which is not ideal, especially since some of
the envsetup functions can change your PATH. In most cases you only need
to use PATH within the bash portions of the build rules ($${PATH}), which
isn't treated as a make variable, so won't produce an error.

I'm also planning on replacing PATH in a future change with our own
directory that has placeholders for everything in your PATH. This will
let us remove tools that shouldn't be used from the build.

Test: m nothing
Test: build/soong/build_test.bash on AOSP and internal master
Change-Id: I18d8d19cfba313ff9176345bf73ac34e8dbebfbb
2017-11-08 00:24:35 -08:00
Søren Gjesse
77ea69e77c Merge "Use prebuild R8 for USE_R8=true" am: 8639879e60 am: 58c6122f44
am: 3ae1b684b3

Change-Id: If9edf679c480a35ddabcb3500e49af68fe711e5c
2017-11-08 07:59:00 +00:00
Søren Gjesse
3ae1b684b3 Merge "Use prebuild R8 for USE_R8=true" am: 8639879e60
am: 58c6122f44

Change-Id: Ic0d489cf48c5fc0881df824c4a70c753b1bf0a5c
2017-11-08 07:56:56 +00:00
Dan Willemsen
90879f50ea Remove JAVA_NOT_REQUIRED
This is no longer required.

Test: cs/JAVA_NOT_REQUIRED
Change-Id: I9f64e153c9f4af7df1c8dee4eaea3c7458be61c0
2017-11-07 17:43:36 -08:00
Søren Gjesse
c66d297e0a Use prebuild R8 for USE_R8=true
Instead of building R8 from external/r8 use the prebuild jar in
prebuilds/r8.

Test: m -j USE_R8=true

Change-Id: I9680ae430cdbc2b3beb910873c8eed27354f6af1
2017-11-07 16:21:50 +01:00
Colin Cross
2a843f1b15 Merge "Move BUILD_*_FROM_FILE to config.mk" am: ab5ce7e1fe am: 9159f4b08c
am: 31638ff73b

Change-Id: I1b6e73e4b8c06d71eb8d4a4c4ea50744be94bff0
2017-11-04 01:35:51 +00:00
Colin Cross
31638ff73b Merge "Move BUILD_*_FROM_FILE to config.mk" am: ab5ce7e1fe
am: 9159f4b08c

Change-Id: Ib946129ef14cf91aa57a1fb880dae3f29adace63
2017-11-04 01:32:19 +00:00
Treehugger Robot
ab5ce7e1fe Merge "Move BUILD_*_FROM_FILE to config.mk" 2017-11-04 01:22:26 +00:00
Dan Willemsen
6a9785aea4 Merge "Switch deprecation message to $(warning)" am: 884af82b27 am: 2adb61215b
am: 7e064adde4

Change-Id: I3b3652eb5de3db3910d0621a6eae68362ad39b07
2017-11-04 01:05:21 +00:00
Dan Willemsen
7e064adde4 Merge "Switch deprecation message to $(warning)" am: 884af82b27
am: 2adb61215b

Change-Id: I35f623e2502a42db24c47c6fd129277fad8f086f
2017-11-04 01:01:14 +00:00
Colin Cross
e96bfdb337 Move BUILD_*_FROM_FILE to config.mk
BUILD_NUMBER_FROM_FILE and BUILD_DATETIME_FROM_FILE may need to
be referenced before main.mk has been parsed, move them to config.mk.

Bug: 68865363
Test: m -j TARGET_PRODUCT=full TARGET_BUILD_APPS=Gallery
      aapt dump xmltree out/target/product/generic/obj/APPS/Gallery_intermediates/package.apk AndroidManifest.xml | grep Version
Change-Id: I9361a394469e61fcdf5a2b9509ef2bb2b373d6e7
2017-11-03 16:35:02 -07:00
Dan Willemsen
52f74821d3 Switch deprecation message to $(warning)
This way it shows up when using the old copy of lunch, which hides
stdout.

Test: source old_envsetup; lunch aosp_marlin-eng
Change-Id: I4bccf37fe69c0d7affb5805d05a2750e5d9a3da4
2017-11-03 15:52:50 -07:00
Alan Leung
7b1301a593 Merge "Workaround for USE_D8 not in --dumpvars-mode" am: 44bfeedaa3 am: ad24414dae
am: b26af8afbe

Change-Id: I14744ab02e91aecaff666c3350cc5082db21404c
2017-11-03 03:40:42 +00:00
Alan Leung
b26af8afbe Merge "Workaround for USE_D8 not in --dumpvars-mode" am: 44bfeedaa3
am: ad24414dae

Change-Id: Ifa370b15120411f813e15a4210f70ec3fc0b69d6
2017-11-03 03:38:34 +00:00
Alan Leung
65168a4143 Workaround for USE_D8 not in --dumpvars-mode
Bug: 68406220
Test: m checkbuild && USE_D8=false m checkbuild
Change-Id: Ia9916fb69b22449ff9eadd334f135807d999276f
2017-11-02 15:31:03 -07:00
Jin Qian
c0f4142706 Merge "Always use MKE2FS to build ext4 image" am: dee5abd85a am: d4fcfea77c
am: 511fb3a77d

Change-Id: Ide2c2170b7b51cbd04449b6e0cb9924e7335238d
2017-11-02 21:50:11 +00:00
Jin Qian
511fb3a77d Merge "Always use MKE2FS to build ext4 image" am: dee5abd85a
am: d4fcfea77c

Change-Id: I237659e202dcedc2fefffec0ea95891fd6c5bbfa
2017-11-02 21:46:09 +00:00
Treehugger Robot
dee5abd85a Merge "Always use MKE2FS to build ext4 image" 2017-11-02 21:34:49 +00:00
Jin Qian
f0ebe872a2 Always use MKE2FS to build ext4 image
Bug: 64395169
Change-Id: I0118fe8ee5f677fdb9da616a11de304b2aefd0ba
2017-11-01 16:37:38 -07:00
Colin Cross
5783767d7f Merge "Export AAPT-related variables to soong" am: 9767853ed0 am: 389e8fe140
am: 7d25afa395

Change-Id: I1a2b728890ed69a55333e0ba146f25f719294184
2017-11-01 00:59:11 +00:00
Colin Cross
7d25afa395 Merge "Export AAPT-related variables to soong" am: 9767853ed0
am: 389e8fe140

Change-Id: I002187a6a2d3f1c8f618b6553619a7cd59085b76
2017-11-01 00:11:45 +00:00
Treehugger Robot
9767853ed0 Merge "Export AAPT-related variables to soong" 2017-10-31 23:39:24 +00:00
Dan Willemsen
98722a30f0 Merge "Remove make version check" am: 41f54061b2 am: dc4ed6e4b5
am: d0ed98de63

Change-Id: Icd632bd1aa93ef959d4f7d97ee11ecaaad556c3f
2017-10-31 20:45:21 +00:00
Dan Willemsen
d0ed98de63 Merge "Remove make version check" am: 41f54061b2
am: dc4ed6e4b5

Change-Id: Idb26a320888a3e9ac482f3127942010fdfbcaad9
2017-10-31 20:41:18 +00:00
Colin Cross
c7bd540a6e Export AAPT-related variables to soong
Test: m checkbuild
Change-Id: I1816df9b9cc7b51e228d6d847cefa2d51a524897
2017-10-30 17:31:44 -07:00
Dan Willemsen
ce9a40650d Remove make version check
We should never be using make here anymore, only Kati.

Test: none
Change-Id: I6e716d76e3656c2bad1cf17c6de92bdeda763d5b
2017-10-30 13:52:47 -07:00
Dan Willemsen
9cddfc9891 Merge "Prevent using config.mk from make, clean up unused code" am: 41cc5022c1 am: 69cecba031
am: 2295cd6998

Change-Id: Ib611d45b7d4aa6589ca9cec72b95571f1b56c545
2017-10-30 20:39:52 +00:00
Dan Willemsen
2295cd6998 Merge "Prevent using config.mk from make, clean up unused code" am: 41cc5022c1
am: 69cecba031

Change-Id: I8fa09ad9a30ef90bda83380b96b693155c92ebf3
2017-10-30 20:33:48 +00:00
Dan Willemsen
41cc5022c1 Merge "Prevent using config.mk from make, clean up unused code" 2017-10-30 20:11:32 +00:00
Søren Gjesse
c607dce8f9 Merge "Added support for using R8 instead of Proguard + dx" am: 9047dce212 am: 6836c47b8b
am: 8347c5baef

Change-Id: I019246d7ac1e7ed03b7a87934beb72906bf1c6aa
2017-10-24 06:54:42 +00:00
Søren Gjesse
8347c5baef Merge "Added support for using R8 instead of Proguard + dx" am: 9047dce212
am: 6836c47b8b

Change-Id: I83dae746e1ee7d04fd10244203c42930643d185b
2017-10-24 06:50:11 +00:00
Søren Gjesse
6836c47b8b Merge "Added support for using R8 instead of Proguard + dx"
am: 9047dce212

Change-Id: Ibf7489aa1af1b2ae5fc5540b3eceec0c4a67a32b
2017-10-24 06:45:36 +00:00
Søren Gjesse
0c1fe64ce8 Added support for using R8 instead of Proguard + dx
With this change building with USE_R8=true will run R8 instead of Proguard + dx
for all targets that have LOCAL_PROGUARD_ENABLED set. R8 (through the
compatproguard wrapper) will use the same options as Proguard for now.

Additional Proguard configurations for R8 can be added using LOCAL_R8_FLAG_FILES
on individual targets. This makes it possible to make configuration updates
without touching the Proguard + dx configuration

Test: m -j
Test: m -j USE_D8=true USE_R8=true
Test: m -j USE_D8=true USE_R8=false
Test: m -j USE_D8=true
Change-Id: I78e8a0fd17cc5cefedccffe95b93c94a60a727f1
2017-10-23 08:58:30 +02:00
Nan Zhang
51e6f8e54c Merge "Remove Turbine definition from config.mk" am: a6d7420c58 am: 117151358c am: 678aa00ba7
am: fe69574f87

Change-Id: I57cb9f721341e45460fdfa99e8711612e39e66d1
2017-10-21 01:45:28 +00:00
Nan Zhang
fe69574f87 Merge "Remove Turbine definition from config.mk" am: a6d7420c58 am: 117151358c
am: 678aa00ba7

Change-Id: I6a9d940361d1463a1ce4cc22605db31433237af2
2017-10-21 01:38:08 +00:00
Nan Zhang
117151358c Merge "Remove Turbine definition from config.mk"
am: a6d7420c58

Change-Id: If37be35711fbb8e2c728915c23c54d86f41fa83a
2017-10-21 01:28:46 +00:00
Treehugger Robot
a6d7420c58 Merge "Remove Turbine definition from config.mk" 2017-10-21 01:20:45 +00:00
Alan Leung
faa47c5b74 Merge "Remove D8 make variables." am: 3c8949e342 am: 70e5a23d9e am: 8aa4a5d0b9
am: dd1f694049

Change-Id: Ic8dbe6c965189358987fdb34f490ad4aa538fea7
2017-10-20 19:17:04 +00:00
Alan Leung
dd1f694049 Merge "Remove D8 make variables." am: 3c8949e342 am: 70e5a23d9e
am: 8aa4a5d0b9

Change-Id: I87a542ca0673a769bf0800ea268d4ba01172fcfe
2017-10-20 19:13:03 +00:00
Alan Leung
70e5a23d9e Merge "Remove D8 make variables."
am: 3c8949e342

Change-Id: I9ad7a96b4b317c85a68f62f9812337bb109ddbfa
2017-10-20 19:05:04 +00:00
Nan Zhang
9438dbea25 Remove Turbine definition from config.mk
Test: m clean && m -j

Change-Id: I5444301864c2e4f08eb525c286994898f5ec2494
2017-10-19 23:05:45 -07:00
Alan Leung
3c736b9315 Remove D8 make variables.
Bug: 67754178
Test: m -j32 checkbuild && USE_D8=true m -j32 checkbuild

Change-Id: I474e57365a8b2c5ff82b5774cb38e6846454f854
2017-10-19 16:24:05 -07:00
Dan Willemsen
8cf5aa5e92 Prevent using config.mk from make, clean up unused code
Print a large warning and stop unless we're using ckati. Then remove a
bunch of code that soong_ui doesn't use.

Test: command make -f build/core/config.mk
Test: . build/envsetup.sh; lunch aosp_arm-eng; m nothing
Test: cs/CALLED_FROM_SETUP
Change-Id: Ib823d5ef8955fb68dbc9a035cfa8d5ac4903534a
2017-10-19 20:26:23 +00:00
Colin Cross
e198348519 Merge "Use system modules generated by soong when using javac -target 1.9" am: 58cd98dc47 am: 7c381d8015 am: 3541a96d76
am: c5122aee9d

Change-Id: I15b42e66eae42f492032607820931e9de5486f13
2017-10-17 19:15:05 +00:00
Colin Cross
c5122aee9d Merge "Use system modules generated by soong when using javac -target 1.9" am: 58cd98dc47 am: 7c381d8015
am: 3541a96d76

Change-Id: I70c1cabb3fe7f3c34c54d9b360259229d7bb6243
2017-10-17 18:57:03 +00:00
Colin Cross
7c381d8015 Merge "Use system modules generated by soong when using javac -target 1.9"
am: 58cd98dc47

Change-Id: I1525b7088afee77baee014fd346cf19cf6a9641e
2017-10-17 18:43:21 +00:00
Colin Cross
f960257c14 Use system modules generated by soong when using javac -target 1.9
Soong has support for building system modules.  Use the directories
produced by Soong with --system to replace -bootclasspath arguments
when using javac -target 1.9.

Since soong can't generate current SDK stubs yet, and no existing
SDK stubs need -target, only use -target 1.9 for modules that are
not compiling against the SDK.  That means in practice the only
system modules that will be used for now is the default one,
core-system-modules.

Bug: 63986449
Test: m -j EXPERIMENTAL_USE_OPENJDK9=true makes some progress
Change-Id: I350ef50aedf36fdd72458c23d4fe8a2edf1a9a02
2017-10-16 17:55:24 -07:00
Dan Willemsen
56a764b7d4 Merge "Use CALLED_FROM_SETUP instead of KATI" am: bd4239a1e1 am: 8e7153bf98 am: 9e000cd290
am: a4e6ce4fdc

Change-Id: Ia4d5dafc08f16f2e2fe18057b72a44a3a3fbf7ec
2017-10-15 01:37:06 +00:00
Dan Willemsen
a4e6ce4fdc Merge "Use CALLED_FROM_SETUP instead of KATI" am: bd4239a1e1 am: 8e7153bf98
am: 9e000cd290

Change-Id: Ie96924dcc57f253f8a1904a3d97263361ec83a4d
2017-10-13 09:55:07 +00:00
Dan Willemsen
8e7153bf98 Merge "Use CALLED_FROM_SETUP instead of KATI"
am: bd4239a1e1

Change-Id: I2495d57b7038bca63aa148b3a3f02c3ae9d88a87
2017-10-13 07:32:03 +00:00
Dan Willemsen
20f99a60ea Use CALLED_FROM_SETUP instead of KATI
So that we can use kati instead of make for the initial config loading.

Test: m clean; m nothing
Test: USE_GOMA=true m nothing
Test: m PRODUCT-aosp_x86-sdk
Test: m APP-Calculator
Test: multiproduct_kati -only-config  (on AOSP and internal master)
Change-Id: I5d3af847607fa48868c2045401977eca37dc6ae1
2017-10-12 15:35:42 -07:00
Alan Leung
3cdd9cc62e Merge "Revert "Enable D8 by default."" am: bc29d906bc am: 81e4d14cc7 am: 693c19ad7a
am: 2f9c555fd7

Change-Id: I736295b83fd7543e9ba19ed68e13bc855905d17b
2017-10-09 22:17:31 +00:00
Alan Leung
2f9c555fd7 Merge "Revert "Enable D8 by default."" am: bc29d906bc am: 81e4d14cc7
am: 693c19ad7a

Change-Id: I843d91ceb573e64f8af060a921c6c9fcc35cdeb3
2017-10-09 21:45:40 +00:00
Alan Leung
81e4d14cc7 Merge "Revert "Enable D8 by default.""
am: bc29d906bc

Change-Id: Ic839c5b69dca0866049ae4b4f48f41a64fa06697
2017-10-09 21:35:16 +00:00
Alan Leung
ba985e6efe Revert "Enable D8 by default."
Breaks EmulatorSmokeTests

Bug: 67569208

This reverts commit 4c1a09823c.

Change-Id: I85b28b9b59226f4ce6fda0ea2445933eade07d89
2017-10-09 21:24:52 +00:00
Alan Leung
1a7b3f5531 Merge "Enable D8 by default." am: a867dfa71c am: d46624b4d8 am: 209e7bf321
am: 9bf2c705d3

Change-Id: I1a49ba46919f9827c73e601d2bbab05dd6b707c0
2017-10-09 21:06:03 +00:00
Alan Leung
9bf2c705d3 Merge "Enable D8 by default." am: a867dfa71c am: d46624b4d8
am: 209e7bf321

Change-Id: Ie15ea435e30075aa572c508431ec214b6ec3f0e0
2017-10-09 20:50:42 +00:00
Alan Leung
d46624b4d8 Merge "Enable D8 by default."
am: a867dfa71c

Change-Id: I0e68a345fb18cb52033480678eca6979bcb94f5e
2017-10-09 20:18:15 +00:00
Alan Leung
4c1a09823c Enable D8 by default.
Bug: 67569208
Test: m -j32

Change-Id: Ie80ce7ca0e6955ef6c1fbae1fa5b169374068cf4
2017-10-09 07:41:35 +00:00
Alan Leung
a1c4fe7320 Merge "Add USE_D8_BY_DEFAULT in makefile." am: 03e8fb10d1 am: 5f1417897c am: e6bf28ffe7
am: a42c3b554f

Change-Id: I4642642c4fcbd8a2cc80a2ce4b883dd8051fcf54
2017-10-05 09:35:45 +00:00
Alan Leung
a42c3b554f Merge "Add USE_D8_BY_DEFAULT in makefile." am: 03e8fb10d1 am: 5f1417897c
am: e6bf28ffe7

Change-Id: I26965f59880539274abbefa22a9a583b393e4064
2017-10-05 09:29:59 +00:00
Alan Leung
5f1417897c Merge "Add USE_D8_BY_DEFAULT in makefile."
am: 03e8fb10d1

Change-Id: I68ba9afe7406fe84ddb9b5d18e583b89d0b8ccd8
2017-10-05 09:20:21 +00:00
Alan Leung
013a37b760 Add USE_D8_BY_DEFAULT in makefile.
Bug: 65854021
Test: m USE_D8=true  showcommands out/target/common/obj/JAVA_LIBRARIES/okhttp_intermediates/with-local/classes.dex
Change-Id: Iec1a05bf6f03cf856faf2e013fa169e1a0beaf7a
2017-10-03 17:15:01 -07:00
Colin Cross
69ced5de5e Delete jack support am: a6bc3a8a4c
am: 37bf2b1250

Change-Id: I19133aedbfe91f7cd49588b33f517dc4bb17b91c
2017-10-02 20:00:16 +00:00
Colin Cross
e673deb280 Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
Merged-In: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
(cherry picked from commit 5db5d31d73)
2017-10-02 11:15:19 -07:00
Colin Cross
a6bc3a8a4c Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
Merged-In: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
(cherry picked from commit 5db5d31d73)
2017-10-02 18:06:56 +00:00
Colin Cross
5db5d31d73 Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
2017-10-01 17:59:06 -07:00
Dan Willemsen
520a64c8ba Enforce TARGET_USES_MKE2FS := true for new devices am: e49ee7095f
am: 69bcd308ff

Change-Id: I1c6b0275d40d779a318c0879e6966eeead48cc6c
2017-09-30 02:18:21 +00:00
Dan Willemsen
69bcd308ff Enforce TARGET_USES_MKE2FS := true for new devices
am: e49ee7095f

Change-Id: I0a79501423f055a87d18fcc73e03492be944a155
2017-09-30 02:14:49 +00:00
Dan Willemsen
e49ee7095f Enforce TARGET_USES_MKE2FS := true for new devices
Bug: 62434479
Test: verify failure on 27 device w/o TARGET_USES_MKE2FS
Test: verify success on 27 device w/ TARGET_USES_MKE2FS
Test: `build/test/build_test.sh -only-config` on oc-mr1-dev and master
Change-Id: Ib7e8dad404a1eaf70f47ee1d46528be4aabd6e80
2017-09-29 22:56:30 +00:00
Colin Cross
7ad9ef2da2 Merge changes I0a1aa003,I000c3c22 am: a4a1f2089b am: e69ccc7fb6 am: 1db082a142
am: 69f05bb9d7

Change-Id: I97660898a6a00a381a91cb3da8e00bb6ebab52a6
2017-09-26 19:05:13 +00:00
Colin Cross
69f05bb9d7 Merge changes I0a1aa003,I000c3c22 am: a4a1f2089b am: e69ccc7fb6
am: 1db082a142

Change-Id: Icbf9dfba83879afd62bf62f1b1343acf3f045c5c
2017-09-26 18:57:14 +00:00