Commit Graph

14201 Commits

Author SHA1 Message Date
Roland Levillain
1b0106341c Add support for tests in APEX test modules.
am: 630846d244

Change-Id: I2b5e52b5a5330409cd2c88160d86e8494a79d31d
2019-07-08 04:18:43 -07:00
Roland Levillain
630846d244 Add support for tests in APEX test modules.
Allow `tests` property in `apex_test` Soong modules.

Test: m (`apex/apex_test.go` amended)
Bug: 129534335
Change-Id: Ieeff7cf0980a7c394409632b6448102f59bceb3d
2019-07-05 19:01:18 +01:00
Colin Cross
cd48600321 Merge changes Icfc893c8,I40f03fc0
am: f67e1bee4a

Change-Id: I0b9cf1e3df4ef7ef46e73a5dc6d363fe918c29b7
2019-07-03 22:55:03 -07:00
Inseob Kim
0ce291ebee [trivial] Remove dead code
Bug: N/A
Test: m
Change-Id: Ia278008249f5fc1cf5fd7d29e55e2e54f1d6f3ca
2019-07-04 14:39:22 +09:00
Treehugger Robot
f67e1bee4a Merge changes Icfc893c8,I40f03fc0
* changes:
  Allow debugging with SOONG_DELVE=<listen addr>
  Print ninja stdout live during the build
2019-07-04 03:34:22 +00:00
Colin Cross
1af102a9f8 Merge "Add a String() method to android.Module"
am: eee5a41aa4

Change-Id: I15cc3b5dace326948c6a17d51d2d9a69a7302b9b
2019-07-03 20:07:49 -07:00
Treehugger Robot
eee5a41aa4 Merge "Add a String() method to android.Module" 2019-07-04 02:15:35 +00:00
Colin Cross
6e9bf6f1d7 Merge changes from topic "mutator_name"
am: 28d36cacc1

Change-Id: I5d4290229fd785f02d4a14c4c91329267f7a7283
2019-07-03 19:11:35 -07:00
Patrice Arruda
63469b3114 soong_ui: Build under a path that contains a symbolic link.
am: baba9a9be6

Change-Id: Id003f390a022cb229fb9f56fb30e83d8310d7ba6
2019-07-03 19:08:13 -07:00
Treehugger Robot
28d36cacc1 Merge changes from topic "mutator_name"
* changes:
  Add MutatorName to mutator contexts
  Remove ioutil.TempDir from each android/soong/android test
2019-07-04 01:44:23 +00:00
Colin Cross
aa812d122c Allow debugging with SOONG_DELVE=<listen addr>
Allow running Soong in a headless delve debugger by passing
SOONG_DELVE=<listen addr> in the environment.

Bug: 80165685
Test: SOONG_DELVE=:1234 m nothing
Change-Id: Icfc893c8a8354a9bbc99112d9c83259cb41906d1
2019-07-03 16:33:31 -07:00
Colin Cross
7b97ecd1f5 Print ninja stdout live during the build
When running ninja stream stdout to the status writer.  This improves
the ninja -d explain behavior, and will also allow Soong to be put
into the ninja console pool letting it print timely output to the
console.

Bug:  80165685
Test: NINJA_ARGS="-d explain" m
Change-Id: I40f03fc01d837ad91d400eae378007a7ce807705
2019-07-03 16:33:10 -07:00
Colin Cross
9a36223d59 Add a String() method to android.Module
Add a String() method to android.Module for use in debugging.  Store
the name and variations of the module as they are mutated.

Test: TestModuleString
Bug: 136473661
Change-Id: I74e393703dcfc96ed4e21ac4a4419a7858b59216
2019-07-03 15:37:11 -07:00
Pirama Arumuga Nainar
100bbdc8f3 Wrap getenv when linking a coverage-enabled binary
The wrapper to getenv() appends the effective userid (euid) of the
current process to GCOV_PREFIX.  This avoids conflicts and permissions
issues when multiple processes try to create/access the same directories
and files under /data/misc/trace.

Test: Verify that coverage files are written to
/data/misc/trace/<euid>/proc/... instead of /data/misc/trace/proc/...

Change-Id: If58081a12b2b9bc40cfcbf64c99beafe198d07af
2019-07-03 15:28:54 -07:00
Pirama Arumuga Nainar
82fe59b656 Refactor libprofile-extras to be added as a whole static library
Bug: http://b/134177005
Bug: http://b/116873221

Previously, the libprofile-extras dependency was added as a
LateStaticLib and the constructor in this library was included during
linking with the '-uinit_profile_extras' linker flag.  This was done
because at the deps() stage, the exact binaries that need coverage are
not known (in fact the coverage-enabled variants are not created yet).

This meant that for a link command, if one of the shared libraries
already exported the constructor, the output of the link command did not
load/link libprofile-extras.

For other reasons, we now want to add more symbols to this library that
need to be linked into all libraries and executables.  To accomplish
that, refactor the dependency handling so libprofile-extras can be added
as a 'WholeStaticLib'.

This is done by creating a new dependency type (with a coverageDepTag
dependency tag) to add libprofile-extras as a dependency for all modules
that can potentially link with coverage.  During the flags() call, this
dependency is moved as a WholeStaticLib dependency iff coverage is
enabled in this link step.

There are a few NFC changes as well:
- deps() takes a DepsContext parameter.
- flags() has an extra PathDeps parameter and return value.
- add useSdk() helper to cc.Module.

Test: Build with coverage and check that we can generate coverage using
SIGUSR1 and the debug.coverage.flush sysprop.

Change-Id: I7e7d8201956a150febbda5bb1794f8ece016db8b
2019-07-03 15:28:50 -07:00
Colin Cross
cb55e089f0 Add MutatorName to mutator contexts
Follow https://github.com/google/blueprint/pull/255.

Bug: 136473661
Test: m checkbuild
Change-Id: Ia74d442c925689fa1e06a70c2acfed925063f844
2019-07-03 14:16:42 -07:00
Colin Cross
fa07821d88 Remove ioutil.TempDir from each android/soong/android test
android_test.go already sets up a global buildDir, no need to create
one in each test.

Test: All soong tests
Change-Id: Ib85cbf78c604ad3cef64aa00b6bd812a81496e9e
2019-07-03 20:27:11 +00:00
Patrice Arruda
baba9a9be6 soong_ui: Build under a path that contains a symbolic link.
The build directory passed in to soong_ui can contain a
symbolic link. soong_ui was not evaluating the build
directory to retrieve the true path, hence failing to
execute the internal soong.

Fixes: b/135995632
Test: Unit test case and executed the scenario in the bug
      description.

Change-Id: I5779c6aa3f3183810437dbe2b2d4e40acbafb205
2019-07-03 13:03:23 -07:00
Mikhail Naganov
69e10fbcfa Perform TERM check for file writers only
am: 9d42425f25

Change-Id: I2b1a4d5786c66c99dab541d9556f8b4a07e64fdd
2019-07-02 15:13:58 -07:00
Paul Duffin
3916153c86 [automerger skipped] Allow neverallow rules to be defined by custom bootstrap_go_packages
am: aebc02ab29 -s ours
am skip reason: change_id Ie3a4456d1f6bc12c5b4931bf698333275347fdf0 with SHA1 730f2a57e3 is in history

Change-Id: I72d31a46dbe6207f131cc71f6efef033981ab2b4
2019-07-02 14:43:58 -07:00
Mikhail Naganov
9d42425f25 Perform TERM check for file writers only
Tests use fakeSmartTerminal, this case must not be affected
by the TERM setting.

Test: TERM=dumb make
Change-Id: Ib926a1c6ba2d8c4117d412fe351d872ccfc1c799
2019-07-02 09:51:42 -07:00
Paul Duffin
730f2a57e3 Allow neverallow rules to be defined by custom bootstrap_go_packages
* Adds a Rule interface to hide the rule struct and expose the mutator
functions.
* Makes the neverallow() function public as NeverAllow().
* Adds AddNeverAllowRules func to add more rules.
* Moves the population of the builtin rules to init() function.

Bug: 136159343
Test: m droid
      - changed a built in rule to cause build failure to ensure the
	    rules were still being applied, then reverted the change and
		ran 'm droid' again.

Change-Id: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
Merged-In: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
(cherry picked from commit 18af090842)
(cherry picked from commit b1cacba022)
2019-07-02 16:21:51 +00:00
Xin Li
88152dd365 DO NOT MERGE - Merge qt-dev-plus-aosp-without-vendor (5699924) into stage-aosp-master
Bug: 134405016
Change-Id: I6154b5b1dc252979cb0f05c8bfafe15fcdd63569
2019-07-01 20:58:36 +00:00
Paul Duffin
aebc02ab29 Allow neverallow rules to be defined by custom bootstrap_go_packages
* Adds a Rule interface to hide the rule struct and expose the mutator
functions.
* Makes the neverallow() function public as NeverAllow().
* Adds AddNeverAllowRules func to add more rules.
* Moves the population of the builtin rules to init() function.

Bug: 136159343
Test: m droid
      - changed a built in rule to cause build failure to ensure the
	    rules were still being applied, then reverted the change and
		ran 'm droid' again.

Change-Id: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
Merged-In: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
2019-07-01 16:15:07 +01:00
Jeongik Cha
218964e76e Merge "Enforce hidden api usage in vendor (soong)" am: e65d84c84c
am: 7a22534a47

Change-Id: Iffbacc0f98fb208e6f71919bcefa19cb0e57efca
2019-06-30 19:53:19 -07:00
Jeongik Cha
7a22534a47 Merge "Enforce hidden api usage in vendor (soong)"
am: e65d84c84c

Change-Id: I53bf34f85ef25d57b0af585344c55733463b091e
2019-06-30 19:32:16 -07:00
Treehugger Robot
e65d84c84c Merge "Enforce hidden api usage in vendor (soong)" 2019-07-01 02:06:57 +00:00
Mikhail Naganov
e34e7eacd1 Merge "Improve dumb terminal detection" am: a3ded95424
am: 6be3939c68

Change-Id: I81fabe43666bc09c537223abb2dc7ed6b46d5e5b
2019-06-28 20:51:42 -07:00
Mikhail Naganov
6be3939c68 Merge "Improve dumb terminal detection"
am: a3ded95424

Change-Id: I8e602bcfd343f6d7ec2163460c89956d0eccdbbc
2019-06-28 20:24:43 -07:00
Treehugger Robot
a3ded95424 Merge "Improve dumb terminal detection" 2019-06-29 02:45:43 +00:00
jaishank
3cb1f6a532 Merge "Disabled avx avx2 avx512 compiler flags by default. Library components can enable the flags based on performance impact" am: dd5cf7574b
am: 1b4699a2cf

Change-Id: I553cab57535513558e3d976e0d3e5c6a4532a02b
2019-06-28 14:28:05 -07:00
Colin Cross
d3c8c1ed26 Merge "Treat .cxx files as c++" am: 35bb770e0e
am: 6598f20be5

Change-Id: Ib62c7134007c7e7ed9d838a377261c9b3d169213
2019-06-28 14:27:47 -07:00
jaishank
1b4699a2cf Merge "Disabled avx avx2 avx512 compiler flags by default. Library components can enable the flags based on performance impact"
am: dd5cf7574b

Change-Id: I123a807852e84a6fe9a25360d10bab4c0de37a28
2019-06-28 14:22:05 -07:00
Colin Cross
6598f20be5 Merge "Treat .cxx files as c++"
am: 35bb770e0e

Change-Id: I18b67e43e531aa989bd1f5312808c98bc619063a
2019-06-28 14:21:47 -07:00
Treehugger Robot
dd5cf7574b Merge "Disabled avx avx2 avx512 compiler flags by default. Library components can enable the flags based on performance impact" 2019-06-28 21:14:33 +00:00
Treehugger Robot
35bb770e0e Merge "Treat .cxx files as c++" 2019-06-28 20:43:33 +00:00
Paul Duffin
cbcb8675bc Merge changes from topic "package default_visibility" am: 4190926e61
am: b915658436

Change-Id: Ib207ca13b58e789ea7e545cb99db789cb5d83cfe
2019-06-28 08:51:55 -07:00
Paul Duffin
b915658436 Merge changes from topic "package default_visibility"
am: 4190926e61

Change-Id: I2ef9bbf783a62a491af0fcf2e9969946158b69ff
2019-06-28 07:37:32 -07:00
Paul Duffin
4190926e61 Merge changes from topic "package default_visibility"
* changes:
  Inherit default_visibility from parent package
  Allow default visibility to be set per package
2019-06-28 09:24:57 +00:00
Jeongik Cha
6bd33c13bb Enforce hidden api usage in vendor (soong)
From aosp/588578, if vendor app doesn't fill sdk_version, build scirpt overwrites system_current to sdk_version.
But there is no similar enforcement in soong.

So, as make does, sdkVersion() returns "system_current" if it is device-specific or soc-specific module. and sdk_version is not filled.

Test: pass soong test
Bug: 132780927

Change-Id: I69bb3d7bfcf7c27c2db4d0efbe046f9c7879b4bc
2019-06-28 14:56:59 +09:00
Colin Cross
d34ab7c6b2 Treat .cxx files as c++
Fixes: 135749365
Fixes: 135667566
Test: m checkbuild
Change-Id: If47274812dfe781ebbb9f8a60a395650573727d5
2019-06-27 14:46:10 -07:00
Mikhail Naganov
b073581441 Improve dumb terminal detection
When figuring out terminal type, check whether TERM=dumb is set.

Test: m nothing
Test: TERM=dumb m nothing
Test: m nothing | tee log
Change-Id: Ie13ca99eb84b798644d618ad1c8c1fb8ec8bb049
2019-06-27 10:54:53 -07:00
Mathieu Chartier
f137467b49 Merge "Revert "Revert "Remove option to create boot image based on preloaded classes""" am: 8a255acae2
am: abbcf54625

Change-Id: I65f5927b59ebb4d8999fe4e31a10fd9bcd192063
2019-06-27 09:33:28 -07:00
Mathieu Chartier
abbcf54625 Merge "Revert "Revert "Remove option to create boot image based on preloaded classes"""
am: 8a255acae2

Change-Id: Iaa48cb73170c43f36e2a6872599ebc703bf5b8ce
2019-06-27 09:22:44 -07:00
Mathieu Chartier
8a255acae2 Merge "Revert "Revert "Remove option to create boot image based on preloaded classes""" 2019-06-27 15:56:52 +00:00
Paul Duffin
e484f47a63 Inherit default_visibility from parent package
Enhances the visibility mechanism to use the default_visibility
property of the closest ancestor package that has the property
specified.

Bug: 133290645
Test: m droid
Change-Id: I7248e9034a73894ac8d514f913316438c4d7c079
2019-06-27 13:24:59 +01:00
Paul Duffin
e2453c705f Allow default visibility to be set per package
Adds a package module type with a default_visibility property. The
package module type can only be specified once per package.

Bug: 133290645
Test: m droid
Change-Id: Ibb2fb499c9ea88ecaa662d3cd2cbde478e4b9a4b
2019-06-27 13:24:50 +01:00
Paul Duffin
eebd76179f Merge "core_current does not include framework libraries" am: bf46d96c60
am: 3704c26631

Change-Id: Ia24a9ceef1cf09fc61f1073e91acfbf7d2d48749
2019-06-27 05:22:14 -07:00
Paul Duffin
3704c26631 Merge "core_current does not include framework libraries"
am: bf46d96c60

Change-Id: I269544959da1f2fcad31c4222042475508a4138a
2019-06-27 05:12:10 -07:00
Paul Duffin
bf46d96c60 Merge "core_current does not include framework libraries" 2019-06-27 11:43:32 +00:00