| Commit message (Collapse) | Author | Age |
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
The flag --experimental_repository_cache has been renamed to --repository_cache
(with the old name still usable for some releases). Adapt the shell tests to
use the preferred name of that flag.
Change-Id: I88ba70d386d5e8bb1bb60bcac58b2f1cc325ff17
PiperOrigin-RevId: 193003482
|
|
|
|
| |
PiperOrigin-RevId: 192964032
|
|
|
|
|
|
|
|
|
|
| |
j2objc_library's --j2objc_translation_flags to future Skylark replacement rule.
DELTA=42 (39 added, 0 deleted, 3 changed)
DELTA_BY_EXTENSION=java=42
RELNOTES: None.
PiperOrigin-RevId: 192838435
|
|
|
|
|
|
|
|
|
| |
Transitive ValidatedAndroidResource objects will, in future reviews, be used in
resource processing (replacing transitive ResourceContainers). To support this,
we must be able to filter these objects.
RELNOTES: none
PiperOrigin-RevId: 192825260
|
|
|
|
|
|
| |
This is required for moving --test_timeout from ExecutionOptions to BuildConfiguration.Options
PiperOrigin-RevId: 192815911
|
|
|
|
|
|
|
|
|
|
| |
This is the last step of decoupling assets and resources for the basic
android_library path, but more work still needs to be done in future changes
(for additional library features like aar exporting, and for top-level targets
like android_binary).
RELNOTES: none
PiperOrigin-RevId: 192815261
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create wrapper for merged resources, and methods to make it from parsed
resources.
Currently just reuse the ResourceDependencies class to provide resource
dependencies; we could create an interface and another class, but this class is
good enough (and will be resource-specific once we finish decoupling assets,
resources, and manifests).
Note that, like the previous parse action, merging sometimes has a dependency
on the stamped manifest, so resources and manifests will only be mostly
decoupled.
Also, make the merge action not require an output manifest for cases like this.
RELNOTES: none
PiperOrigin-RevId: 192805891
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192805836
|
|
|
|
|
|
| |
FindMissingBlobs, GetActionResult so that they are logged. unknown commit must be submitted before this for Watch calls to be logged properly.
PiperOrigin-RevId: 192794535
|
|
|
|
|
|
|
|
|
|
| |
Ran into an issue where it wasn't possible to add protos to blacklist for j2objc toolchain and was getting duplicate symbols for the descriptor protos.
This change should make it consistent with the other proto rules which use a toolchain. Was able to remove bespoke and uncustomizable proto blacklist for j2objc.
Closes #4064.
PiperOrigin-RevId: 192787964
|
|
|
|
|
|
|
|
| |
RELNOTES:
`FileType` is deprecated and will be removed soon.
Try the `--incompatible_disallow_filetype` flag to ensure your code
is forward-compatible.
PiperOrigin-RevId: 192758063
|
|
|
|
|
|
|
| |
When going ahead with the implementation, the full name felt too verbose. CommandLines still shows that we have a list of command lines, and the attached param file info is secondary enough that I'm comfortable omitting the name.
RELNOTES: None
PiperOrigin-RevId: 192731592
|
|
|
|
| |
PiperOrigin-RevId: 192662977
|
|
|
|
|
|
|
|
|
| |
This cl should result in no user-visible change. It simply
sets the feature based on the field in the crosstool proto.
A subsequent cl will expose this feature for people to actually
use.
PiperOrigin-RevId: 192641438
|
|
|
|
|
|
| |
RELNOTES:
Removed flag `--incompatible_disallow_toplevel_if_statement`.
PiperOrigin-RevId: 192621765
|
|
|
|
| |
PiperOrigin-RevId: 192621318
|
|
|
|
|
|
|
|
|
|
|
|
| |
... in register_toolchains and register_execution_platforms.
Fixes #5000.
Change-Id: Iac06b3cb79746ea720de8835b7bd1abb19149526
Closes #5001.
PiperOrigin-RevId: 192615586
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the .useShell method, expect callers to
just pass the shell interpreter if they need it.
This removes the argument vector transformation
heuristic, and stops shelling out to cmd.exe on
Windows.
Also remove the .setWorkingDir method because
callers always had to set the working directory.
Instead, the CommandBuilder constructor takes the
working directory.
Closes #2190. (Test code still shells out to
cmd.exe though.)
Closes #5007.
Change-Id: I545e01c811daaf34913cb585492923da81aa02ee
PiperOrigin-RevId: 192611370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SandboxedSpawn.copyOutputs.
Previously, if moveFile fell back to copying from a true rename (e.g., if the
move is across file systems), it would fully dereference the source and produce
a regular file at the output location. This CL fixes moveFile to properly copy
symlinks. Note we don't preserve metadata in the symlink case mostly because the
Bazel VFS has no API to write metadata without dereferencing symlinks. (But,
also, it's not important for the current use cases.)
This breaks the backward-compatibility of FileSystemUtils.moveFile and
FileSystemUtils.moveTreeBelow. This seems okay because the new behavior makes
more sense, and sandbox is the only consumer of these APIs.
Switching SandboxedSpawn.copyOutputs to use FileSystemUtils.moveFile rather than
Guava's Files.move fixes https://github.com/bazelbuild/bazel/issues/4987.
Closes #4989.
Change-Id: I0283e8aa11fadff5b0afd7bdfd0490aca12a1f6b
PiperOrigin-RevId: 192611227
|
|
|
|
|
|
|
|
|
| |
BuildConfiguration.Fragment#compatibleWithStrategy().
The experiment did not work out.
RELNOTES: None.
PiperOrigin-RevId: 192567832
|
|
|
|
|
|
|
|
| |
the ones in SkyframeExecutor, called once for each Root in the package path list. This ensures there is a single canonical ArtifactRoot for each source root.
It is still the case that every Package loaded has its own Root (https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/packages/Package.java;l=287?q=Package.java), which is a waste of memory, but because of the map inside ArtifactFactory introduced in this change, all Artifacts with the same logical source root share a single ArtifactRoot instance.
PiperOrigin-RevId: 192513819
|
|
|
|
|
|
|
|
|
|
|
| |
Add some required manifest support I didn't previously implement:
- Support for exports_manifest field
- Get properly processed manifest from AndroidSemantics
- Correctly represent the current relationship between manifest and resource
processing - resource processing uses the stamped manifest.
RELNOTES: none
PiperOrigin-RevId: 192508962
|
|
|
|
|
|
|
| |
StringModule is a special case in a number of places because it represents effectively methods which should be annotated on String.class. However, String may not be subclassed in Java. StringModule thus serves as a proxy module for String.
RELNOTES: None.
PiperOrigin-RevId: 192508607
|
|
|
|
|
|
| |
Action execution.
PiperOrigin-RevId: 192488641
|
|
|
|
|
| |
RELNOTES: Exposed "mnemonic" and "env" fields on skylark "Action" objects.
PiperOrigin-RevId: 192479783
|
|
|
|
|
|
|
|
|
|
| |
@SkylarkCallable.
@SkylarkSignature.parameters() treat named()=true for parameters regardless of whether named() was actually set to true, and thus for ease of migration we mark migrated parameters as legacyNamed() = true, which is currently semantically equivalent to named() = true.
We make a distinction so that it's easier to bulk fix these later.
RELNOTES: None.
PiperOrigin-RevId: 192477405
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
validate this key use case for remote Windows builds.
This is a working test case, but I plan to add more in this style to demonstrate fixes to address #4962.
Note that to run this test requires a build of Bazel that includes https://github.com/bazelbuild/bazel/commit/b4545ba2b1aa4079b09a346a6d441ffa1e1b7d20 since this changed the way runfile manifests are discovered. Bazel 0.11 doesn't include this.
RELNOTES: None.
PiperOrigin-RevId: 192444770
|
|
|
|
|
|
| |
now unused ConfigurationEnvironment#getBlazeDirectories()
PiperOrigin-RevId: 192443323
|
|
|
|
|
|
|
|
|
|
|
| |
This class is currently unused. In order to keep CL sizes down we introduce this class prior to using it in the spawn runners.
This class can manage an action's list of command lines and param files. For instance, SpawnAction will contain one of these instances (instead of keeping a single command line object and adding param file write actions to the action graph).
At spawn execution time, the spawn runners will use this class to resolve the list of command lines and param files into a master argument list + some number of param files that need to be written. The local spawn runners can simply write the param files using a helper. In the distributed cases the param files are ready-made VirtualActionInputs that can be added to the Spawn's other inputs.
RELNOTES: None
PiperOrigin-RevId: 192439501
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks exoblaze, and there's a better way how to move forward with this.
*** Original change description ***
Flip default value of --experimental_shortened_obj_file_path to true
RELNOTES:
Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default.
PiperOrigin-RevId: 192437958
|
|
|
|
|
|
|
|
| |
RELNOTES:
The `/` operator is deprecated in favor of `//` (floor integer division).
Try the `--incompatible_disallow_slash_operator` flag to ensure your code
is forward-compatible.
PiperOrigin-RevId: 192430310
|
|
|
|
|
|
|
|
|
|
|
| |
...so that a repository rule can access them in any order without being
restarted. Restarting a repository rule can be expensive, if it already
accessed the network or executed expensive commands.
Improves on #4533.
Change-Id: I618c25322511dab42a80c1dddb0798fc9aea3106
PiperOrigin-RevId: 192420257
|
|
|
|
|
|
|
| |
This is accomplished by moving it to ConfiguredRuleClassProvider. This also suggests a neat way to get rid of logic in ShellConfiguration.Loader() by moving the determination of the shell executable, there, too, but not in this change.
RELNOTES: None.
PiperOrigin-RevId: 192411609
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
breaks guitar tests
*** Original change description ***
Disallow labels of the form ////foo.
RELNOTES: Labels of the form ////foo are disallowed.
PiperOrigin-RevId: 192393660
|
|
|
|
|
|
| |
when there may not be a canonical instance of the object we want (or the canonical instance isn't available at registry construction time), but we can reasonably cheaply do value equality comparisons. Strings are a good example.
PiperOrigin-RevId: 192354865
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192350172
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 192337555
|
|
|
|
|
|
| |
getValueOrUntypedExceptions.
PiperOrigin-RevId: 192329649
|
|
|
|
|
| |
RELNOTES: Labels of the form ////foo are disallowed.
PiperOrigin-RevId: 192329081
|
|
|
|
|
|
|
|
| |
constants. A lot of care is needed here because we're using reference equality. I plan to add value-equality constants in a follow-up.
Add ImmutableSortedSet marshaller because I think it might have been needed, and hey, why not.
PiperOrigin-RevId: 192326359
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an action expresses a symlink as an input, the target of the symlink does
not necessarily appear as a file to map within the sandbox. This is a
problem when the target of the symlink is relative because sandboxfs would
expose the link verbatim and the target would be missing later on during
resolution.
To fix this, special-case the handling of symlinks: when trying to expose
them via a sandboxfs mount point, resolve their final target instead of
respecting the original contents. This loses the fact that the file was a
symlink when running within the sandboxfs sandbox, but is easier to
implement and slightly faster at runtime. We can reconsider this choice
if this causes problems.
RELNOTES: None.
PiperOrigin-RevId: 192325932
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192313667
|
|
|
|
|
|
|
|
|
|
|
| |
When using nested sets, we reuse sub-fingerprint computations by using the nested set key cache. map_each is supported.
All formats, before_each, join_with and so on are computed via adding a specific UUID to the fingerprint + the control string (eg. the format string) rather than performing the actual computation.
In legacy mode (existence of old map_fn), it falls back to trivial (and slow) fingerprint calculation.
RELNOTES: None
PiperOrigin-RevId: 192288783
|
|
|
|
|
|
|
| |
AFAIK all uses have been migrated to features, so they are not needed anymore.
RELNOTES: CppRules: optional_compiler_flag was removed from CROSSTOOL, use features instead.
PiperOrigin-RevId: 192277764
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the Python runfiles library from
`@bazel_tools//tools/runfiles:py-runfiles` to
`@bazel_tools//tools/python/runfiles:runfiles`
Also rename the testdata runfiles.py to foo.py.
This file was not a mock runfiles library, just a
client file using the runfiles library that was
also called runfiles.py
Fixes https://github.com/bazelbuild/bazel/issues/4878
Change-Id: I874b230c93679d4454ac91e816932c8272ecc5c7
Closes #4981.
Change-Id: I908e0ab7ec61225e82f70793b1a05432e7f0b07e
PiperOrigin-RevId: 192256481
|