| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
The file can be generated during execution by a different rule.
RELNOTES:none
PiperOrigin-RevId: 185361140
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 185353994
|
|
|
|
|
|
|
|
|
|
| |
Context implementations are currently empty, just doing the plumbing in this
change. Once this is in we can start passing along the ObjectCodecRegistry, which
will allow runtime codec resolution for classes not known at compile time.
We'll also inevitably add some memoization helpers, allowing us to optimize the
serialization process further.
PiperOrigin-RevId: 185305674
|
|
|
|
|
|
|
|
|
| |
android_local_test generates and R.class file and so this is necessary for projects that don't nest their BUILD files under a java/ or javatests/ root.
Fixes #4618
RELNOTES: None
PiperOrigin-RevId: 185281836
|
|
|
|
|
|
|
| |
This matches the current behavior on Linux. When an extended attribute is not present on a file, getxattr on Linux returns ENODATA whereas getxattr on Mac returns ENOATTR. Previously, we were special casing ENODATA to not throw an exception but not ENOATTR. Now we treat them the same.
RELNOTES: None
PiperOrigin-RevId: 185157964
|
|
|
|
|
|
|
| |
This argument is unused and should be removed.
RELNOTES: None
PiperOrigin-RevId: 185147327
|
|
|
|
| |
PiperOrigin-RevId: 185143078
|
|
|
|
|
|
|
|
|
| |
script.
Accomplished by creating an explicit attribute for both of them on test actions.
RELNOTES: None.
PiperOrigin-RevId: 185132460
|
|
|
|
|
|
| |
Progress on #4608.
PiperOrigin-RevId: 185126689
|
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 185082719
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Path and PathFragment have been replaced with String-based implementations. They are pretty similar, but each method is dissimilar enough that I did not feel sharing code was appropriate.
A summary of changes:
PATH
====
* Subsumes LocalPath (deleted, its tests repurposed)
* Use a simple string to back Path
* Path instances are no longer interned; Reference equality will no longer work
* Always normalized (same as before)
* Some operations will now be slower, like instance compares (which were previously just a reference check)
* Multiple identical paths will now consume more memory since they are not interned
PATH FRAGMENT
=============
* Use a simple string to back PathFragment
* No more segment arrays with interned strings
* Always normalized
* Remove isNormalized
* Replace some isNormalizied uses with containsUpLevelReferences() to check if path fragments try to escape their scope
* To check if user input is normalized, supply static methods on PathFragment to validate the string before constructing a PathFragment
* Because PathFragments are always normalized, we have to replace checks for literal "." from PathFragment#getPathString to PathFragment#getSafePathString. The latter returns "." for the empty string.
* The previous implementation supported efficient segment semantics (segment count, iterating over segments). This is now expensive since we do longer have a segment array.
ARTIFACT
========
* Remove Path instance. It is instead dynamically constructed on request. This is necessary to avoid this CL becoming a memory regression.
RELNOTES: None
PiperOrigin-RevId: 185062932
|
|
|
|
|
|
|
| |
ExtendedEventHandler so we can get the target via the package manager during
rule dumps.
PiperOrigin-RevId: 185042522
|
|
|
|
|
|
| |
Closes #4609.
PiperOrigin-RevId: 185032751
|
|
|
|
| |
PiperOrigin-RevId: 185021810
|
|
|
|
|
|
|
|
|
|
|
| |
This is to prevent this error:
SEVERE: *~*~*~ Channel io.grpc.internal.ManagedChannelImpl-56 for target directaddress:///io.grpc.inprocess.InProcessSocketAddress@3ecbfba1 was not shutdown properly!!! ~*~*~*
Make sure to call shutdown()/shutdownNow() and awaitTermination().
TESTED=ran tests
RELNOTES: None
PiperOrigin-RevId: 185020683
|
|
|
|
|
|
|
|
| |
I moved it into DigestUtil preemptively in case we switch to binary instead of hex representation.
TESTED=manually
RELNOTES: None
PiperOrigin-RevId: 185007558
|
|
|
|
|
|
|
|
| |
This is an important regression, we will want to patch the fix into 0.10
TESTED=fixed unit test, with A/B testing
RELNOTES: Resolved an issue where a failure in the remote cache would not trigger local re-execution of an action.
PiperOrigin-RevId: 184991670
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 184985081
|
|
|
|
| |
PiperOrigin-RevId: 184983111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
Encore of https://github.com/bazelbuild/bazel/commit/f26e8694ae78599b3e2004e3360eaf3443fa53a6.
RELNOTES: None.
PiperOrigin-RevId: 184981106
|
|
|
|
|
|
|
|
|
|
| |
This partially solves the age old problem of how to find a codec for a value we
don't know the type of at compile time, and allows us to represent such values
on the wire more compactly. @AutoCodec's injecting codec should be able to make
use of this right away - we'll need to make an API change to the ObjectCodec
interface to allow the existing system to make use.
PiperOrigin-RevId: 184918173
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Has no effect, since one version violation does not use _deploy.jar/_filtered.jar.
*** Original change description ***
Filter out generated proto extension registry loader from instrumentation APK.
RELNOTES: None
PiperOrigin-RevId: 184918011
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 184915177
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 184909685
|
|
|
|
|
|
|
|
| |
CcToolchainFeatures.Variables.
We rephrase the nocopts filter from a Predicate<String> to a custom class, since AutoCodec cannot serialize a Predicate.
PiperOrigin-RevId: 184902162
|
|
|
|
|
|
|
| |
them with getConfiguredTargetAndTarget() so we can get rid of
ConfiguredTarget.getTarget() callers. This should be a test only change.
PiperOrigin-RevId: 184877255
|
|
|
|
| |
PiperOrigin-RevId: 184862552
|
|
|
|
| |
PiperOrigin-RevId: 184853464
|
|
|
|
|
|
|
|
| |
Suggestion from @angersson on GitHub: https://github.com/bazelbuild/bazel/issues/4068#issuecomment-347627252
GITHUB: https://github.com/bazelbuild/bazel/issues/4068
RELNOTES: Improved clarity of warning message for unsupported NDK revisions.
PiperOrigin-RevId: 184852316
|
|
|
|
| |
PiperOrigin-RevId: 184734801
|
|
|
|
|
|
|
|
| |
https://bugs.openjdk.java.net/browse/JDK-8066981
RELNOTES: None.
PiperOrigin-RevId: 184732576
|
|
|
|
|
|
|
|
|
|
|
|
| |
Filtering only in analysis was neglecting the possibility of resources being in
filesets, the contents of which are not available in analysis. As such, we must
*always* filter in execution, even though it's usually just going to be a
no-op.
Also, add some documentation of same.
RELNOTES: none
PiperOrigin-RevId: 184722564
|
|
|
|
|
|
|
|
|
| |
execution platforms.
Part of #4442.
Change-Id: I6678d57f4aaadcb19032bf58820606242ba66a25
PiperOrigin-RevId: 184707708
|
|
|
|
|
|
|
| |
should be shut down in BlazeCommandResult.
RELNOTES: None.
PiperOrigin-RevId: 184678994
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Try again with fixes.
*** Original change description ***
Automated rollback of commit 10b0d8aa6b73a024cc007c5e075cb329add878ef.
*** 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 arti...
***
PiperOrigin-RevId: 184661375
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 184649483
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 184619885
|
|
|
|
| |
PiperOrigin-RevId: 184587712
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
native skyframe implementation was actually quite incorrect in this case: It was adding a skyframe dependency on a FileValue for the output file. Without a transitive dependency on the source files and actions that determine the output file's state, this could never work (and explains why the incremental build would fail). Instead, we now depend on the Artifact corresponding to the output file instead.
This change updates the business logic RecursiveFilesystemTraversalFunction. This approach keeps the business logic of Fileset filesystem traversal centralized in RFTF.
To avoid making weird recursive Skyframe nodes in the output tree, we inline Skyframe dependencies and do direct filesystem operations over the output tree.
There are now three states we can be in when looking up a file:
1. Source file: As before, make a skyframe dep on the corresponding file
2. Top-level file of an output tree: Make a dep on the corresponding Artifact
3. Recursive file under an output directory: Do direct filesystem operations. It doesn't make sense to make Skyframe nodes corresponding to these files. In the future, I think we should consider failing fast on this case.
RELNOTES: None
PiperOrigin-RevId: 184556044
|
|
|
|
|
|
|
|
| |
essentially promote OwnedArtifact to ArtifactSkyKey and rename it to ArtifactSkyKey. The king is dead...
Also add some other execution-phase codecs.
PiperOrigin-RevId: 184552706
|
|
|
|
| |
PiperOrigin-RevId: 184540561
|
|
|
|
|
|
| |
SpecialArtifact.
PiperOrigin-RevId: 184539696
|
|
|
|
|
|
|
|
| |
We're now using ctime to detect file changes, so the timestamp granularity monitor should as well.
Unfortunately, we currently get nanosecond ctime from Linux, but then only return millis from FileStatus, so this doesn't change the accuracy of the monitor at all.
PiperOrigin-RevId: 184536539
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
child of the process where the Blaze client itself was run.
Limitations:
- Untested on Windows; it should work because ExecuteProgram() is implemented there, too, but since Windows doesn't support exec(), there is at least one process in between
Progress towards #2815.
RELNOTES[NEW]: The new "--direct_run" flag on "blaze run" lets one run interactive binaries.
PiperOrigin-RevId: 184528845
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 184498836
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 184492828
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 184411715
|
|
|
|
|
|
|
|
| |
either a Label or a List<Label>. We can easily enforce this through static type checking, so do it.
This will help with LateBoundDefault serialization, since we don't have to serialize an arbitrary object.
PiperOrigin-RevId: 184347100
|
|
|
|
|
|
| |
declaration.
PiperOrigin-RevId: 184304653
|
|
|
|
|
|
|
|
|
| |
Bazel completely swallowed errors in some cases, e.g., if the pattern is
invalid like bazel build foo//bar:baz.
Note that it previously silently ignored empty targets if --experimental_skyframe_target_pattern_evaluator was passed, and now fails (which is consistent with legacy behavior). This is an intentional change, but may break users who are using the experimental flag and are passing empty strings to Bazel.
PiperOrigin-RevId: 184282856
|