| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
java.util.function.Predicate and move some code that was only called by TestFilter inside it.
PiperOrigin-RevId: 182884550
|
| |
|
|
|
|
|
|
| |
Fixes bazelbuild/bazel#4483
PiperOrigin-RevId: 182847474
|
|
|
|
|
|
| |
have already been changed to ConfiguredTargetAndTarget so there's fewer classes than I thought there would be.
PiperOrigin-RevId: 182839243
|
|
|
|
| |
PiperOrigin-RevId: 182837838
|
|
|
|
|
|
|
|
| |
Unfortunately, the getTag() function explicitly fails when it encounters a DTD
item, so we need to do a bit of custom handling instead.
RELNOTES: none
PiperOrigin-RevId: 182821046
|
|
|
|
|
|
|
|
|
| |
Bazel help output will now use the new categories by default, including for the generated html documentation at https://bazel.build/versions/master/docs/command-line-reference.html
Issue #3758 - this switches to the new categories, but the grouping is still by command, which leads to duplicate options
RELNOTES: None
PiperOrigin-RevId: 182815006
|
|
|
|
|
|
|
| |
Fixes #4170.
Change-Id: I308ee17eb769dcc6a94b90b1dd6cc2ccbe14e968
PiperOrigin-RevId: 182807196
|
|
|
|
|
|
|
| |
The idea is that rule sets should record what builtin providers (types, not instances) they use, as opposed to having a static registry the way we do for @SkylarkSignature builtins. (It'd be nice for the latter to not be static one day.)
RELNOTES: None
PiperOrigin-RevId: 182802492
|
|
|
|
| |
PiperOrigin-RevId: 182796843
|
|
|
|
|
|
|
| |
Part of #4442.
Change-Id: I49d6d851787727739f50348df2e2ef48392af479
PiperOrigin-RevId: 182795733
|
|
|
|
|
|
|
| |
This will serve as an alternative to --batch, leaving behind a server without state from the previous build.
RELNOTES: Introduces --[no]keep_state_after_build
PiperOrigin-RevId: 182778500
|
|
|
|
|
|
|
|
|
|
| |
Currently, we insist on all archives we download being compressed. But
technically, there is no reason compression is needed; handling plain
tar archives is no more complicated. So add that option as well; at the
very least, it makes testing more easy.
Change-Id: I1fddc95d5c80d195eb900ab74bf6403484f61da7
PiperOrigin-RevId: 182777193
|
|
|
|
|
|
|
|
| |
Regress on #3360.
We have reports of Bazel outputting warnings for generated files, which I have been able to reproduce. Apparently, Bazel gets stuck with an old FileContentsProxy for generated files, and is unable to recover.
PiperOrigin-RevId: 182772324
|
|
|
|
| |
PiperOrigin-RevId: 182767783
|
|
|
|
|
|
|
| |
Part of #4442.
Change-Id: I6debbf7cfdf560d2113e736176702c2cd889c0d2
PiperOrigin-RevId: 182763864
|
|
|
|
|
|
| |
owner and fix up BuildConfigurationValue.Key. ConfiguredTargetKey is going to need some modifications to AutoCodec: probably the long-awaited static "create" method.
PiperOrigin-RevId: 182630181
|
|
|
|
|
|
|
|
|
|
|
| |
Just shuffling code in the build() method to simplify future review.
1. Reuse result of getRootRelativePath()
2. Delay linkerInputs generation
3. allowLtoIndexing ? thinltoParamFile : null -> thinltoParamFile
it must be null if indexing is not allowed
RELNOTES: None
PiperOrigin-RevId: 182626938
|
|
|
|
|
|
|
| |
https://google.github.io/styleguide/javaguide.html#s3.4.2.1-overloads-never-split
RELNOTES: NONE.
PiperOrigin-RevId: 182626819
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 182579590
|
|
|
|
|
|
| |
into processRequest method in BuildTool. This is an extension of CL/181816980 and prevents pollution of BuildRequest.
PiperOrigin-RevId: 182576704
|
|
|
|
|
|
|
|
| |
into output files one by one this mostly means that we can start writing the next file while the previous one is still finishing up, and can read and write in parallel.
RELNOTES: None.
PiperOrigin-RevId: 182570961
|
|
|
|
| |
PiperOrigin-RevId: 182568806
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 182566009
|
|
|
|
|
|
| |
Also add a new appendFile method on Scratch.
PiperOrigin-RevId: 182558199
|
|
|
|
|
|
|
|
| |
constructor of a LanguageDependentFragment to use an ImmutableSet instead of a
HashSet.
RELNOTES: None.
PiperOrigin-RevId: 182555522
|
|
|
|
|
|
|
| |
An upcoming replacement to PathFragment will not have efficient segment semantics, causing code to become unnecessarily inefficient.
RELNOTES: None
PiperOrigin-RevId: 182553098
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 182546239
|
|
|
|
|
|
| |
This makes it clearer that the path fragments in question are relative *to the root*. Confusingly, when the root is absolute, the root relative fragment is also absolute. This makes it a tiny bit clearer that the path fragment may be absolute.
PiperOrigin-RevId: 182544893
|
|
|
|
|
|
|
| |
Part of #4442.
Change-Id: Ie263be75b85635717aa5670cf059891e644dfaee
PiperOrigin-RevId: 182537464
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 182528996
|
|
|
|
|
|
| |
path class.
PiperOrigin-RevId: 182526427
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks C++ on gcc 4.8.4 (specifically, TensorFlow: https://github.com/bazelbuild/bazel/issues/4474)
Fixes #4474
*** Original change description ***
When linking mostly-static Linux binaries, link libstdc++.a explicitly.
This allows libstdc++ to be statically linked, which is normally only
possible when invoking GCC as `g++` with the `-static-libstdc++` flag.
Fixes https://github.com/bazelbuild/bazel/issues/2840
See https://github.com/envoyproxy/envoy/issues/415 for additional
background and context.
cc @htuch (for Envoy) and @calpeyser @hlopko (who I talked to earlier about this)...
***
RELNOTES: None.
PiperOrigin-RevId: 182519445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Local execution has an inherent race condition: if a user modifies a file while an action is executed, then it is impossible for Bazel to tell which version of the file was actually read during action execution. The file may have been modified before or after the tool has read it, or, in the worst case, the tool may have read both the original and the modified version. In addition, the file may be changed back to the original state before Bazel can check the file, so computing the digest before / after may not be sufficient.
This is a concern for both local and remote caches, although the cost of poisoning a shared remote cache is significantly higher, and is what has triggered this work.
Fixes #3360.
We solve this by keeping a reference to the FileContentsProxy, and using that to check for modificaitons before storing the cache entry. We output a warning if this check fails.
This change does not increase memory consumption; Java objects are always allocated in multiples of 8 bytes, we use compressed oops, and the FileArtifactValue currently has 12 bytes worth of fields (excl. object overhead), so adding another pointer is effectively free.
As a possible performance optimization on purely local builds, we could also consider not computing digests at all, and only use the FileContentsProxy for caching.
PiperOrigin-RevId: 182510358
|
|
|
|
|
|
|
| |
...as it breaks shell tests
Change-Id: I191ec7c0f36832ff064af0b756a8c8fb41eb2a87
PiperOrigin-RevId: 182509548
|
|
|
|
| |
PiperOrigin-RevId: 182461095
|
|
|
|
|
|
|
| |
nonconfigurable.
RELNOTES: generator_* attributes are nonconfigurable.
PiperOrigin-RevId: 182443578
|
|
|
|
|
|
| |
Also add accessor to SkylarkInfo for the custom error message, and expose its concrete implementation classes for the benefit of reflection.
PiperOrigin-RevId: 182443146
|
|
|
|
|
|
|
|
| |
BaseRuleClasses.DYNAMIC_TRANSITION_MAP.
This leaves DATA as the last remaining legacy transition.
PiperOrigin-RevId: 182422552
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/6f35e2d81a4d10359d39643bd03887d1b87f4224.
RELNOTES: None
PiperOrigin-RevId: 182415982
|
|
|
|
|
|
|
| |
* Use an enum instead of booleans and null fields having special meaning.
* Remove the exec root from ArtifactRoot. This is only used to calculate artifact exec paths, which can be done from the root's exec path and the root relative path.
PiperOrigin-RevId: 182411710
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, aar_import.deps only worked for resource files and
aar_import.exports worked for both resource files and Java. Now,
aar_import.deps works for both as well with the same semantics as exports. This
is not ideal, but it is how java_import.deps currently works.
Fixes https://github.com/bazelbuild/bazel/issues/4472
RELNOTES: None
PiperOrigin-RevId: 182405741
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
incomplete deps that need to be removed, and
these deps are currently duplicated in the NodeEntry's newly requested deps
GroupedList.
Also add a fast-path to GroupedListHelper#remove(List<Object> elements, Set<E> toRemove) for the incredibly common case where toRemove is empty. This saves a wasteful O(elements.size()) scan over elements. This method is unconditionally called each time a SkyFunction restart causes us to add new direct deps (with elements=<the new direct deps> and toRemove=<unfinished direct deps>); in the case where there are a ton of new direct deps, this scan entails wasted cpu and gc churn. The bug only occurs in uncommon case that there are deps to remove.
The bug has existed since GroupedList was first introduced into the codebase.
In Skyframe-land, this is only observable in nokeep_going mode because in keep_going mode "we
do not let SkyFunctions throw errors with missing deps" (quote from
comment in AbstractParallelEvaluator).
A Bazel-on-Skyframe-land example how this bug could occur in practice is PackageFunction's Skyframe hybrid globbing. If an io error is encountered during legacy globbing, the PackageFunction eagerly throws a SkyFunctionException but it has already requested the Skyframe GlobValue deps.
RELNOTES: None
PiperOrigin-RevId: 182403943
|
|
|
|
|
|
|
|
| |
An absolute root accepts any absolute path fragments and simply returns it.
This concept replaces the FileSystem root directory concept.
PiperOrigin-RevId: 182400471
|
|
|
|
| |
PiperOrigin-RevId: 182396321
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 182390511
|
|
|
|
|
|
|
| |
an IOException is encountered from a Globber. The io error may have been encountered during evaluation of one of the 'excludes' patterns.
RELNOTES: None
PiperOrigin-RevId: 182390180
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 182389876
|
|
|
|
|
|
|
|
| |
SkylarkAspectLoadingKey.
Also add a @VisibleForSerialization annotation to @AutoCodec, since we're going to need to increase serialization visibility a lot here, and clean up some unnecessary modifiers.
PiperOrigin-RevId: 182389162
|
|
|
|
|
|
|
|
|
|
|
|
| |
container, ConfiguredTargetAndTarget, that can be used to access Targets, and deprecate ConfiguredTarget#getTarget. ConfiguredAndTargetObjects are intended to be limited in scope, not being persisted to Skyframe.
The eventual plan is to remove the target field from ConfiguredTarget.
This CL is mostly straightforward, except for dealing with AliasConfiguredTargets, which cause some complications.
A significant cleanup is still needed before #getTarget can be removed, but I don't see any impossible blockers. We will may still need to store a Target-like object in ConfiguredTarget (that has the RuleClass, or at least a string representation of it, for instance), but that will let us avoid storing a full Target together with its associated Package.
PiperOrigin-RevId: 182371566
|