| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
--
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
|
|
|
|
|
|
|
|
|
| |
unit tests and main code have fallen out of sync a few times, so
consolidating the defaults here to make mistakes harder later on.
one could argue this also gives a little better mental locality.
--
MOS_MIGRATED_REVID=88921641
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=88428013
|
|
|
|
|
|
|
|
|
| |
This allows the pending action counter to be decremented correctly when in --keep_going mode.
As part of this, there's a small refactor in ParallelEvaluator that also fixes a potential bug, that nodes in error were signaling their parents with the graph version as opposed to their actual version. Because errors never compare equal (ErrorInfo doesn't override equality), this isn't an issue in practice. But it could be in the future.
--
MOS_MIGRATED_REVID=88395500
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=88257621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
environments)
the build is being done for.
In other words:
blaze build //foo:all --target_environment=//buildenv/target:gce
declares that this build targets GCE, so all top-level targets must also support GCE.
This essentially allows constraint enforcement to apply to top-level targets, too.
So users can protect against accidentally building targets in configurations they're
not meant to work with.
--
MOS_MIGRATED_REVID=87862252
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87596401
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87513766
|
|
|
|
|
|
|
| |
can be used in their stead.
--
MOS_MIGRATED_REVID=87334648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Users have asked for ways to control the concurrency level of their
local tests. They can do it right now using the --local_resources
option, but that is unintuitive and affects the parallelism of
non-test actions.
This option changes the kind of resources obtained for local tests. If
set, the CPU, RAM, and IO dimensions for local tests will not be used,
and a new localTestCount dimension will be used, where the capacity is
equal to the option's value, and each local test consumes one unit.
--
MOS_MIGRATED_REVID=87177698
|
|
|
|
|
|
|
|
|
| |
BuildRequest.determineOutputGroups().
This paves the way for making --compile_only, --compilation_prerequsites_only and --save_temps into aliases for --output_groups=<something>
--
MOS_MIGRATED_REVID=87138659
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87136119
|
|
|
|
|
|
|
| |
creating a HIDDEN_TOP_LEVEL output group and putting the artifacts required for building runfiles there.
--
MOS_MIGRATED_REVID=87039530
|
|
|
|
|
|
|
| |
replace them with output groups.
--
MOS_MIGRATED_REVID=87038548
|
|
|
|
|
|
|
| |
The only slightly different thing here is that now, instead of using target.getConfiguration().isCodeCoverageEnabled() we use BuildRequest.Options.collectCodeCoverage, but the only place where this is not the same I can think of is InputFileCT, which does not have baseline coverage files anyway.
--
MOS_MIGRATED_REVID=86682774
|
|
|
|
|
|
|
|
|
|
|
| |
"not important" artifacts to build.
I erroneously believed that only filesToBuild is built, whereas it's actually filesToBuild + the default runfiles + some coverage artifacts.
I have no idea why we need to build the default runfiles. Maybe a better plan is to ditch this distinction and instead just not build those and display the baseline coverage artifacts, but I have no idea what would break then.
--
MOS_MIGRATED_REVID=86583095
|
|
|
|
|
|
|
|
|
| |
configured target mentioned on the command line.
Note that this exacerbates the mess in TopLevelArtifactHelper even more. Next step will be to eliminate --compile_only / --compilation_prerequisites_only / --build_default_artifacts in favor of --output_groups. However, that's quite an intrusive change and I'd rather submit that as a separate CL.
--
MOS_MIGRATED_REVID=86487224
|
|
|
|
|
|
|
|
|
| |
on stderr (or is it stdout?).
This results in the removal of ~40 lines of code, yay.
--
MOS_MIGRATED_REVID=86176505
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=85711276
|
|
--
MOE_MIGRATED_REVID=85702957
|