Commit Graph

13911 Commits

Author SHA1 Message Date
TreeHugger Robot
92237bf1a3 Merge "Support sharding robolectric tests" into qt-dev-plus-aosp 2019-06-14 18:29:13 +00:00
Paul Duffin
f45775edbe Merge "Add sdk_version:"none" to replace no_standard_libs:true" am: b11c72b0b8
am: e34bbae1ca

Change-Id: I9465a810dad7f3ea95b6c883844358d817f8cc8e
2019-06-14 01:32:45 -07:00
Paul Duffin
30b1c3046b Merge "Make sdkDep/decodeSdkDep the source of truth about the sdk" am: 60b393ce85
am: a6b64de8fd

Change-Id: I0f2404f4e9247849ef42a377d2403dea912b8e60
2019-06-14 01:31:41 -07:00
Patrice Arruda
1d73031696 Merge "soong_ui: Add build actions commands in soong_ui." am: 49cd4954a0
am: 04ef959d8b

Change-Id: I8dadc96ff9a9ee7f72b8a5d15ae780d332bbb390
2019-06-14 01:31:22 -07:00
Colin Cross
300407d7f2 Merge "Revert "Use SIGWINCH to update terminal size"" am: e77a57336f
am: 7f1eab4dd7

Change-Id: I27d64b71e6b1e888076c5bba7fe84dcd708741a4
2019-06-14 01:31:02 -07:00
Jaewoong Jung
1498eef645 Merge "Fix typos in a comment." am: 606f946339
am: 54f06fec4f

Change-Id: Ida3891bd6c2cfd2bbc713e183771c9226f4b816b
2019-06-14 01:30:41 -07:00
Colin Cross
ceec6a2295 Merge changes I555ad21a,I9d46761e,I917bdeee,I5bc5476a,I59bbdae4, ... am: 6ebe07def7
am: 1337decdff

Change-Id: I2f27851391ad68137cc66133de575d75a3c83a74
2019-06-14 01:30:19 -07:00
Dan Willemsen
ebb0478869 Merge changes If25be604,I0a310229,I44155630 am: 42d33779cd
am: f32716e448

Change-Id: I08a9a38e59896cbec930d6087f96eaa9b327d4cc
2019-06-14 01:29:49 -07:00
Paul Duffin
20cd7ec026 Add hiddenapi_flags module type am: 1b033f5c4c
am: 8d5bfad7ec

Change-Id: I5038dbffacc4cd1e52b5e5eba7c698b4c4a4d190
2019-06-14 01:24:48 -07:00
Paul Duffin
e34bbae1ca Merge "Add sdk_version:"none" to replace no_standard_libs:true"
am: b11c72b0b8

Change-Id: I4cd6810fa349fa12996f7a9d57644c7ecde0015f
2019-06-13 23:43:15 -07:00
Paul Duffin
a6b64de8fd Merge "Make sdkDep/decodeSdkDep the source of truth about the sdk"
am: 60b393ce85

Change-Id: I6d98bc6ddd00b8e51a9b2646c1dcb673603775c4
2019-06-13 23:42:00 -07:00
Paul Duffin
b11c72b0b8 Merge "Add sdk_version:"none" to replace no_standard_libs:true" 2019-06-14 06:29:48 +00:00
Paul Duffin
60b393ce85 Merge "Make sdkDep/decodeSdkDep the source of truth about the sdk" 2019-06-14 06:26:02 +00:00
Patrice Arruda
04ef959d8b Merge "soong_ui: Add build actions commands in soong_ui."
am: 49cd4954a0

Change-Id: Id63569c42bcddf62fdf9d0b5d9fac70aa2263a46
2019-06-13 16:38:46 -07:00
Treehugger Robot
49cd4954a0 Merge "soong_ui: Add build actions commands in soong_ui." 2019-06-13 23:14:56 +00:00
Colin Cross
d2d1177168 Support sharding robolectric tests
Explicitly pass the list of tests as LOCAL_ROBOTEST_FILES, and
support sharding the list of tests into multiple test runners.

Also filter out BaseRobolectricTest.java, which covers the only
use of LOCAL_ROBOTEST_FILES in Android.mk files.

Bug: 133878985
Test: m RunSettingsLibRoboTests runs the same number of tests before and after
Test: m RunSettingsLibRoboTests runs the same number of tests when sharded
Change-Id: Id85ffe03c98e722303eaa6def17812ed2244c6a6
2019-06-13 15:19:03 -07:00
Patrice Arruda
1384822a63 soong_ui: Add build actions commands in soong_ui.
Add the following build actions {BUILD_MODULES_IN_A_DIRECTORY,
BUILD_MODULES_IN_DIRECTORIES} in soong_ui config so the bash code version of
build commands (m, mm, mma, mmm, mmma) in build/make/envsetup.sh can be deprecated.
This is to allow up to date bug fixes on the build commands.

Bug: b/130049705
Test: Unit test cases
Change-Id: I772db1d4e9c1da5273374d1994eb5e8f17cd52f2
2019-06-13 13:15:12 -07:00
Colin Cross
7f1eab4dd7 Merge "Revert "Use SIGWINCH to update terminal size""
am: e77a57336f

Change-Id: Icedf859f0e66ba2483d6c915cf9640bb88db9f4f
2019-06-13 11:33:24 -07:00
Paul Duffin
52d398a841 Add sdk_version:"none" to replace no_standard_libs:true
Where possible this duplicates any tests that use no_standard_libs:true
with ones that use sdk_version:"none". If not possible (e.g. in the
default targets included in java/testing.go) it switches some to use
sdk_version:"none" to ensure that there is no regression in the
behavior of no_standard_libs:true.

Follow up changes will switch all usages of no_standard_libs:true over
to use sdk_version:"none" at which point no_standard_libs will be
removed.

Bug: 134566750
Test: m droid
Change-Id: I5f0fd3daa980f6b223abe454cba7f25a97a39d7a
2019-06-13 19:15:10 +01:00
Colin Cross
e77a57336f Merge "Revert "Use SIGWINCH to update terminal size"" 2019-06-13 18:11:40 +00:00
Colin Cross
4bc5e802db Revert "Use SIGWINCH to update terminal size"
This reverts commit 49036be407.

Reason for revert: TestSmartStatusOutputWidthChange is flaky

Change-Id: Ie5231dbbab2887ce4c4697f3fe6e52cfd6f4dd17
2019-06-13 18:10:45 +00:00
Jaewoong Jung
54f06fec4f Merge "Fix typos in a comment."
am: 606f946339

Change-Id: I1b3b068955d8006d6ef40fdc1241051e39bbc8bb
2019-06-13 11:02:15 -07:00
Colin Cross
1337decdff Merge changes I555ad21a,I9d46761e,I917bdeee,I5bc5476a,I59bbdae4, ...
am: 6ebe07def7

Change-Id: I266e90807eada08ec39531d9cf2b85361ae389f1
2019-06-13 11:01:53 -07:00
Dan Willemsen
f32716e448 Merge changes If25be604,I0a310229,I44155630
am: 42d33779cd

Change-Id: I4715874767ad9e705ed15ba821055751e7452149
2019-06-13 11:01:26 -07:00
Treehugger Robot
606f946339 Merge "Fix typos in a comment." 2019-06-13 17:48:10 +00:00
Colin Cross
6ebe07def7 Merge changes I555ad21a,I9d46761e,I917bdeee,I5bc5476a,I59bbdae4, ...
* changes:
  Use SIGWINCH to update terminal size
  Make status line bold
  Move all output through StatusOutput
  Remove terminal.Writer
  Move smart and dumb terminals into separate implementations
  Add tests for status output
2019-06-13 17:46:20 +00:00
Treehugger Robot
42d33779cd Merge changes If25be604,I0a310229,I44155630
* changes:
  Add another jar used by kotlinc
  Actually depend on the headers from renderscript
  Fix a few missing dependencies in APEX building
2019-06-13 17:40:01 +00:00
Paul Duffin
250e6198d4 Make sdkDep/decodeSdkDep the source of truth about the sdk
Previously, different parts of the build used different sources of
information about the SDK (i.e. the default libraries) against which
a Java module aimed at the device was built. Some used the sdk_version
property, others used the no_standard_libs or no_framework_libs, some
used a combination of all three.

That lead to inconsistent handling in the code, e.g. some parts treated
no_standard_libs: true as implying no_framework_libs: true and others
did not, and also in the build files, e.g. some modules specified
no_framework_libs: true and sdk_version: "system_current" which makes
no sense, or no_standard_libs: true and sdk_version: "core_current"
which are inconsistent.

This is the first step in a refactoring to simplify the sdk selection
process by replacing the no_standard_libs/no_framework_libs properties
with some extra options for the sdk_version property. This change
consists of:
1) Extra functions sdkContext to access the no_standard_libs and
   no_framework_libs properties.
2) Extra field/functions in sdkDep to store and access the value of
   no_standard_libs/no_framework_libs.
3) Changes to decodeSdkDep(...) to pass the values of the no_...
   properties through to the returned sdkDep.
4) Change all code that accesses the no_... properties directly to
   call decodeSdkDep(...) to get an sdkDep object and then accessing
   the values of the no_... properties from there.

The accessor functions on sdkDep are called has...() rather than
no...() as most callers of the methods invert the value anyway and
!no...() is harder to reason about than has...().

The hasFrameworkLibs() function returns true if and only if
no_standard_libs and no_framework_libs are false. That is consistent
with all but one usage of the no_framework_libs property and that is
not affected by it.

Bug: 134566750
Test: m droid
Change-Id: I196e3304e8bd802fb154e897397b0dd337f868e2
Exempt-From-Owner-Approval: Colin has already given +2 modulo some
    minor nits and this blocking other changes.
2019-06-13 15:16:32 +01:00
Paul Duffin
8d5bfad7ec Add hiddenapi_flags module type
am: 1b033f5c4c

Change-Id: I0fa44b0bdcd7da6bf1d0d9536b5ee427a6204b53
2019-06-13 07:10:56 -07:00
Paul Duffin
1b033f5c4c Add hiddenapi_flags module type
The build generates a file out/soong/hiddenapi/hiddenapi-flags.csv
which is used by the hiddenapi-blacklist tests in cts/tests/signature.
The generation is done at the ninja level and so is not accessible from
the soong layer that runs on top. This change adds the hiddenapi-flags
module type which makes the file accessible from other soong modules.

Bug: 122332514
Test: atest -p cts/tests/signature
Change-Id: If38c8a8ffca110f2ae01f97f19a2740ca3fde1b7
Exempt-From-Owner-Approval: Colin has already reviewed and only had minor
    nits and this is blocking other changes.
2019-06-13 10:25:47 +01:00
Paul Duffin
065000e3f5 Merge "Never allow java_library_host with no_standard_libs: true" am: 393590d8a8
am: 3321670746

Change-Id: Iebd7f4cd4979860ea1b2f9433373546c114d2160
2019-06-13 00:17:11 -07:00
Paul Duffin
a14f280cb0 Merge "Allow java_test.go tests to use any Android.bp file" am: 45656aacab
am: e6cb60da57

Change-Id: I0fedcef906e6e59e004115d421df1a152348a02c
2019-06-13 00:16:57 -07:00
Paul Duffin
ee9d72d0c8 Merge "Add test for no_framework_libs:true" am: 5b775ae8b4
am: c064604439

Change-Id: I55673fa177754b1d44e5d3d4802e2c64e11a7098
2019-06-13 00:16:42 -07:00
Paul Duffin
3321670746 Merge "Never allow java_library_host with no_standard_libs: true"
am: 393590d8a8

Change-Id: I088ad447dbc1ebd4fbbdb889523aca30b6b67624
2019-06-13 00:12:15 -07:00
Paul Duffin
e6cb60da57 Merge "Allow java_test.go tests to use any Android.bp file"
am: 45656aacab

Change-Id: I087cf543b7bc534e39b40f9e06e13a15487af109
2019-06-13 00:11:59 -07:00
Paul Duffin
c064604439 Merge "Add test for no_framework_libs:true"
am: 5b775ae8b4

Change-Id: I45889d705416212125ab466432df4f00e21a942d
2019-06-13 00:11:29 -07:00
Paul Duffin
393590d8a8 Merge "Never allow java_library_host with no_standard_libs: true" 2019-06-13 06:57:19 +00:00
Paul Duffin
45656aacab Merge "Allow java_test.go tests to use any Android.bp file" 2019-06-13 06:56:56 +00:00
Paul Duffin
5b775ae8b4 Merge "Add test for no_framework_libs:true" 2019-06-13 06:56:25 +00:00
Yi Kong
6731da7fe2 Merge "Move darwin to llvm-ar" am: 4821597065
am: 5c54831a17

Change-Id: Ib8e327b77ec1702de52d3faa1c5920c74630ba16
2019-06-12 23:20:20 -07:00
Yi Kong
5c54831a17 Merge "Move darwin to llvm-ar"
am: 4821597065

Change-Id: I6a2529498bd8db1ae0c442d239464191b1362eb0
2019-06-12 23:15:20 -07:00
Yi Kong
4821597065 Merge "Move darwin to llvm-ar" 2019-06-13 06:04:29 +00:00
Dan Willemsen
1cfbdbe1b2 Add another jar used by kotlinc
Bug: 130111713
Test: treehugger
Change-Id: If25be6047625cec4ed9802142876cfd8e9ccd3eb
2019-06-13 05:22:03 +00:00
Dan Willemsen
b085b9b907 Actually depend on the headers from renderscript
Instead of having all the object compilations depend on a stamp file,
instead depend on the headers, which are already available in the build
graph.

This allows my RBE builds to just find the headers, instead of having to
walk the graph to find the other outputs.

Test: treehugger
Test: build a system image with RBE
Change-Id: I0a310229be26d7bd399e074a4350d5be038f8661
2019-06-13 05:21:37 +00:00
Dan Willemsen
dd651faac3 Fix a few missing dependencies in APEX building
I found these while trying to build an aosp_arm system image with RBE,
which only makes the sources that you depend on available to every rule.

The hardcoded prebuilts/sdk path is a bit unfortunate, but that's
currently hardcoded as a default in the script as well.

Bug: 130111713
Test: treehugger
Test: build a system image with RBE
Change-Id: I4415563017e053749788b0a537a48d61a2161935
2019-06-13 05:21:09 +00:00
Colin Cross
49036be407 Use SIGWINCH to update terminal size
Instead of reading the terminal size on every status update, register
for SIGWINCH to read and store the size when it changes.

Test: status_test.go
Change-Id: I555ad21a31a2c924ab0ca681e0c8f00df42a370a
2019-06-12 21:30:56 -07:00
Colin Cross
00bdfd8476 Make status line bold
Bolding the status line provides differentiation between output
of each command.

Test: status_test.go
Change-Id: I9d46761e69c5af0a0aa86c7921e121cfd2a3fc82
2019-06-12 21:30:56 -07:00
Colin Cross
e0df1a36b2 Move all output through StatusOutput
Write log output through StatusOutput so that the status implementation
can synchronize it with its own output.

Test: status_test.go
Change-Id: I917bdeeea4759a12b6b4aa6d6d86ee18a2771723
2019-06-12 21:30:56 -07:00
Colin Cross
097ed2a37c Remove terminal.Writer
terminal.Writer is now just a wrapper around stdio.Stdout() without
any useful functionality.  Replace it with stdio.Stdout() as an
io.Writer.

Test: ui/terminal/status_test.go
Change-Id: I5bc5476afdca950b505642f0135a3af9d37fbe24
2019-06-12 21:30:56 -07:00
Colin Cross
ce525350f4 Move smart and dumb terminals into separate implementations
Support for smart and dumb terminals are implemented in writer.go,
which makes dumb terminals much more complicated than necessary.
Move smart and dumb terminals into two separate implementations
of StatusOutput, with common code moved into a shared formatter
class.

Test: not yet
Change-Id: I59bbdae479f138b46cd0f03092720a3303e8f0fe
2019-06-12 21:30:56 -07:00