| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105214382
|
|
|
|
|
|
|
|
|
|
| |
The loadingPhaseRunner is stateless, and moving it prevents accidentally
adding state to it. The TargetPatternEvaluator is not stateless, but is
currently retained by the SkyframePackageManager, so we still keep that state
across invocations (see follow-up CL).
--
MOS_MIGRATED_REVID=104187659
|
|
|
|
|
|
|
| |
Remove a lot of now-unused Reporter parameters.
--
MOS_MIGRATED_REVID=104100061
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This limits the exposure of LoadedPackageProvider, such that there will be
no regressions in the use of getLoadedTarget. Unfortunately, fully removing
LoadedPackageProvider is more work than I'm willing to take on right now, and
this is the cleanest intermediate solution I could come up with.
This unblocks my other work (removing SkyframeExecutor.errorEventHandler).
Someone else will have to shave this yak.
--
MOS_MIGRATED_REVID=103943375
|
|
|
|
|
|
|
|
|
|
|
| |
The headers were modified with
`find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'`
And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan.
The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand.
--
MOS_MIGRATED_REVID=103938715
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103850879
|
|
|
|
|
|
|
| |
Removes mutable global state.
--
MOS_MIGRATED_REVID=103837106
|
|
|
|
|
|
|
|
|
| |
Instead, pass an appropriate EventHandler instance in. This is in preparation
for creating a per-command EventHandler, in preparation for allowing multiple
commands to run in parallel. This is removal of shared global state.
--
MOS_MIGRATED_REVID=103828963
|
|
|
|
|
|
|
| |
Also change some calls to getLoadedTarget to getTarget instead.
--
MOS_MIGRATED_REVID=103755023
|
|
|
|
|
|
|
|
|
|
| |
- Label parsing can be simplified
- lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things
This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change.
--
MOS_MIGRATED_REVID=103527877
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103376668
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103374106
|
|
|
|
|
|
|
|
|
|
| |
This change makes it so commands are no longer both stored in the BlazeRuntime
and in the BlazeCommandDispatcher. Instead, they are only stored in
BlazeRuntime and usually passed there during construction. We have some tests
where this is tricky, so I'm keeping the old code path for now.
--
MOS_MIGRATED_REVID=103364581
|
|
|
|
|
|
|
|
| |
They are usually on the same line, so doing this in separate changes can cause
merge conflicts.
--
MOS_MIGRATED_REVID=103362797
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I was persuing the idea that BuildView could become stateless. While that
should be possible, we're currently still relying on minimal state in
BuildView (from tests at least) in a way that makes it tricky to remove.
Instead, I'm now trying to move the BuildView into CommandEnvironment, and
create a new one as needed (only for build commands); that makes it safe in the
presence of concurrently running commands, as long as they don't use the same
BuildView instace. (Of course, allowing commands to run concurrently will need
more changes outside of BuildView.)
--
MOS_MIGRATED_REVID=103279370
|
|
|
|
|
|
|
|
| |
The main piece is the blaze module environment, which is only valid during
command execution. Also configuration creation and precompleteCommand.
--
MOS_MIGRATED_REVID=103186467
|
|
|
|
|
|
|
| |
evaluation, test_suite expansion and configuration creation is still there). Also remove some unused code.
--
MOS_MIGRATED_REVID=103177839
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103175472
|
|
|
|
|
|
|
|
| |
The very long term plan is to make BlazeRuntime immutable, so that we can
run multiple commands in the same server.
--
MOS_MIGRATED_REVID=103080946
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=102584924
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=102498501
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=102339394
|
|
|
|
|
|
|
| |
SkyFunction#compute calls.
--
MOS_MIGRATED_REVID=102268773
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=102239051
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101809192
|
|
|
|
|
|
|
|
| |
This is necessary to have TargetResolver depend on it without making it depend
on the packages target. First step of #389.
--
MOS_MIGRATED_REVID=101790345
|
|
|
|
|
|
|
|
|
| |
BlazeRuntime#recordLastExecutionTime. Also add @Nullable annotations as appropriate.
Fixes #394.
--
MOS_MIGRATED_REVID=101685096
|
|
|
|
|
|
|
| |
The wording of the help text is somewhat awkward, but we cannot mention "Bazel" explicitly because the string "Bazel" comes from Constants.java .
--
MOS_MIGRATED_REVID=101664076
|
|
|
|
|
|
|
|
|
| |
is Linux, do real auto-detection whether it is supported on the host or not and enable / disable it based on the result.
The warning that is printed when the Linux kernel is too old to support sandboxing can be disabled via a flag.
--
MOS_MIGRATED_REVID=101461120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The EvaluationProgressReceiver#evaluated method took a SkyValue,
but that parameter was only used by some of its implementations,
and only under some conditions.
Outside of tests, the main users are SkyframeBuildView's
ConfiguredTargetValueInvalidationReceiver and SkyframeBuilder's
ExecutionProgressReceiver.
The former builds up a set of built ConfiguredTarget keys when the
SkyValue is non-null and the EvaluationState is BUILT, and so its
nullity check can live behind those two conditions.
The latter cares about builting up a set of ConfiguredTargets, and
raising events on the eventBus when a TARGET_COMPLETION or
ASPECT_COMPLETION value is evaluated and is non-null. The extraction
of these values can live behind the conditions that check the type of
the SkyKey.
By making the SkyValue parameter lazy, this change enforces that it's
only accessed under these conditions.
This CL introduces a semantic change that should be small in effect.
The SkyframeBuildView keeps track of a set, dirtiedConfiguredTargetKeys,
and ConfiguredTarget keys evaluated as CLEAN were removed from it if
they had a non-null value. With this change, ConfiguredTarget keys
evaluated as CLEAN get removed regardless of whether their values are
null or non-null. The set is used to determine whether artifact conflict
search has to be rerun, and the extra removals that result from this CL
could cause fewer artifact conflict searches to run, but the only
affected searches would be those that were caused by dirtied configured
target values in error all of which were subsequently marked as clean,
which is probably rare.
--
MOS_MIGRATED_REVID=101144655
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101118095
|
|
|
|
|
|
|
|
|
|
| |
Ref equality for same-name SkyFunctionNames is not guaranteed. These
were some instances I missed in my previous sweep. I searched for
references to the SkyFunctions and SkyFunctionNames classes throughout
the project to catch these remaining instances.
--
MOS_MIGRATED_REVID=101061352
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101033236
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100317285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The primary user of invalidation tracking is the SkyframeBuildView,
which monitored which ConfiguredTargetValues were invalidated. It
did that so the SkyframeExecutor could limit its search for artifact
conflicts to when the set of configured targets in the build changed.
For the newly introduced set of dirtied keys,
"dirtiedConfiguredTargetKeys" in SkyframeBuildView, to be as useful as
the "dirtyConfiguredTargets" set it replaced, the
ConfiguredTargetValueInvalidationReceiver must only remove a key from
the set if it was found to be clean when it was re-evaluated. If it
was rebuilt, then the key must stay in the set, to represent that the
set of configured target values has truly changed.
This CL introduces a semantic change that hopefully has a small effect,
if any. Previously, the informInvalidationReceiver method in
InvalidatingNodeVisitor only informed the invalidationReceiver when a
non-null value was invalidated. (This is usually, but not always,
equivalent to a non-error value. The uncommon exception is that in
keep-going builds, some nodes with errors may also have values, and
the invalidator would inform the receiver when such a node was
invalidated.) Now, the receiver is informed that a node is invalidated
regardless of whether its value is null. Because the receiver uses this
information to determine whether artifact conflict search has to be
rerun, and that search is expensive, it's possible this change will
negatively impact performance. However, the only way an extra search
could be invoked is if the invalidated configured target nodes are
all in error. That seems like it would happen rarely, if at all.
Further cleanup of unused SkyValues returned by markDirty to come in
a subsequent CL.
--
MOS_MIGRATED_REVID=100304744
|
|
|
|
|
|
|
| |
use the more appropriate and correct ExecutorInitException than ViewCreationException. Importantly, note that ExecutorInitException will give us the right exit code and since it's a subclass of AbruptExitException we get the right build status codes too.
--
MOS_MIGRATED_REVID=99208200
|
|
|
|
|
|
|
| |
Fixes #309.
--
MOS_MIGRATED_REVID=98639996
|
|
|
|
|
|
|
| |
MoreObjects#toStringHelper
--
MOS_MIGRATED_REVID=98383075
|
|
|
|
|
|
|
| |
StandaloneContextConsumer.
--
MOS_MIGRATED_REVID=96300473
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=95427512
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=93986544
|
|
|
|
|
|
|
|
|
| |
execution phase.
Commands which do not perform execution would otherwise over-invalidate nodes.
--
MOS_MIGRATED_REVID=92864280
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=92288707
|
|
|
|
|
|
|
|
|
| |
Instead of passing BuildConfigurationKey instances around, just pass in the
little data we actually need. This allows removing the BuildConfigurationKey
class.
--
MOS_MIGRATED_REVID=91865340
|
|
|
|
|
|
|
| |
ActionContextConsumers.
--
MOS_MIGRATED_REVID=91827715
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Polling the machine load can never work, because the following
scenarios are quite common:
* Tasks that are faster than the poll cycle time.
* Tasks whose CPU and/or RAM consumption changes over the lifetime of
the task.
--
MOS_MIGRATED_REVID=90990445
|
|
|
|
|
|
|
| |
counters.
--
MOS_MIGRATED_REVID=90749273
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rethrowing cause made sense a while ago, but now the only usages of this
method have a direct handle on the exception they want dealt with and
wrap the input with "new Exception(...)". Instead just pass the exception
along directly.
Also modified the comment in the unexpected case- the class referenced
does not exist anymore, from what I can tell, and thus the comment was
misleading.
--
MOS_MIGRATED_REVID=90623740
|
|
|
|
|
|
|
| |
requested.
--
MOS_MIGRATED_REVID=89436511
|
|
|
|
|
|
|
|
|
|
|
| |
Before, external jars would stomp on each other and the last jar loaded would
"win" (all others would be overwritten and the build would fail). This changes
symlink forest path generation to generate unique paths under
<exec-root>/external/ for jars, so multiple external jar dependencies can be
used.
--
MOS_MIGRATED_REVID=88952191
|