| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This commit closes #3256.
Closes #4971.
PiperOrigin-RevId: 192429422
|
|
|
|
|
|
|
| |
Not a lot of chance that this will accidentally get used for something, but let's keep our house tidy.
RELNOTES: None.
PiperOrigin-RevId: 192426276
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192425838
|
|
|
|
|
|
|
|
|
|
|
| |
...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: 192349971
|
|
|
|
|
|
|
| |
This is essentially the same as https://github.com/bazelbuild/bazel/commit/3a7b8bc2abeaf8b8647c037bed1dd5fd73b8392b.
RELNOTES: none.
PiperOrigin-RevId: 192342039
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 192337555
|
|
|
|
|
|
| |
getValueOrUntypedExceptions.
PiperOrigin-RevId: 192329649
|
|
|
|
|
| |
RELNOTES: Labels of the form ////foo are disallowed.
PiperOrigin-RevId: 192329081
|
|
|
|
|
|
|
|
|
| |
The was that the presence of invalid dependency edges would incorrectly cause 'allrdeps' to not visit targets. Concrete example: if --nohost_deps was set and T1 depended on T via a host edge and T2 depended on T via a non-host edge then 'allrdeps(T)' might incorrectly not contain T2.
Along with fixing the bug, refactor ParallelVisitor's deduping logic: instead of deduping visitations inside #getVisitResult, dedupe them before adding them to #processingQueue. This should be a strict, small, performance win, especially for trivial visitations (e.g. RBuildFilesVisitor).
RELNOTES: None
PiperOrigin-RevId: 192327607
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 192325937
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 192298198
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
refactorings of Target and BuildConfiguration out of ConfiguredTarget. Also use fully qualified imports as per style guide, since RuleConfiguredTargetFactory.java is in lib:build-base, and so has access to all the things.
PiperOrigin-RevId: 192288463
|
|
|
|
|
|
|
|
|
| |
- New lock introduced around Node.succs and Node.preds. These locks always hold in direction Node.succs -> Node.preds that's why reordering deadlock never happens.
- All logic related to changing collection implementation from ArrayList to CompactHasSet and vise versa encapsulated in dedicated class ConcurrentCollectionWrapper.
- Remove some code related to removing node from DiGraph to Node.
RELNOTES:none
PiperOrigin-RevId: 192282628
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192274504
|
|
|
|
|
|
|
|
| |
Fixes #4976, #4935
Closes #4991.
PiperOrigin-RevId: 192269206
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Closes #4986.
Change-Id: I81bbec801116ec1f45416bba7a724d7f00b9b00c
PiperOrigin-RevId: 192253687
|
|
|
|
|
|
|
|
|
| |
option.
It was used for a migration, which is now done.
RELNOTES: None.
PiperOrigin-RevId: 192246659
|
|
|
|
|
|
|
| |
Also rename it to a separate function since boolean args are vague.
RELNOTES: None
PiperOrigin-RevId: 192201308
|
|
|
|
|
|
|
|
|
| |
parity with @SkylarkSignature.
This is necessary for several builtin functions that still use @SkylarkSignature, such as string format. These will be migrated in a future CL.
RELNOTES: None.
PiperOrigin-RevId: 192200282
|
|
|
|
|
|
|
|
| |
necessary for the call to close correctly (e.g. for listeners to receive Status/trailers).
RELNOTES:
PiperOrigin-RevId: 192185329
|
|
|
|
|
|
|
|
|
| |
one_version_whitelist attribution on the java_toolchain.
Fixes bazelbuild/bazel#4682
RELNOTES: n/a
PiperOrigin-RevId: 192181587
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192178973
|
|
|
|
|
|
| |
JavaBuilder processor exemption list instead of disabling strict deps for the affected rules outright. This narrows the degree to which the exemption is applied, and prevents other strict deps violations from accruing on targets that enable databinding.
PiperOrigin-RevId: 192176621
|
|
|
|
| |
PiperOrigin-RevId: 192167264
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In earlier changes, I introduced an idealised manifest processing pipeline that
has no relation to what's currently being used. Instead, we should start with
independent manifest processing that keeps the current behavior. We can migrate
to new functionality later, time permitting.
Keep some methods that will be the basis for a reasonable decoupled manifest
processing implementation.
RELNOTES: none
PiperOrigin-RevId: 192164028
|
|
|
|
| |
PiperOrigin-RevId: 192158825
|
|
|
|
| |
PiperOrigin-RevId: 192155942
|
|
|
|
| |
PiperOrigin-RevId: 192153123
|
|
|
|
|
|
|
|
|
| |
Apparently, I was using a flawed strategy to compute the filtered resource root
paths. Instead, just recalculate those roots from scratch, replicating the
behavior that existed before the change that caused problems.
RELNOTES: none
PiperOrigin-RevId: 192152306
|
|
|
|
|
|
|
| |
Adding tests for unknown commit since the submission of the fix had to happen quickly.
RELNOTES: None
PiperOrigin-RevId: 192139135
|
|
|
|
| |
PiperOrigin-RevId: 192137803
|
|
|
|
|
|
| |
Errors are related to missing headers from C++ dependencies.
PiperOrigin-RevId: 192132907
|
|
|
|
|
|
|
| |
This was broken for --config. Doing this properly requires keeping the order in which the options were given, which could be done either by filtering the ordered list according to which values affect the final outcome or by tracking the order correctly. I picked the later: the option order was not explicitly tracked for expansions before but now it is.
RELNOTES: canonicalize-flags no longer reorders the flags
PiperOrigin-RevId: 192132260
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fdo_profile rule allows specifying architecture-sensitive fdo profiles.
This is especially important in multi-architecture builds.
Currently the profiles can only be labels of input files, but later on a way to support absolute files for profiles will be added.
Example:
fdo_profile(
name = "profile",
profile = select({
":k8" : "//path/to/some/profile.zip",
":ppc": "//path/to/some/other/profile.afdo",
}),
)
config_setting(
name = "k8",
values = {
"cpu": "k8",
},
)
config_setting(
name = "ppc",
values = {
"cpu": "ppc",
},
)
RELNOTES: Introduce fdo_profile rule that allows architecture-sensitive specification of fdo profiles.
PiperOrigin-RevId: 192125371
|
|
|
|
|
|
|
|
| |
This fixes a bug introduced by https://github.com/bazelbuild/bazel/commit/eba28176a97a0d0ddf2d1ef8505d37f392a2c363. While at it I also brought
output_execpath back to its previous behavior - not exposed for lto indexing.
RELNOTES: None
PiperOrigin-RevId: 192119904
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we still recommend to name repositories in canonical way, a canonical way
can not always be ensured, e.g., if different versions of the same external
repository have to be used. Our design for upcoming renaming repositories honors
this observation. So remove the old warning about the name in an external
repository's WORKSPACE file not matching the name given to it in the global
WORKSPACE file; we certainly will not make this an error in the future.
Change-Id: I5eef92ec61dc81d25734d71187a635024630322c
PiperOrigin-RevId: 192114195
|
|
|
|
|
|
|
|
| |
Fixes https://github.com/bazelbuild/bazel/issues/4409
Closes #4522.
PiperOrigin-RevId: 192112573
|
|
|
|
|
|
|
|
|
| |
encoding the same in ConfiguredRuleClassProvider.
This is a step towards dumbing down BuildConfiguration.Fragment and the ConfigurationFactoryLoader, which is in needed so that we can rewrite C++/Java/Python rules in Skylark without having to introduce the concept of "configuration loader" in Skylark, too.
RELNOTES: None.
PiperOrigin-RevId: 192104912
|