| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
A subsequent CL makes TargetPatternKey implement SkyKey, and it's much nicer
if I can pass lists of TargetPatternKey to the various Skyframe APIs.
PiperOrigin-RevId: 162359843
|
|
|
|
|
|
|
| |
Part of #2219.
Change-Id: I5777e9b6cafbb7586cbbfb5b300344fd4417513d
PiperOrigin-RevId: 162359389
|
|
|
|
|
|
|
| |
Fixes https://github.com/katre/bazel/issues/4.
Change-Id: I664aaeb0d2aa4f36ecd0f1a5f13b5d7f25dcc8d6
PiperOrigin-RevId: 162355466
|
|
|
|
|
|
|
| |
This fixes the majority of Java test failures with --noexperimental_separate_genfiles_directory .
RELNOTES: None.
PiperOrigin-RevId: 162350591
|
|
|
|
|
|
| |
The sandbox execution strategies were not passing the timeout grace period specified via --local_termination_grace_seconds, resulting in process-wrapper defaulting to just 5 seconds and linux-sandbox not using any grace period at all, instead directly SIGKILLing the child on timeout.
PiperOrigin-RevId: 162349919
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic roll-forward of https://github.com/bazelbuild/bazel/commit/a76c94be7c56b93fc5a2f9ececfba7ac1f61f69c
which was rolled back in https://github.com/bazelbuild/bazel/commit/33cd68e18f554b98194b4ce924580d3333ab9217 due to
memory regressions.
In this commit:
- add @Nullable annotations to
CustomCommandLine.Builder.add* methods where it
makes sense
- add Preconditions.checkNotNull for non-nullable
arguments
- add emptiness checks for Iterables in
add(String, Iterable) style methods, to avoid
adding the argument when the Iterable is empty
and so the argument would not be followed by any
values
RELNOTES: none
PiperOrigin-RevId: 162349842
|
|
|
|
|
|
|
|
|
| |
Some implementations of expr(1) get confused if the first argument
is not an option argument but starts with a minus sign. To make this
script more portable, add an explict '--' argument, signaling "end of
options", which seems to be understood by most implementations.
PiperOrigin-RevId: 162349479
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162344071
|
|
|
|
| |
PiperOrigin-RevId: 162336470
|
|
|
|
|
|
|
| |
It was apparently created by me in May 2011. RIP.
RELNOTES: None.
PiperOrigin-RevId: 162334525
|
|
|
|
|
|
|
|
|
| |
directory.
This will probably need some more work so that there are no name clashes with e.g. Android output directory names, but let's take one step at a time.
RELNOTES: None.
PiperOrigin-RevId: 162328750
|
|
|
|
|
|
|
| |
We're parsing the target pattern before we create the SkyKey, so all callers of
the key creation also need to report this event.
PiperOrigin-RevId: 162326973
|
|
|
|
| |
PiperOrigin-RevId: 162325932
|
|
|
|
|
|
|
| |
genfiles directories.
RELNOTES: None.
PiperOrigin-RevId: 162325236
|
|
|
|
|
|
|
| |
We were previously duplicate-posting Postable events posted to the
Skyframe environment.
PiperOrigin-RevId: 162323598
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Does not work so well, see https://storage.googleapis.com/bazel/0.5.3/rc1/index.html
*** Original change description ***
Release script: generate the index.html from the commit message
Do not rely on the README.md anymore, because it relies on log
still existing forever on Jenkins. Incoming change will just provides
the log as a file that will be archived on GCS.
Change-Id: Ib962c249145d222bf9909070698c5d419b34db4c
PiperOrigin-RevId: 162321172
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Caused memory regression.
*** Original change description ***
CustomCommandLine.Builder: clean up its interface
In this commit:
- remove unused methods and classes
- turn CustomCommandLine.ArgvFragment into an
interface
- remove the
CustomCommandLine.TreeFileArtifactArgvFragment
abstract class; it only had one remaining
subclass
- add @Nullable annotations where nulls are fine
- add Precondition checks for non-nullable args
- simplify the interface by removing add* methods
that can be composed of other add* methods; this
makes it easier to see...
***
RELNOTES: none
PiperOrigin-RevId: 162320031
|
|
|
|
|
|
|
| |
but same sources
RELNOTES: None.
PiperOrigin-RevId: 162295421
|
|
|
|
| |
PiperOrigin-RevId: 162288376
|
|
|
|
|
|
|
| |
Instead of "object of type 'Target'" a representation of the
target can be used for improved readability.
PiperOrigin-RevId: 162267961
|
|
|
|
| |
PiperOrigin-RevId: 162263240
|
|
|
|
|
|
|
|
| |
Users of SkyQueryEnvironment ought to be able to shut down its executor
when they're finished with it.
RELNOTES: None.
PiperOrigin-RevId: 162262117
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162253101
|
|
|
|
|
|
|
| |
The option filters proto dependency can be removed from the OptionsParser. This is in response to option parser users that want to avoid the bazel-internal proto file in their dependencies.
RELNOTES: None.
PiperOrigin-RevId: 162249778
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162242575
|
|
|
|
|
|
|
|
| |
The page was incomplete and almost empty, and also redundant with
https://docs.bazel.build/versions/master/skylark/lib/globals.html#PACKAGE_NAME
RELNOTES: None.
PiperOrigin-RevId: 162234689
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162228252
|
|
|
|
|
| |
Change-Id: Idbbf4662b96508c40c6f530ce5609faa079f0976
PiperOrigin-RevId: 162218592
|
|
|
|
|
|
|
| |
It hasn't been used since a while.
RELNOTES: None.
PiperOrigin-RevId: 162215841
|
|
|
|
| |
PiperOrigin-RevId: 162210415
|
|
|
|
|
|
|
|
|
|
| |
Fixes #1852.
RELNOTES: None.
Closes #3370.
PiperOrigin-RevId: 162209884
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dynamically Configured Resource Filtering change 4/6
Add dynamic transitions for controlling resource filtering. These transitions
will be called in the next few reviews.
Specifically, one transition turns dynamically configured resource filtering
on, and updates the dynamically passed resource filter to contain the current
target's resource filtering settings. The other turns off dynamic filtering,
including removing all filtering settings and transitioning to
FilterBehavior.FILTER_IN_ANALYSIS.
We apply the appropriate transition in getTopLevelPatchTransition: if dynamic
filtering was not requested, no transition is made; if dynamic filtering was
requested but would not be appropriate (either because multiple top-level
targets would mean dynamic configuration would probably split the build graph,
or because no resource filters were provided so dynamically propagating them
would be a waste of time) we transition to static filtering, and, otherwise, we
continue to use dynamic filtering but preserve the current target's filtering
settings so they can be passed to its dependencies.
These transitions will actually be called in the next review.
RELNOTES: none
PiperOrigin-RevId: 162209042
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162205838
|
|
|
|
|
|
|
|
|
| |
SpawnAction on Windows.
RELNOTES: None.
Change-Id: I2d926447511dab5fb804051abdbef9031cb089be
PiperOrigin-RevId: 162201440
|
|
|
|
|
|
|
| |
We now have the ExtendedEventHandler, which is available in all the relevant
code paths, so we just post the event directly.
PiperOrigin-RevId: 162200923
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
It breaks examples/tutorial on ci.bazel.build [1] with error:
object of type 'Target' has no field 'objc'.
[1] http://ci.bazel.io/view/Dashboard/job/Tutorial/BAZEL_VERSION=HEAD,PLATFORM_NAME=darwin-x86_64/1023/console
*** Original change description ***
AppleBinary and AppleStaticLibrary no longer propagate unwrapped ObjcProvider.
This will prevent dependencies on apple_binary and apple_static_library from objc_library and other lower-level rules.
RELNOTES: None.
PiperOrigin-RevId: 162195726
|
|
|
|
| |
PiperOrigin-RevId: 162194755
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise it logs warnings that look like this:
170714 08:16:28.552:WT 18 [io.grpc.netty.NettyServerHandler.onStreamError]
Stream Error io.netty.handler.codec.http2.Http2Exception$StreamException:
Received DATA frame for an/ unknown stream 11369
As far as we can tell, these do not indicate any problem with the connection.
We believe they happen when the local side closes a stream, but the remote
side hasn't received that notification yet, so there may still be packets for
that stream en-route to the local machine. The wording 'unknown stream' is
misleading - the stream was previously known, but was recently closed. I'm
told upstream discussed this, but didn't want to keep information about
closed streams around.
PiperOrigin-RevId: 162194736
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add an id for logging; this allows us to correlate log entries for the same
spawn from multiple spawn runner implementations in the future
- add a prefetch method to the SpawnExecutionPolicy; better than relying on
the ActionInputPrefetcher being injected in the constructor
- add a name parameter to the report method; this is in preparation for a
single unified SpawnStrategy implementation - it's basically the last bit of
difference between SandboxStrategy and RemoteSpawnStrategy; they're otherwise
equivalent (if not identical)
PiperOrigin-RevId: 162194684
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit:
- deprecates PathListConverter
- removes ExistingPathListConverter because it was
not used in production, only tests
- deprecated List<Path> type flags that use
PathListConverter
- introduces new List<Path> type flags next to the
deprecated ones that use @Options.allowMultiple
and convert with PathConverter; the new and old
lists are concatenated, yielding the flag value
PathListConverter and all of its occurrences
should be removed after 2018-01-31 (about 6 months
from now, which is a safe enough timeframe for
everyone to upgrade Bazel so it uses the new-style
flags).
Reason for deprecation is that colon-separated
path lists don't work on Windows because paths
have colons in them.
Since the Android BusyBox is not intended to be
executed by users but by Bazel only, there's no
release notes necessary.
See https://github.com/bazelbuild/bazel/issues/3264
RELNOTES: none
PiperOrigin-RevId: 162193998
|
|
|
|
|
| |
Change-Id: Iaa957c8ad597c2f4fedb5beb4bd8bc4df89fdbe1
PiperOrigin-RevId: 162186695
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lower the chances of triggering #3360. Immediately before uploading
output artifacts, check if any of the inputs ctime changed, and if
so don't upload the outputs to the remote cache.
I profiled the runs on //src:bazel before vs. after the change; as expected, the
number of VFS_STAT increases by a factor of 180% (!), but, according to the profiler,
it adds less than 1ms to the overall build time of 130s.
PiperOrigin-RevId: 162179308
|
|
|
|
|
|
|
|
|
|
|
| |
Two cases:
- The upload succeeds and the Chunker consumes all its data and closes
the underlying data source.
- The upload fails and the Chunker doesn't close the data source, and
so we call reset() manually.
RELNOTES: None.
PiperOrigin-RevId: 162178032
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 162135034
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dynamically Configured Resource Filtering change 3/6
Resource filtering behaves somewhat differently when dynamically configured.
Resources obtained from dependencies will have already been filtered and do not
need to be filtered again. Resources that were filtered out do not need to be
tracked since resource processing will never receive a reference to them
anyway.
Also, to make builds where ResourceFilter is dynamically configured, add equals
and hashCode methods (otherwise, the configuration code throws a
NullPointerException) and a global output prefix (otherwise, conflicts can
occur).
To ensure that the global output prefix (and the ResourceFilter object itself)
is the same regardless of the ordering of filters in the android_binary, build
the filters into a set, not a list, and sort them as part of creating the
ResourceFilter object. This way, for example, objects built with filters
"en,fr", "fr,en", and "en,en,fr" will all end up equal.
Finally, rename the getFilteredResources method to better reflect its new role,
and improve the isPrefiltering method to not try to prefilter if there are no
filters.
Add tests for all of this, and helper methods for all of those tests, including,
most notably, a makeResourceFilter method that instantiates a ResourceFilter
similarly to how it is actually created outside of tests (rather than directly
calling the constructor) and a fake implementation of AttributeMap to support
this.
RELNOTES: none
PiperOrigin-RevId: 162099178
|
|
|
|
| |
PiperOrigin-RevId: 162039650
|
|
|
|
|
|
|
|
| |
for configuring additional Java compilation tools, which are
added as inputs to javac and turbine actions and available
for jvm_opts location expansion.
PiperOrigin-RevId: 162036912
|
|
|
|
|
|
|
| |
This will prevent dependencies on apple_binary and apple_static_library from objc_library and other lower-level rules.
RELNOTES: None.
PiperOrigin-RevId: 162013946
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dynamically Configured Resource Filtering change 2/6
We need to filter LocalResourceContainer for dynamically configured resource
filtering - it is an input to resource parsing for android_library targets.
Filter it appropriately.
Once it's being filtered, use it to build a filtered ResourceContainer, rather
than building an unfiltered ResourceContainer and then filtering it. This means
filtering gets done sooner, saving a bit of time and work, and isn't done
twice, which would just be bad.
To do this, we pass an unbuilt ResourceContainer.Builder into createApk, rather than a fully built one. Move the setAssetsAndResourcesFrom and setManifest calls to that builder, called every time, into createApk so that we only call them once.
Also, initialize the ResourceFilter object when it's needed, rather than pass
it down from the binary or library. This makes the code a bit cleaner, plus
means library targets will pick up the dynamically configured information once
that exists.
RELNOTES: none
PiperOrigin-RevId: 162007885
|
|
|
|
|
|
|
| |
Now that we have the options before calling beforeCommand, there's no need for
a separate handleOptions method in the BlazeModule API. Remove it.
PiperOrigin-RevId: 162002300
|