aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/buildtool
Commit message (Collapse)AuthorAge
* Inject the BlazeDirectories in SkyframeExecutor.Gravatar Ulf Adams2016-04-15
| | | | | | | | | The BlazeDirectories are also needed for loading the WORKSPACE file, so inject them as part of preparePackageLoading rather than in createConfigurations, which is too late. -- MOS_MIGRATED_REVID=119931633
* Refactor BlazeWorkspace creation to happen after BlazeRuntime construction.Gravatar Ulf Adams2016-04-13
| | | | | | | | As part of that, move a BinTools and the WorkspaceStatusActionFactory to the BlazeWorkspace. -- MOS_MIGRATED_REVID=119633702
* Eliminate BuildConfiguration.Fragment#prepareForExecutionPhase().Gravatar Lukacs Berki2016-04-07
| | | | | | | It is only used for FDO, for which purpose it seems to be unnecessary. -- MOS_MIGRATED_REVID=119151709
* Move most of the workspace-handling code from BlazeRuntime to a new class.Gravatar Ulf Adams2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118563271
* Move most BlazeRuntime methods related to workspace directories to CommandEnv.Gravatar Ulf Adams2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118561661
* Remove the unused loadingEnabled param from BuildView.update.Gravatar Ulf Adams2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118560010
* Move the BuildView creation to BuildTool, the only remaining user.Gravatar Ulf Adams2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118547283
* Remove calls of CommandEnvironment.getView; remove ide-info from BuildView.Gravatar Ulf Adams2016-03-30
| | | | | | | This makes the late initialization of BuildView more obviously safe. -- MOS_MIGRATED_REVID=118469655
* Do not run the finally block in BuildTool#buildTargets if we are in a ↵Gravatar Janak Ramakrishnan2016-03-28
| | | | | | | catastrophe. It doesn't add any logging information, and can mask the source of a crash if the crash has broken some invariants. <speculation>For instance, if we are crashing due to an OutOfMemoryError, the graph map may be in an inconsistent state where an attempt to add to it deleted a node</speculation>. -- MOS_MIGRATED_REVID=118242401
* Respect --noexperimental_check_output_files in FileSystemValueChecker. ↵Gravatar Nathan Harmata2016-03-25
| | | | | | | | | FileStateValues for output files can make their way into the Skyframe graph if a source file is symlink to an output file. Also fix a bug where ExternalFilesHelper#isExternalFileSeen would always return true after returning true once in the past. This meant if an external file ever made its way into the Skyframe graph, we would always do a full graph scan at the beginning of each build (iow, we would always waste some CPU time doing nothing interesting). -- MOS_MIGRATED_REVID=118190190
* Make help documentation for --experimental_output_tree_tracking more general.Gravatar Nathan Harmata2016-03-17
| | | | | -- MOS_MIGRATED_REVID=117383853
* Fixed a problem with wrong test statuses when using notest_keep_going ↵Gravatar Florian Weikert2016-03-11
| | | | | | | (especially with sharding). -- MOS_MIGRATED_REVID=116975152
* Post the beginning of the execution phase on the event busGravatar Klaus Aehlig2016-03-04
| | | | | | | | | | | The event raised at this occasion also provides the ExecutionProgressReceiver, so that any UI subscribing to this event has access to up-to-date progress information. -- Change-Id: I366497a61f92dad21de6081e5b4f1ed1e19eda12 Reviewed-on: https://bazel-review.googlesource.com/#/c/3043 MOS_MIGRATED_REVID=116256754
* Extract ExecutionProgressReceiver into a top-level class.Gravatar Ulf Adams2016-03-02
| | | | | | | -- Change-Id: I7f9edbef4dd94b5d37aabb1a17333224af3615c6 Reviewed-on: https://bazel-review.googlesource.com/#/c/3042 MOS_MIGRATED_REVID=116163936
* Let ActionContextConsumer#getActionContexts() return a Multimap instead of a ↵Gravatar Philipp Wollermann2016-02-28
| | | | | | | | | | | Map. This makes it possible to request multiple implementations of the same ActionContext to be available via Executor#getContext(). Currently, specialized SpawnActionContexts like the sandbox or the worker strategy that might have to do a fallback each instantiate their own private copy of e.g. the StandaloneSpawnStrategy. With this change, they can instead get a global instance from the Executor. -- MOS_MIGRATED_REVID=115705811
* Don't report targets as broken when they were actually skipped because of ↵Gravatar Florian Weikert2016-02-25
| | | | | | | no[test_]keep_going. -- MOS_MIGRATED_REVID=115506435
* Windows: execute build-runfiles through shell.Gravatar Dmitry Lomov2016-02-12
| | | | | | | Needed for #276. -- MOS_MIGRATED_REVID=114529775
* Add an experimental flag to enable the Skyframe-based loading phase runner.Gravatar Ulf Adams2016-02-12
| | | | | | | | | | | | | | Refactor the CommandEnvironment to no longer create a LoadingPhaseRunner eagerly. Unfortunately, that means we can't reuse the TargetPatternEvaluator either. Fortunately, the SkyframeTargetPatternEvaluator is a very lightweight class, which only contains the offset as state, so we just create a new instance whenever we need one. On the plus side, the LoadingPhaseRunner API is now stateless, and the QueryCommand no longer creates a unnecessary LoadingPhaseRunner instance. -- MOS_MIGRATED_REVID=114519731
* Merge LoadedPackageProvider.Bridge into LoadedPackageProvider.Gravatar Ulf Adams2016-02-09
| | | | | | | | This was the last implementation of the interface, so we don't really need the interface anymore. Also add a comment not to use this class. -- MOS_MIGRATED_REVID=114099495
* Fix SkyframeBuilder's error handling, and change the contract of ↵Gravatar Janak Ramakrishnan2016-01-28
| | | | | | | | | | | EvaluationResult to return true for hasError() iff errorMap is non-empty or there is a catastrophe. There was no good reason for the previous behavior of saying hasError even if there was a transitive recovered-from error, since callers shouldn't care. This was a latent bug that was only benign since none of the consumers of hasError were invoking Skyframe with recoverable SkyFunctions. Also add an EvaluationResultSubject so that tests can more fluently assert things about EvaluationResult objects going forward. -- MOS_MIGRATED_REVID=113192415
* Make local_repository and new_local_repository work with the limitations of ↵Gravatar Lukacs Berki2016-01-26
| | | | | | | our plans for symlink support on Windows. -- MOS_MIGRATED_REVID=113043269
* Make Bazel exit with the exit code from the BuildFailedException if one is ↵Gravatar Googler2016-01-25
| | | | | | | | | specified. If the build failure is caused by a catastrophic error, propagate the exit code from the catastrophe (EvaluationResult.getCatastrophe()) even when --keep_going. -- MOS_MIGRATED_REVID=112845942
* Allow an exit code to be specified in the ActionExecutionException when an ↵Gravatar Googler2016-01-25
| | | | | | | | | action fails, and propagate the exit code to BuildFailedException. And update all call sites that copy or wrap ActionExecutionExceptions. -- MOS_MIGRATED_REVID=112811857
* Create convenience symlinks before the build so that they are available for ↵Gravatar Lukacs Berki2016-01-22
| | | | | | | | | intra-build debugging. As a drive-by fix, create the configuration-independent symlinks even when we have >1 target configurations. Fix broken windows! -- MOS_MIGRATED_REVID=112764311
* Create the convenience symlinks only after the build, and only those that ↵Gravatar Lukacs Berki2016-01-21
| | | | | | | | | point to an existing directory. This required fixing the worker strategy so that it reads params files not through said convenience symlinks, but from the execroot. -- MOS_MIGRATED_REVID=112682485
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Don't print "Building complete" (and save the action caches) if we're about ↵Gravatar Janak Ramakrishnan2015-12-08
| | | | | | | to crash or exit abruptly. It just confuses users and could potentially cause other problems. -- MOS_MIGRATED_REVID=109702171
* Remove an unused parameter.Gravatar Ulf Adams2015-12-04
| | | | | -- MOS_MIGRATED_REVID=109398431
* Refactoring: pull out the call to update buildResult.Gravatar Ulf Adams2015-12-04
| | | | | | | Also remove the unnecessary state check. -- MOS_MIGRATED_REVID=109396856
* Fix some comments; it's --show_result, no trailing s.Gravatar Ulf Adams2015-12-04
| | | | | -- MOS_MIGRATED_REVID=109395850
* Correctly propagagate "catastrophic" failure modes in keep_going mode.Gravatar Eric Fellheimer2015-11-26
| | | | | -- MOS_MIGRATED_REVID=108740689
* Make --symlink_prefix= work as expected again (i.e. create links called ↵Gravatar Lukacs Berki2015-11-25
| | | | | | | "bin"/"genfiles" instead of the default ones) -- MOS_MIGRATED_REVID=108699595
* --output_groups overrides default output groups if set.Gravatar Googler2015-11-19
| | | | | | | | | | | If --output_groups is specified without a + or a - sign, it removes the default output groups used for artifact selection from targets. * Use output_groups=+<group_name> to add an output group, * Use output_groups=-<group_name> to remove an output group. -- MOS_MIGRATED_REVID=108247894
* Workaround javac 1.7 bugGravatar Dmitry Lomov2015-11-19
| | | | | -- MOS_MIGRATED_REVID=108243881
* Notify the output service at startup whether output tree tracking is enabled.Gravatar Eric Fellheimer2015-11-19
| | | | | -- MOS_MIGRATED_REVID=108142409
* Fixed copy&paste error in javadoc.Gravatar Florian Weikert2015-11-17
| | | | | -- MOS_MIGRATED_REVID=108026192
* Track the entire OutputService instead of just the BatchStatter.Gravatar Eric Fellheimer2015-11-16
| | | | | -- MOS_MIGRATED_REVID=107800790
* Aspect terminology update.Gravatar Dmitry Lomov2015-11-10
| | | | | | | | Aspect => ConfiguredAspect AspectWithParameters => Aspect -- MOS_MIGRATED_REVID=107375211
* Use the analysis package roots to set up the exec root.Gravatar Ulf Adams2015-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | With the new Skyframe-based loading phase runner as well as with --experimental_interleave_loading_and_analysis, we no longer run a full loading phase to load all dependencies; instead, we load packages during configuration creation and analysis. In that case, the loading phase result's package roots are empty. This change should be safe - the analysis package roots can be a subset of the loading package roots (we may not need to load stuff if there are select expressions with unused branches for the current set of options), but it should cover everything that is needed for the execution phase. If there is a bug in the new code path, it manifests as odd file not found errors during action execution, where the files seem to be there (but are not mapped into the exec root due to missing symlinks). The old code path uses TransitiveTargetValue.getTransitiveSuccessfulPackages(), the new one uses ConfiguredTargetValue.getTransitivePackages() and AspectValue.getTransitivePackages(). I audited the new code paths, and they look ok. -- MOS_MIGRATED_REVID=107252220
* Move LoadingPhaseRunner.Callback to the top-level class LoadingCallback.Gravatar Ulf Adams2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106839024
* Move LoadingPhaseRunner.LoadingResult to a top-level class.Gravatar Ulf Adams2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106838787
* Move LoadingPhaseRunner.Options to top-level class LoadingOptions.Gravatar Ulf Adams2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106836859
* Move the outputService field to the CommandEnvironment.Gravatar Ulf Adams2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105841398
* Move commandStartTime from BlazeRuntime to CommandEnvironment.Gravatar Ulf Adams2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105840775
* Description redacted.Gravatar Googler2015-10-13
| | | | | -- MOS_MIGRATED_REVID=105214382
* Move loadingPhaseRunner from BlazeRuntime to CommandEnvironment.Gravatar Ulf Adams2015-09-30
| | | | | | | | | | 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
* Set the SkyframeActionExecutor.reporter in prepareForExecution.Gravatar Ulf Adams2015-09-30
| | | | | | | Remove a lot of now-unused Reporter parameters. -- MOS_MIGRATED_REVID=104100061
* Split the PackageManager type hierarchy; no longer inherit LoadedPackageProv.Gravatar Ulf Adams2015-09-28
| | | | | | | | | | | | | 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
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | 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
* Remove another use of errorEventHandler.Gravatar Ulf Adams2015-09-25
| | | | | -- MOS_MIGRATED_REVID=103850879