| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
This is an immediate fix for a very nasty bug:
https://github.com/bazelbuild/bazel/issues/5038
Change-Id: I5e4f9fa13e5ac785514bc0dc4ce6cba9a88f33bb
Closes #5039.
Change-Id: I5e4f9fa13e5ac785514bc0dc4ce6cba9a88f33bb
PiperOrigin-RevId: 193315571
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the process, clean up SkylarkType-related tests.
- Factor test of EvalUtils.getSkylarkType logic from SkylarkEvaluationTest and ValidationTest to EvalUtilsTest.
- Move test of EvalUtils.getSkylarkType's behavior on lists to SkylarkListTest.
- Move other SkylarkType tests from ValidationTest to new SkylarkTypeTest and split them up a little.
- Throughout, don't use Bazel types like Artifact as test subjects.
RELNOTES: None
PiperOrigin-RevId: 193303463
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks //third_party/java_src/copybara/java/com/google/copybara/config:parser:
[]
*** Original change description ***
PiperOrigin-RevId: 193292991
|
| |
|
|
|
|
| |
PiperOrigin-RevId: 193270108
|
|
|
|
| |
PiperOrigin-RevId: 193265266
|
|
|
|
|
|
|
|
| |
It is possible that $closeResource(...) is not used as the calls to it might
be eliminated by some optimization tools, such as Proguard.
RELNOTES: n/a.
PiperOrigin-RevId: 193262552
|
|
|
|
|
|
| |
INIT_ENV, and COMMIT.
PiperOrigin-RevId: 193261989
|
|
|
|
|
|
|
|
| |
2. Remove incorrect assertion in AnnotationVisitor.visit(String, Object), and
delegate the checking for arrays to visitArray(String).
RELNOTES: n/a.
PiperOrigin-RevId: 193256108
|
|
|
|
|
|
|
| |
Previously this was a member of SkylarkAttr, which didn't make much sense, as the function was not under the attr namespace. This moves configuration_field to a new spot for global functions, "SkylarkBuildApiGlobals".
RELNOTES: None.
PiperOrigin-RevId: 193253435
|
|
|
|
|
|
|
| |
The only things that remain are Provider subclasses, as they require special treatment. (Namely, they are referencable at the top level as a Provider and not a function.)
RELNOTES: None.
PiperOrigin-RevId: 193249523
|
|
|
|
|
|
|
|
|
|
|
| |
The ResourceApk object contains all the processed Android data. When assets are
decoupled, pass them in seperately.
I'll replace ResourceContainer with the ValidatedAndroidData interface as part
of the next review.
RELNOTES: none
PiperOrigin-RevId: 193223251
|
|
|
|
|
|
|
|
|
| |
- New flags to pass in asset deps
- Pass assets into merging in the monolithic action
- Field for asset deps in asset builder action
RELNOTES: none
PiperOrigin-RevId: 193211038
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 193203414
|
|
|
|
|
|
|
| |
It will not work as expected, since config is already expanded by this point in options processing.
RELNOTES: None.
PiperOrigin-RevId: 193196664
|
|
|
|
|
|
|
|
| |
The goal is to enable creation of feature configuration without the rule
context. This will enable us to have cleaner API for this in Skylark.
RELNOTES: None
PiperOrigin-RevId: 193195986
|
|
|
|
|
|
|
|
| |
- Move test_timeout to BuildConfiguration.
- Add test_timeout_seconds field to BEP TargetCompleteEvent.
- Deprecate test_timeout field in ExecutionInfo. Data is still written to deprecated field to allow consumer transition.
PiperOrigin-RevId: 193192636
|
|
|
|
|
|
|
|
|
|
| |
Merges assets using the newly created action.
Also, add BusyBoxActionBuilder to collect common boilerplate for spawning an
action that invokes the Android busybox.
RELNOTES: none
PiperOrigin-RevId: 193192621
|
|
|
|
|
|
|
|
|
| |
We're mostly adding convenience methods. This will be used by spawn runners and in Spawn construction, but we break it out now to lessen the size of the final CL.
We also pull out a CommandLineLimits class instead of using an int. This will partially help with readability, but it also likely that we will add a second constraint (max length of a single argument).
RELNOTES: None
PiperOrigin-RevId: 193191097
|
|
|
|
| |
PiperOrigin-RevId: 193185628
|
|
|
|
|
|
|
| |
This provider already gets added through semantics.addProviders().
RELNOTES:none
PiperOrigin-RevId: 193176446
|
|
|
|
|
|
|
| |
None of the providers are added anyway.
RELNOTES:none
PiperOrigin-RevId: 193172437
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a key to `bazel info` to obtain the location of the repository
cache. As, by default, it is some directory under the bazel output
root, its location is not obvious. Moreover, knowing the location
is useful to have direct access to the downloaded artifacts for
further use (e.g., for prefilling caches on local machines from
a CI system).
Change-Id: I95b56ed424c261e5b5185f02fcb82c5df72ef83a
PiperOrigin-RevId: 193162119
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compiler infers the type of unsuffixed literals as signed. That causes GCC
warnings like this with gtest's ASSERT_EQ if one side is a literal and other is
an unsigned type:
```
In file included from src/test/cpp/option_processor_test.cc:23:0:
external/com_google_googletest/googletest/include/gtest/gtest.h: In instantiation of 'testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = int; T2 = long unsigned int]':
external/com_google_googletest/googletest/include/gtest/gtest.h:1449:23: required from 'static testing::AssertionResult testing::internal::EqHelper<lhs_is_null_literal>::Compare(const char*, const char*, const T1&, const T2&) [with T1 = int; T2 = long unsigned int; bool lhs_is_null_literal = false]'
src/test/cpp/option_processor_test.cc:98:3: required from here
external/com_google_googletest/googletest/include/gtest/gtest.h:1421:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (lhs == rhs) {
~~~~^~~~~~
```
Closes #4994.
Change-Id: Ic40e8714531aaa0e0d748dd59658a6de15bfe12d
PiperOrigin-RevId: 193161516
|
|
|
|
|
|
|
| |
We do not wish to support the attribute being Noneable forever.
RELNOTES: None
PiperOrigin-RevId: 193139282
|
|
|
|
| |
PiperOrigin-RevId: 193130164
|
|
|
|
|
|
|
|
|
|
| |
@SkylarkCallable methods as representing constructors of other skylark types.
This change also demonstrates the new pattern on the global Label() constructor.
As an added bonus, it fixes documentation of that constructor. The old documentation used to read "Label.Label(...)" and the new documentation reads "Label(...)".
RELNOTES: None.
PiperOrigin-RevId: 193109338
|
|
|
|
|
|
|
| |
Since we're only supporting a single %s anyway, make this explicit in the docs, fail in the analysis phase, and use a more efficient format method in the implementation.
RELNOTES: None
PiperOrigin-RevId: 193099585
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 193093782
|
|
|
|
|
|
|
|
|
| |
This will allow us to stop iterating all inputs in an expensive manner looking for tools so we can add their runfiles.
If users specify the 'tools' attribute, it is assumed they know what they are doing and inputs will no longer be scanned for tools.
RELNOTES: Introduce 'tools' attribute to ctx.actions.run.
PiperOrigin-RevId: 193092258
|
|
|
|
|
|
| |
value-equality-tested constants. Main hurdle is efficiently testing to see if a Collection is a value constant without trying to do work on Collections that can't possibly be value constants.
PiperOrigin-RevId: 193085625
|
|
|
|
|
|
|
|
|
| |
global skylark functions to use @SkylarkCallable instead of @SkylarkSignature.
Also migrate skylark's global "rule" function to @SkylarkCallable, thus demonstrating the new feature.
RELNOTES: None.
PiperOrigin-RevId: 193085313
|
|
|
|
|
|
|
|
|
|
|
|
| |
These classes will allow a reasonable asset-only merging action in the next
change.
The relationship between AndroidAssetsInfo and AssetDependencies is a bit
messy; I based it on the existing resource provider and dependencies class
rather than come up with something radically different.
RELNOTES: none
PiperOrigin-RevId: 193085304
|
|
|
|
|
|
|
| |
This is the first step in processing assets completely seperately from resources.
RELNOTES: none
PiperOrigin-RevId: 193076991
|
|
|
|
|
|
|
| |
It breaks downstream rules_nodejs. See https://github.com/bazelbuild/bazel/issues/5028 for details.
RELNOTES: None.
PiperOrigin-RevId: 193074798
|
|
|
|
|
|
|
|
|
|
|
| |
We now support calls like:
args = ctx.action.args()
args.add("--foo", value)
args.add_all("--foo", values)
RELNOTES: Support two-arg overloads for ctx.actions.args (eg. args.add("--foo", val))
PiperOrigin-RevId: 193074060
|
|
|
|
|
|
| |
process-global bimap of fingerprints to NestedSet contents.
PiperOrigin-RevId: 193063717
|
|
|
|
|
|
|
|
|
|
|
|
| |
This action is a trimmed-down version of the resource merging action (no
resources or manifests).
Also, create a base class to collect boilerplate action code, and a new
Exception to indicate that we should exit an action immediately (rather than
throw and print the stack trace).
RELNOTES: none
PiperOrigin-RevId: 193054422
|
|
|
|
|
|
|
|
|
| |
Since the repository_cache is now enabled by default, extend the documentation
of the download_and_extract method to mention its effect, if a sha256 checksum
is specified.
Change-Id: I3cb714e60a5957e338ceb83fe4f1a3c6eaf64960
PiperOrigin-RevId: 193053375
|
|
|
|
|
|
| |
deps
PiperOrigin-RevId: 193053186
|
|
|
|
| |
PiperOrigin-RevId: 193052121
|
|
|
|
|
|
|
|
|
| |
This allows us to use either the new AndroidResources object and its children (which are fully decoupled from asset processing) or the old ResourceContainer. We'll actually turn on decoupled asset and resource processing in an upcoming change.
We still need to create an asset-only pipeline and handle the binary case.
RELNOTES: none
PiperOrigin-RevId: 193047924
|
|
|
|
|
|
| |
Write so that they are logged. I'm open to suggestions for the logging format for these calls, since we don't want to log the actual contents of reads/writes because of their size.
PiperOrigin-RevId: 193047886
|
|
|
|
|
|
|
|
|
|
|
| |
In hindsight, I should have done this a few changes ago, but the relevant
change is already submitted.
We need the artifacts for use in some cases where we want to use
AndroidResources and ResourceContainer interchangably during migration.
RELNOTES: none
PiperOrigin-RevId: 193038067
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/656a0bab1e025ff3c27d595284a4bf1c5a8d8028 with test (unknown commit) and fix.
Big round of sandbox fixes / performance improvements.
- The number of stat() syscalls in the SymlinkedSandboxedSpawn was way too high. Do less, feel better.
- When using --experimental_sandbox_base, ensure that symlinks in the path are resolved. Before this, you had to check whether on your system /dev/shm is a symlink to /run/shm and then use that instead. Now it no longer matters, as symlinks are resolved.
- Remove an unnecessary directory creation from each sandboxed invocation. Turns out that the "tmpdir" that we created was no longer used after some changes to Bazel's TMPDIR handling.
- Use simpler sandbox paths, by using the unique ID for each Spawn provided by SpawnExecutionPolicy instead of a randomly generated temp folder name. This also saves a round-trip from our VFS to NIO and back. Clean up the sandbox base before each build to ensure that the unique IDs are actually unique. ;)
- Use Java 8's Process#isAlive to check whether a process is alive instead of trying to get the exitcode and catching an exception.
Closes #4913.
PiperOrigin-RevId: 193031017
|
|
|
|
| |
PiperOrigin-RevId: 193029216
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bazel automatically detects the local Bash and
creates a custom toolchain rule for it.
Later, rules that use Bash will require this
toolchain and retrieve Bash's path from it instead
of relying on hardcoded paths or the
`--shell_executable` flag.
See https://github.com/bazelbuild/bazel/issues/4319
Change-Id: Idd8242a20d202b1f5a56cddac95b625c6c08ede9
Closes #4980.
Change-Id: Ic2406a4da260b284e15852070d58472ca18340af
PiperOrigin-RevId: 193022708
|
|
|
|
|
|
|
|
|
|
| |
FeatureConfiguration
The goal is to enable creation of feature configuration without the rule
context. This will enable us to have cleaner API for this in Skylark.
RELNOTES: None
PiperOrigin-RevId: 193017868
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new method lets Java programs export the
RUNFILES_* environment variables for subprocesses,
in case those subprocesses are other Bazel-built
binaries that also need runfiles.
See https://github.com/bazelbuild/bazel/issues/4460
Change-Id: I05c0b84db357128bc15f21a167a0d92e8d17599c
Closes #5016.
Change-Id: I66ca5c44067a7353b8de180a64f20c8352e3c9ec
PiperOrigin-RevId: 193013289
|
|
|
|
|
|
|
| |
CcLinkingInfo will eventually wrap all C++ linking providers. CcLinkParamsInfo is no longer a provider and will be renamed in a later CL.
RELNOTES:none
PiperOrigin-RevId: 193011702
|