aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/buildtool
Commit message (Collapse)AuthorAge
* 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
* Remove more uses of errorEventHandler (previously of Reporter).Gravatar Ulf Adams2015-09-24
| | | | | | | Removes mutable global state. -- MOS_MIGRATED_REVID=103837106
* Remove all direct uses of SkyframeExecutor.reporter.Gravatar Ulf Adams2015-09-24
| | | | | | | | | 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
* Use a super-interface of PackageProvider where applicable.Gravatar Ulf Adams2015-09-24
| | | | | | | Also change some calls to getLoadedTarget to getTarget instead. -- MOS_MIGRATED_REVID=103755023
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - 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
* Move BlazeRuntime.getView() to CommandEnvironment. Update all callers.Gravatar Ulf Adams2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103376668
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Move getOutputFilesystem to CommandEnvironment; refactor BlazeRuntime commands.Gravatar Ulf Adams2015-09-21
| | | | | | | | | | 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
* Move the commandId and getCommandStartTime() to CommandEnvironment.Gravatar Ulf Adams2015-09-21
| | | | | | | | They are usually on the same line, so doing this in separate changes can cause merge conflicts. -- MOS_MIGRATED_REVID=103362797
* Simplify BuildView construction and store configurations in the build result.Gravatar Ulf Adams2015-09-17
| | | | | | | | | | | | | | | 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
* Move several parts of BlazeRuntime to CommandEnvironment.Gravatar Ulf Adams2015-09-16
| | | | | | | | The main piece is the blaze module environment, which is only valid during command execution. Also configuration creation and precompleteCommand. -- MOS_MIGRATED_REVID=103186467
* Add experimental flag, that partially disables loading phase (pattern ↵Gravatar Marian Lobur2015-09-16
| | | | | | | evaluation, test_suite expansion and configuration creation is still there). Also remove some unused code. -- MOS_MIGRATED_REVID=103177839
* Change most calls to BlazeRuntime.getReporter() to use CommandEnvironment.Gravatar Ulf Adams2015-09-16
| | | | | -- MOS_MIGRATED_REVID=103175472
* Introduce CommandEnvironment and pass it instead of BlazeRuntime.Gravatar Ulf Adams2015-09-15
| | | | | | | | 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
* 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