Commit graph

1896 commits

Author SHA1 Message Date
Liz Kammer
4a7a93e620 Add ShellEscapeListIncludingSpaces am: 3a988df18a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1894576

Change-Id: Ibdd319237ef5dd125279ea14fa1d84f53e3d0fcb
2021-11-17 01:46:05 +00:00
Liz Kammer
3a988df18a Add ShellEscapeListIncludingSpaces
This simplifies escaping for aquery.

Test: build/bazel/ci/mixed_droid.sh
Change-Id: I88356a8eda0c6a6ac9426d37cd386f0a94b8818b
2021-11-16 17:17:02 -05:00
Lukacs T. Berki
ffa095e33e Move bpglob to outside of the Ninja action graph. am: 6fbc68d41d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1879698

Change-Id: I67d9c22741b5e9e9816f0273a16f09d6aa00efc0
2021-11-10 17:29:12 +00:00
Lukacs T. Berki
6fbc68d41d Move bpglob to outside of the Ninja action graph.
It's in reality built by Microfactory quite early in the build which
takes care of incrementality in bpglob itself.

Test: Presubmits.
Change-Id: I066a6e85f48e9cfec4efd46cb1f615c68b806080
2021-11-10 12:37:55 +01:00
Trevor Radcliffe
7224b3edcc Merge "Change bpdoc to separate entries with the same type" am: 0bf636f3ef
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1878636

Change-Id: Ie8f13a8b8d4bb12040a5f8d7ef00c11febf4859e
2021-11-05 16:31:45 +00:00
Trevor Radcliffe
0bf636f3ef Merge "Change bpdoc to separate entries with the same type" 2021-11-05 16:11:23 +00:00
Lukacs T. Berki
ebe9022a3a Remove the -v argument from bpglob. am: f12f1d7d1e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1879699

Change-Id: I20ec093492a1a507e7c13ca57d5f1e5478acd122
2021-11-04 17:28:28 +00:00
Lukacs T. Berki
f12f1d7d1e Remove the -v argument from bpglob.
Now that we have bootstrapEpoch, it's not necessary anymore.

Test: Presubmits.
Change-Id: If36cf3c8f71c1023003f408b4e799bbbdba6fa27
2021-11-04 11:48:43 +01:00
Colin Cross
64310fcea0 Move bpglob out of ToolDir am: 37d151ff95
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1875757

Change-Id: Ie1f43f637177a9d0667f6d59ce9ab0e820d809bb
2021-11-02 21:06:54 +00:00
Trevor Radcliffe
d14f342fa6 Change bpdoc to separate entries with the same type
Presently, entries in the Soong reference docs that
share the same type are condensed into a single entry.
This is very unintuitive, so this change removes that
functionality.

Fixes: 204441523
Test: bpdoc_test.go
Test: build and compare Soong docs
Change-Id: Ic03891a8a7a29b5f7ee58c01b2fa05a0c27e0a2b
2021-11-02 15:59:48 +00:00
Colin Cross
37d151ff95 Move bpglob out of ToolDir
ToolDir is going to become unstable when switching between KatiEnabled
and Soong-only builds while the duplication between out/soong/host and
out/host is resolved.  bpglob gets executed very early during bootstrap,
before the primary builder has run to update the paths to match the
current configuration.  Move it into SoongOutDir() so that its path
is more stable.

The copy of bpglob in ToolDir is still used when bpglob is used by the
primary builder through bootstrap.GlobFile.

Bug: 204136549
Test: m nothing
Change-Id: Ida51997b6408d7c265f3ba343278e5e2968467d3
2021-11-01 22:54:02 -07:00
Colin Cross
30faeb6ad6 Handle dangling symlinks when following symlinks am: 0e306e7a89
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1851040

Change-Id: I7bf8c61931edc11888f1fc015dac7f596096ce32
2021-10-11 17:58:49 +00:00
Colin Cross
0e306e7a89 Handle dangling symlinks when following symlinks
When globbing with following symlinks enabled, treat dangling symlinks
as files instead of erroring.

Bug: 202547639
Test: TestGlobFollowDanglingSymlinks
Change-Id: Ic1b241d3fcf1bc6989cb724d00c2b97fefa8dcdb
2021-10-08 17:50:17 -07:00
Spandan Das
8c25febaf9 Merge "bpdocs for struct types created using reflection" am: 87fd4b11af
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1820757

Change-Id: I6c3b9563df74a1c55b3a784bceae915b9f9c7b98
2021-09-21 20:21:53 +00:00
Spandan Das
87fd4b11af Merge "bpdocs for struct types created using reflection" 2021-09-21 20:00:35 +00:00
Spandan Das
1109cd96b7 bpdocs for struct types created using reflection
struct types defined using reflection have empty PkgPaths(), due to
which they were not added to the generated bpdocs. This CL allows
us to generate bpdocs for such struct types.

For each field in the struct, the algorithm checks the following and
creates a PropertyStruct object accordingly
1. If field is a primitive type (Base condition)
2. If field is another exported struct (Base condition)
3. If field is another struct created using reflection (Recurse)

Test: m soong_docs
Test: java_sdk_library_import before
https://ci.android.com/builds/submitted/7710820/linux/latest/view/java.html#java_sdk_library_import
and after
https://spandandas.users.x20web.corp.google.com/docs/java.html#java_sdk_library_import
Bug: 172797653

Change-Id: I0349e405fd290d427fa0b38a109b4212aace50c6
2021-09-20 22:33:05 +00:00
Martin Stjernholm
7cf283232e Merge "Document that blueprint:"mutated" properties are skipped." am: 9fd2ed93df
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1823195

Change-Id: I4c4953ecf617632ed18bd1a682d4a1ff57dc7d25
2021-09-10 10:36:05 +00:00
Martin Stjernholm
9fd2ed93df Merge "Document that blueprint:"mutated" properties are skipped." 2021-09-10 10:17:55 +00:00
Treehugger Robot
23621090db Merge "[LSC] Add LOCAL_LICENSE_KINDS to build/blueprint" am: b3ba44c8d3
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1822217

Change-Id: Idc743777aff29b42995f11075916c9552a2668da
2021-09-09 22:11:42 +00:00
Treehugger Robot
b3ba44c8d3 Merge "[LSC] Add LOCAL_LICENSE_KINDS to build/blueprint" 2021-09-09 21:49:26 +00:00
Martin Stjernholm
af564e41a9 Document that blueprint:"mutated" properties are skipped.
Test: n/a - comment change only
Change-Id: I717c549093bf4b744af75a43219cb353510bfcad
2021-09-09 20:49:58 +01:00
Lukacs T. Berki
f16d2de6d0 Remove UseValidationsForGoTests. am: d9d298c760
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1821772

Change-Id: I8a4958fea48cb695ea632e880f01776dbbc902d2
2021-09-09 06:24:32 +00:00
Bob Badour
76f9b09e3d [LSC] Add LOCAL_LICENSE_KINDS to build/blueprint
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: Iba783a5b977976ee2d49a8553908fec1219dad68
2021-09-08 14:01:45 -07:00
Lukacs T. Berki
32d5d542d2 Remove PrimaryBuilderExtraFlags and cull Args. am: 5d5ed5fc6b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1819862

Change-Id: I3c220d3d23862dd7c75e19a5c4c8ee999c275bb9
2021-09-08 13:39:21 +00:00
Lukacs T. Berki
2339404d67 Prefix file names with ctx.SrcDir() in docgen. am: 70d6564d7d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1821452

Change-Id: I910765324c5ec7bb9a8aafc23fee304b82f456ca
2021-09-08 13:39:19 +00:00
Lukacs T. Berki
d9d298c760 Remove UseValidationsForGoTests.
Whenever it was called, it returned true.

Test: Presubmits.
Change-Id: Iabe5a99b8363771d06b200d4641d9ce477ba5b6e
2021-09-08 15:32:52 +02:00
Lukacs T. Berki
5d5ed5fc6b Remove PrimaryBuilderExtraFlags and cull Args.
PrimaryBuilderExtra flags was only used from soong_ui and has nothing to
do with Blueprint files or modules and Args contained a lot of members
that were likewise only used for plumbing withing soong_ui or for
command line processing for soong_build.

Test: Presubmits.
Change-Id: Ibf009e446b4044309a331592a88a4aa86b4801e3
2021-09-08 09:35:56 +02:00
Lukacs T. Berki
70d6564d7d Prefix file names with ctx.SrcDir() in docgen.
This is because docgen will be called from the bootstrap Ninja file with
cwd == /.

Side cleanup: remove an unused template.

Test: Presubmits.
Change-Id: Ia5ff10247becbabc7a76c21f4ed05d654a7b20c3
2021-09-08 09:34:56 +02:00
Lukacs T. Berki
d77170912f Pass StopBefore as an argument to RunBlueprint. am: a9768e1ad7
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1820190

Change-Id: I5d6b62368bd4350aad66de45c92259138d86b0ad
2021-09-08 06:37:14 +00:00
Lukacs T. Berki
a9768e1ad7 Pass StopBefore as an argument to RunBlueprint.
Its value is a function of the call site, so it doesn't make a lot of
sense to plumb it through the configuration.

Test: Presubmits.
Change-Id: I5081650818664f283ebc5dc04daef90c26759353
2021-09-07 18:12:29 +02:00
Lukacs T. Berki
6a48d308a6 Remove ConfigRemoveAbandonedFilesUnder. am: f99e89c147
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1817977

Change-Id: I78ad77bcf99c77e372c3e2cf6c3b207df9965daa
2021-09-06 12:13:16 +00:00
Lukacs T. Berki
f99e89c147 Remove ConfigRemoveAbandonedFilesUnder.
It was not implemented by anyone.

Test: Presubmits.
Change-Id: I8b98620c0ef9c1f242fe7fc0a7d810f2af15d042
2021-09-06 11:35:28 +02:00
Lukács T. Berki
3b69a0a224 Merge "Rename Blueprints to Android.bp ." am: 5e56efb7c8
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1817978

Change-Id: I70d85f0dccdd6390ca198132455d5ea3b33292c1
2021-09-03 18:38:53 +00:00
Lukács T. Berki
5e56efb7c8 Merge "Rename Blueprints to Android.bp ." 2021-09-03 18:20:39 +00:00
Lukacs T. Berki
8a97f47ac3 Make cmdline args consistent with what they do. am: 9b435b8089
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1815793

Change-Id: I65e4a1ca16684ab1efe7600d55b67fdbb69550d9
2021-09-02 15:48:56 +00:00
Lukacs T. Berki
9b435b8089 Make cmdline args consistent with what they do.
Test: Presubmits.
Change-Id: I6d5f827e06526a121f915aae57c6f086ba44f21d
2021-09-02 13:29:10 +02:00
Lukacs T. Berki
cf5b271af2 Remove the bootstrap.Config class. am: d782b504e0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1817976

Change-Id: Ifbd54ab958809635d39b49f52ed63765c7c7d3d1
2021-09-02 10:53:13 +00:00
Lukacs T. Berki
eef5685c65 Rename Blueprints to Android.bp .
This was the only one in the source tree.

Side cleanup: remove some dead code that I assume comes from the time
where Blueprint files had to specify what subdirectories other Blueprint
files are in.

Test: Presubmits.
Change-Id: If84c4e85bc5516f30da97c1be29b56e50dddb3c4
2021-09-02 11:48:19 +02:00
Lukacs T. Berki
d782b504e0 Remove the bootstrap.Config class.
It was confusing because there are two concepts with the same name:
thebootstrapping config special-cased in the bootstrap modules /
singletons and the "global" config.

This change folds the first into the second.

A further next step would be to split the Go parts and the Ninja parts
(subninjas + primary builder invocation) apart, but at some point, I
should stop gold-plating this.

Test: Presubmits.
Change-Id: Id341dee664a9d2527535f4f9980e5f0d10139eef
2021-09-02 09:58:45 +02:00
Lukacs T. Berki
8c57b1e2e9 Simplify bootstrapping: am: ceb3c43f65
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1814783

Change-Id: I9ef24bad2a7dd94fc6780768f590d94c32198d85
2021-09-01 14:28:44 +00:00
Lukacs T. Berki
ceb3c43f65 Simplify bootstrapping:
- Remove the bootstrap_go_binary module type in favor of
blueprint_go_binary
- Make it so that all the binaries used during bootstrapping are in the
host tool directory so that the bootstrap and main Ninja files are
consistent

Test: Presubmits.

Change-Id: I00744fec0474fbea89db6c0c0338856453138564
2021-09-01 11:55:00 +02:00
Lukacs T. Berki
f05ce1b487 Remove some unnecessary arguments from Blueprint. am: ce41c169b5
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1814158

Change-Id: Id3bfbe21e3c1cc94597b513a7f159b52a13e5820
2021-08-31 13:48:47 +00:00
Lukacs T. Berki
ce41c169b5 Remove some unnecessary arguments from Blueprint.
What's gone:

- TopFile (it's always Android.bp)
- GeneratingPrimaryBuilder (we don't make that distinction anymore)

Also rename BuildDir and NinjaBuildDir to SoongOutDir and OutDir,
respectively, to be consistent with the rest of the code.

Test: Presubmits.
Change-Id: I55ecb02a59fe68bf5674395a108181ea7557b21f
2021-08-31 10:58:04 +02:00
Lukacs T. Berki
10c8322ae6 Remove Depfiles from bootstrap.Args . am: 0459f6b18e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1808877

Change-Id: Ic45a0fd380cb8288a58a7339885ca59d0248c73c
2021-08-27 19:56:54 +00:00
Lukacs T. Berki
0459f6b18e Remove Depfiles from bootstrap.Args .
It is not used anymore; Soong assumes that the depfile is just the name
of the output file with a ".d" suffix.

Test: Presubmits.
Change-Id: Ifbf722dcdffc8420e12a032e23ab791a6be5a736
2021-08-27 15:56:00 +02:00
Lukacs T. Berki
eb25e8caee Rename BuildDir and NinjaBuildDir. am: 5c4abb15e3
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1810317

Change-Id: Ie22c1062431149e97f3bc37395b5c7434e92a476
2021-08-27 13:54:13 +00:00
Lukacs T. Berki
5c4abb15e3 Rename BuildDir and NinjaBuildDir.
These are just out/ and out/soong/ and the old names were quite
confusing.

Test: Presubmits.
Merged-In: Idd9ce3c38a259faabcc56f0cd3fdac8b289123b1
Merged-In: I334ab40c668d2a94536f3e63d5f1fa0b401388ac
Change-Id: Ib7c568c6a97701f2240c5e3f0f2ce67397819ac0
2021-08-26 15:08:09 +02:00
Lukacs T. Berki
3377feea84 Do not separate .primary and .bootstrap dirs. am: 51b625928d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1802496

Change-Id: I2040b9b2de6bf90c09d8d1723c9165113c75ed6d
2021-08-19 18:17:09 +00:00
Lukacs T. Berki
2ece082345 Do not reference Ninja variables in Makefiles. am: 5f0a740fed
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1800994

Change-Id: I833d40edc47b402ec01770a6cb3e0ac9a2f9f909
2021-08-19 15:16:22 +00:00
Lukacs T. Berki
51b625928d Do not separate .primary and .bootstrap dirs.
This makes it possible to share work between the bootstrap and the main
Ninja file.

As a side fix, remove the reference to $srcDir from moduleSrcDir() since
that is hardwired to "." anyway.

Test: Presubmits.
Change-Id: Ia4a251dd34273ec3e0436ac7a2fbafe4ef46c73f
2021-08-19 16:26:36 +02:00