| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
to get the remote execution properties.
Fixes #4128.
Change-Id: I7e71caef2465204d2dd8225448d54e52366807e6
PiperOrigin-RevId: 179595126
|
|
|
|
| |
PiperOrigin-RevId: 179556225
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #4322, #4306.
*** Reason for rollback ***
Introduces a deadlock (see https://github.com/bazelbuild/bazel/issues/4322)
*** Original change description ***
Make FileSystem operate on LocalPath instead of Path.
PiperOrigin-RevId: 179549866
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179468685
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179448100
|
|
|
|
|
|
|
| |
Part of #4128.
Change-Id: Ic46d2db2017b6cf4c14a91653ab75b3381b80b5a
PiperOrigin-RevId: 179426362
|
|
|
|
| |
PiperOrigin-RevId: 179416493
|
|
|
|
|
|
|
|
| |
This is a partial rollback of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, only the CommandHelper change.
Progress on #2475.
PiperOrigin-RevId: 179413908
|
|
|
|
|
|
| |
If we are running with a single source root and not going to set up the execroot (since we know how to resolve all packages), we can avoid tracking loaded packages, since they're only used to set up the execroot.
PiperOrigin-RevId: 179234932
|
|
|
|
|
|
| |
Make sure all sentences are capitalised and end with a point
PiperOrigin-RevId: 179214070
|
|
|
|
| |
PiperOrigin-RevId: 179082062
|
|
|
|
| |
PiperOrigin-RevId: 179053724
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 179046403
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178946746
|
|
|
|
|
|
|
| |
Nonexistent artifact categories or categories that are not supported by the action config now throw InvalidConfigurationException instead of ExpansionException. This allows the checked exception to be caught and reported as a RuleErrorException in Analysis phase.
RELNOTES: None.
PiperOrigin-RevId: 178919727
|
|
|
|
| |
PiperOrigin-RevId: 178910168
|
|
|
|
|
|
| |
make cmdline and vfs depend on serialization. This allows a class to have a pointer to its codec, which simplifies automatic recursive composite codecs.
PiperOrigin-RevId: 178683500
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178609245
|
|
|
|
|
|
|
|
|
|
|
|
| |
MiddlemanFactory wants to check if the middleman inputs set is empty
or singleton. A NestedSet can answer both queries efficiently if the
right APIs are used.
My ultimate goal here is to avoid the expansion of runfiles artifacts
nested sets until execution.
Change-Id: I29a269df757ef41b1410bbb492cf24c926df6114
PiperOrigin-RevId: 178600943
|
|
|
|
|
|
| |
This implementation requires adding an interned list of LabelAndConfiguration objects to each RuleConfiguredTarget ('implicit' is an attribute describer, not a dep describer so filtering needs to happen while attribute information still exists).
PiperOrigin-RevId: 178411882
|
|
|
|
|
|
|
|
|
|
|
| |
This covers all builtins in classes that use SkylarkSignatureProcessor#configureSkylarkFunctions. Generally this means things you define with @SkylarkSignature.
It is now an error to call configureSkylarkFunctions multiple times for the same class. It should only be called in static initializers.
Runtime's static knowledge of builtins has been factored into Runtime.BuiltinRegistry.
RELNOTES: None
PiperOrigin-RevId: 178295926
|
|
|
|
|
|
|
|
| |
Let's not expose middlemen to Skylark if we can help.
RELNOTES[INC]: The ctx.middle_man function is not supported anymore.
PiperOrigin-RevId: 178226393
|
|
|
|
|
|
|
| |
1: Allow both in the same build (before, just one would trigger)
2: Don't check environment defaults from other groups, since neither
flag asserts any expectations on those groups
PiperOrigin-RevId: 178026699
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Context: java_import or other custom rules (genrules or Skylark) do not propagate coverage information. Coverage metadata is retrieved from the compilation information and it is passed around through providers as Artifact(s). The problem with the current implementation is that there is no way of retrieving instrumentation metadata from arbitrary jars provided by java_import or other custom rules.
--experimental_java_coverage solves the issue presented above ONLY for the java rules (has no effect for android/[]/etc).
Implementation details:
* For each build jar create a .txt file containing the relative path of each Java file. This file is included in the build jar. It is used for recreating the correct path for each covered file when included in the coverage report.
* java_binary/java_test will set 3 environment variables:
1) JACOCO_METADATA_JAR - in experimental mode will be a txt file containing all the jars considered for collecting coverage (JacocoCoverageRunner filters out the ones that don't have .uninstrumented.class files). In non-experimental mode will be a jar containing all the instrumented class files.
2) JACOCO_MAIN_CLASS - The main class to be called for the current coverage run. Previously this information was embedded in the JACOCO_METADATA_JAR's manifest.
3) JACOCO_JAVA_RUNFILES
RELNOTES: --experimental_java_coverage is available for testing.
PiperOrigin-RevId: 177941471
|
|
|
|
|
|
|
| |
Part of #4128.
Change-Id: Id822d3ae6f8daf7c92a75bd8bd28590d4f625845
PiperOrigin-RevId: 177905460
|
|
|
|
|
| |
RELNOTES: The --host_platform and --platform flags are no longer experimental.
PiperOrigin-RevId: 177863761
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, SymlinkTreeAction no longer needs to accept artifacts
as an input. --experimental_enable_runfiles now immediately reports an
error on Windows.
This mostly unwinds e4974e4cc6aeb437d36b3b36eb20142b7120fb16
("Separate runfiles middlemen into two layers") and
41f4456ac2348bef66739194853a1ddadcbb887e ("Make runfiles tree creation
on Windows depend on the artifacts of the actual runfiles."). See
https://groups.google.com/d/msg/bazel-dev/btOAgxv434g/bDhTOOePAgAJ.
Change-Id: Iac3308669bfc07abfd1c91445922269d8fdc2a26
PiperOrigin-RevId: 177837504
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a roll-forward of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, which broke some genrules, but without
some cleanup changes which I'm submitting separately, and with a fix for the
bug.
The problem was that I switched from withExecLocations(labels) to
withExecLocations(); the original code was in CommandHelper, and the new
code in GenRuleBase, so this was not obvious.
Also, we didn't have test coverage for this case - note that the specified
labels are _added_ to the default map of labels, rather than replacing the
default map of labels. This only matters if the dependent rule provides a
GenRuleSourcesProvider, which only a single (Google-internal) rule does.
PiperOrigin-RevId: 177802902
|
|
|
|
| |
PiperOrigin-RevId: 177708823
|
|
|
|
|
| |
RELNOTES: in the Label() function, relative_to_caller_repository is now deprecated.
PiperOrigin-RevId: 177443907
|
|
|
|
|
|
|
| |
This key context can be used by actions to share partial key computations, for instance when computing MD5s for nested sets.
RELNOTES: None
PiperOrigin-RevId: 177359607
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 177326265
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove BaseSpawn.Local; instead, all callers pass in the full set of
execution requirements they want to set
- disable caching and sandboxing for the symlink tree action - it does not
declare outputs, so it can't be cached or sandboxed (fixes #4041)
- centralize the existing execution requirements in the ExecutionRequirements
class
- centralize checking for execution requirements in the Spawn class
(it's possible that we may need a more decentralized, extensible design in
the future, but for now having them in a single place is simple and
effective)
- update the documentation
- forward the relevant tags to execution requirements in TargetUtils (progress
on #3960)
- this also contributes to #4153
PiperOrigin-RevId: 177288598
|
|
|
|
|
|
|
| |
behave as if this flag is true.
RELNOTES: None
PiperOrigin-RevId: 177219652
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These enums were only used inside the class and
only to slighlty improve readability.
The Tokenize enum was a simple boolean.
The Options enum was implementing two boolean
flags, and it improved call-site readability at
the cost of implementation-site readability and
checking if the value is set via set-containment.
Change-Id: I3858ff0c67f89c8b2c5631e260ce79cd939c6eb1
PiperOrigin-RevId: 177155294
|
|
|
|
|
| |
Change-Id: I4bcc7c0024646b7d4372464f5290375d41702429
PiperOrigin-RevId: 177150713
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop using LocationExpander.Options in
LocationExpander constructors, because the Options
semantics are confusing.
I also need the refactoring in order to extend the
expansion semantics: to support expanding to
absolute paths on Windows, where $(location)
should not expand to the (non-existent) runfiles
path, but to the absolute path the runfiles
symlink would point to.
See https://github.com/bazelbuild/bazel/issues/4171
Change-Id: Ie4d47ec3807bc3c6e39156efa1746b666f69f99c
PiperOrigin-RevId: 177147372
|
|
|
|
|
|
|
| |
I can't find whether ctx.run() actually exists. https://docs.bazel.build/versions/master/skylark/lib/ctx.html implies it doesn't.
RELNOTES: None.
PiperOrigin-RevId: 177005229
|
|
|
|
|
|
|
|
|
|
| |
Add CompactSkylarkInfo, which stores its values as an array instead of
a map. The space savings will probably not be dramatic because
providers usually have a limited amount of keys. But, there are a lot
of them!
Change-Id: Idd452a5e3982f773b1c5202c73f3d7031ec022c6
PiperOrigin-RevId: 176995376
|
|
|
|
|
|
|
| |
Part of #4128.
Change-Id: I1e043e7290912de5b246dbb8748cb2ad865ce38c
PiperOrigin-RevId: 176664440
|
|
|
|
|
|
|
|
|
| |
Currently we don't care about the list order of SpawnResults. However, we may care about the list order later. Also, if the equals() method for SpawnResults is ever changed then it may be problematic to return SpawnResults in a Set.
Aside: ActionResults use SpawnResults to calculate cumulative execution times for Actions, and may provide other metrics in future.
RELNOTES: None.
PiperOrigin-RevId: 176579460
|
|
|
|
|
|
|
|
|
| |
cycles when loading platforms.
Part of #4128.
Change-Id: Ie55a91aaaec15d8eb537f59131fc2e69a8f9c251
PiperOrigin-RevId: 176509311
|
|
|
|
|
|
|
|
|
|
| |
This is needed for the ability to synthesize the correct remote
execution protos from a platform rule.
Part of #4128.
Change-Id: I7fa8acf45642a4df4e2beb1ba9c57c2536670486
PiperOrigin-RevId: 176504885
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is applying the version 1.1 of the specification (https://reproducible-builds.org/specs/source-date-epoch/)
where the only timestamp that Bazel puts in the final targets is overridden by the value of SOURCE_DATE_EPOCH.
This change also remove the legacy SOURCE_DATE_EPOCH handling which wasn't really following
the spec.
Note that Bazel itself tries hard to remove all timestamps from intermediary binaries and
overridde SOURCE_DATE_EPOCH in most action, which is a not according to the version 1.0 of the spec
but according to the expected change for version 1.1.
RELNOTES: SOURCE_DATE_EPOCH (https://reproducible-builds.org/specs/source-date-epoch/) can
be used to override the timestamp used for stamped target (when using --stamp).
Fixes #2240.
Change-Id: I074e7905fa6745cc706f7391340aeae9188909ca
PiperOrigin-RevId: 176489717
|
|
|
|
| |
PiperOrigin-RevId: 176006176
|
|
|
|
| |
PiperOrigin-RevId: 175832159
|
|
|
|
|
| |
Change-Id: If8f4c75b65d5654703a68fe70277dc597773c85d
PiperOrigin-RevId: 175737062
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Google-internal targets, sadly.
*** Original change description ***
Ban middlemen from runfiles artifacts.
Previous changes have removed all middlemen from runfiles
artifacts. This CL locks it down and removes various now-redundant
*WithoutMiddlemen() methods from Runfiles.
I put a check for middlemen in ConflictChecker.put, which should be a
chokepoint for runfiles artifacts. It's unfortunate we can't detect
middlemen earlier than execution, but I can't see a way to efficiently
check every runfiles artifact earlier.
Cha...
***
RELNOTES: None.
PiperOrigin-RevId: 175650018
|
|
|
|
|
|
| |
configuration.
PiperOrigin-RevId: 175532550
|
|
|
|
|
|
|
|
|
|
| |
runs_per_test allows multiple argument instances, because there's an
option of using a per-label regex format.
Unlike most such flags, earlier instances of the flag were dominating
later ones.
PiperOrigin-RevId: 175530675
|