aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/buildtool
Commit message (Collapse)AuthorAge
* Use AutoProfiler in the Bazel codebase.Gravatar Nathan Harmata2015-09-08
| | | | | -- MOS_MIGRATED_REVID=102584924
* Description redacted.Gravatar Dmitry Lomov2015-09-08
| | | | | -- MOS_MIGRATED_REVID=102498501
* Remove unused code.Gravatar Marian Lobur2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102339394
* Add a method to EvaluationProgressReceiver for getting information on ↵Gravatar Nathan Harmata2015-09-03
| | | | | | | SkyFunction#compute calls. -- MOS_MIGRATED_REVID=102268773
* Code cleanupGravatar Laurent Le Brun2015-09-03
| | | | | -- MOS_MIGRATED_REVID=102239051
* Description redacted.Gravatar Janak Ramakrishnan2015-08-31
| | | | | -- MOS_MIGRATED_REVID=101809192
* Move PackageIdentifier to cmdlineGravatar Kristina Chodorow2015-08-31
| | | | | | | | 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
* Be resilient to a non-decreasing clock in ↵Gravatar Nathan Harmata2015-08-28
| | | | | | | | | BlazeRuntime#recordLastExecutionTime. Also add @Nullable annotations as appropriate. Fixes #394. -- MOS_MIGRATED_REVID=101685096
* Remove the awkward default value marker from --symlink_prefix.Gravatar Lukacs Berki2015-08-27
| | | | | | | 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
* Instead of assuming that sandboxing will generally work on everything that ↵Gravatar Philipp Wollermann2015-08-26
| | | | | | | | | 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
* Convert evaluated tracking to take a lazy SkyValueGravatar Mark Schaller2015-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove debugging statementGravatar Kristina Chodorow2015-08-20
| | | | | -- MOS_MIGRATED_REVID=101118095
* Replace ref equality with .equals for SkyFunctionNames (2)Gravatar Mark Schaller2015-08-20
| | | | | | | | | | 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
* A prototype implementation of top-level aspects.Gravatar Dmitry Lomov2015-08-20
| | | | | -- MOS_MIGRATED_REVID=101033236
* Tolerate BuildFileNotFoundExceptions during the execution phase.Gravatar Janak Ramakrishnan2015-08-11
| | | | | -- MOS_MIGRATED_REVID=100317285
* Convert invalidated tracking from per-value to per-keyGravatar Mark Schaller2015-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When encountering an unrecoverable IO error during pre-execution-phase work ↵Gravatar Nathan Harmata2015-07-28
| | | | | | | 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
* Add --output_filter optionGravatar Kristina Chodorow2015-07-21
| | | | | | | Fixes #309. -- MOS_MIGRATED_REVID=98639996
* Replaced other occurrences of Objects#toStringHelper with ↵Gravatar Googler2015-07-17
| | | | | | | MoreObjects#toStringHelper -- MOS_MIGRATED_REVID=98383075
* Make strategy matching stricter, remove wrong entries in returned map from ↵Gravatar Philipp Wollermann2015-06-18
| | | | | | | StandaloneContextConsumer. -- MOS_MIGRATED_REVID=96300473
* Implement "More flexible strategy flag for Bazel".Gravatar Philipp Wollermann2015-06-08
| | | | | -- MOS_MIGRATED_REVID=95427512
* Description redacted.Gravatar Mark Schaller2015-05-21
| | | | | -- MOS_MIGRATED_REVID=93986544
* Defer injection of top-level context until we are just about to do the ↵Gravatar Eric Fellheimer2015-05-06
| | | | | | | | | execution phase. Commands which do not perform execution would otherwise over-invalidate nodes. -- MOS_MIGRATED_REVID=92864280
* Give OutputService#startBuild() access to the build ID.Gravatar Eric Fellheimer2015-04-29
| | | | | -- MOS_MIGRATED_REVID=92288707
* Simplify the createConfiguration method in SkyframeExecutor.Gravatar Ulf Adams2015-04-23
| | | | | | | | | 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
* Enables BlazeModule to return multiple ActionContextProviders and ↵Gravatar Googler2015-04-23
| | | | | | | ActionContextConsumers. -- MOS_MIGRATED_REVID=91827715
* Remove autosense logic.Gravatar Han-Wen Nienhuys2015-04-14
| | | | | | | | | | | | | 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
* Clear dirty output tree counters so that the next build does not get the old ↵Gravatar Miguel Alcon Pinto2015-04-10
| | | | | | | counters. -- MOS_MIGRATED_REVID=90749273
* Remove BuilderUtils#rethrowCause(...)'s vestigial bitsGravatar Michajlo Matijkiw2015-04-08
| | | | | | | | | | | | | | 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
* Remove useless flag check; executeBuild is only called if execution is ↵Gravatar Nathan Harmata2015-03-25
| | | | | | | requested. -- MOS_MIGRATED_REVID=89436511
* Disambiguate jar paths in the exec root treeGravatar Kristina Chodorow2015-03-20
| | | | | | | | | | | 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
* add OutputGroupProvider.DEFAULT_GROUPS for commonly built groupsGravatar Michajlo Matijkiw2015-03-18
| | | | | | | | | 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
* Remove dead blaze flag --show_builder_stats.Gravatar Laszlo Csomor2015-03-13
| | | | | -- MOS_MIGRATED_REVID=88428013
* Inform EvaluationProgressReceiver of nodes that are built in error.Gravatar Janak Ramakrishnan2015-03-13
| | | | | | | | | 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
* Record statistics about dirty output files detected in the output tree.Gravatar Miguel Alcon Pinto2015-03-11
| | | | | -- MOS_MIGRATED_REVID=88257621
* Add --target_environment flag. This declares the environment (or set of ↵Gravatar Greg Estren2015-03-06
| | | | | | | | | | | | | | | | | | 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
* Rename TopLevelArtifactProvider to OutputGroupProvider.Gravatar Lukacs Berki2015-03-05
| | | | | -- MOS_MIGRATED_REVID=87596401
* Get runfiles prefix from the WORKSPACE fileGravatar Kristina Chodorow2015-03-05
| | | | | -- MOS_MIGRATED_REVID=87513766
* Remove --compile_only and --compilation_prerequisites_only; --output_groups ↵Gravatar Lukacs Berki2015-03-04
| | | | | | | can be used in their stead. -- MOS_MIGRATED_REVID=87334648
* Add --local_test_jobs to limit local test concurrencyGravatar Mark Schaller2015-02-25
| | | | | | | | | | | | | | | 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
* Move all logic to determine which output groups are to be built to ↵Gravatar Lukacs Berki2015-02-25
| | | | | | | | | 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
* Remove TempsProvider in favor of an output group.Gravatar Lukacs Berki2015-02-25
| | | | | -- MOS_MIGRATED_REVID=87136119
* Simplify the algorithm to compute top-level artifacts to build even more by ↵Gravatar Lukacs Berki2015-02-24
| | | | | | | creating a HIDDEN_TOP_LEVEL output group and putting the artifacts required for building runfiles there. -- MOS_MIGRATED_REVID=87039530
* Remove FilesToCompileProvider and CompilationPrerequisitesProvider and ↵Gravatar Lukacs Berki2015-02-24
| | | | | | | replace them with output groups. -- MOS_MIGRATED_REVID=87038548
* Remove BaselineCoverageArtifactsProvider in favor of an output group.Gravatar Lukacs Berki2015-02-19
| | | | | | | 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
* Fix fallout from [] by introducing a distinction between "important" and ↵Gravatar Lukacs Berki2015-02-18
| | | | | | | | | | | "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
* Make it possible for a Blaze command not to build the filesToRun of a ↵Gravatar Lukacs Berki2015-02-17
| | | | | | | | | 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
* Print the actual set of artifacts built for each target on the command line ↵Gravatar Lukacs Berki2015-02-12
| | | | | | | | | on stderr (or is it stdout?). This results in the removal of ~40 lines of code, yay. -- MOS_MIGRATED_REVID=86176505
* Small code cleanups.Gravatar Ulf Adams2015-02-06
| | | | | -- MOS_MIGRATED_REVID=85711276
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957