aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/actions
Commit message (Collapse)AuthorAge
* 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
* Mostly-automated roll-forward to return ActionInput objects from the ↵Gravatar Janak Ramakrishnan2015-04-06
| | | | | | | | | | | ActionInputFileCache when given a digest to do a reverse lookup so that metadata can be more easily retrieved. Discovered inputs are no longer ever put into SingleBuildFileCache, so it is safe to roll this forward now Because of code changes (meant to ensure the safety of this change), there were conflicts that had to be manually resolved. -- MOS_MIGRATED_REVID=90425783
* Catch action conflicts in the same target during configured target analysis, ↵Gravatar Janak Ramakrishnan2015-03-30
| | | | | | | and fail hard in other cases. -- MOS_MIGRATED_REVID=89720528
* Resolve inputs that were stored in action cache ahead of time so metadata ↵Gravatar Janak Ramakrishnan2015-03-30
| | | | | | | | | | | for them can be retrieved with other inputs, avoiding a restart. This also allows us to delete the UndeclaredInputsHandler, since we eagerly cache metadata before entering any ActionCacheChecker methods. This should also allow us to split FileAndMetadataCache into two separate classes, as well as asserting that SingleBuildFileCache only sees non-artifact ActionInputs. To be done in follow-ups. -- MOS_MIGRATED_REVID=89718712
* Move action-cache updating to inside ActionExecutionFunction, in preparation ↵Gravatar Janak Ramakrishnan2015-03-30
| | | | | | | | | for allowing it to be restarted in case of missing deps. Note that this means that action-cache writing is no longer part of the ACTION_COMPLETE profiling unit. -- MOS_MIGRATED_REVID=89702039
* Add functionality to discard orphaned binaries and middlemen.Gravatar Michajlo Matijkiw2015-03-25
| | | | | | | | | | Here we additionally identify artifacts as orphaned if they are only inputs to middleman actions whose outputs are unused. The middleman actions are still part of the action graph, but we tolerate their inputs being orphaned. -- MOS_MIGRATED_REVID=89512745
* Use a single critical path component in case of shared actions that run ↵Gravatar Miguel Alcon Pinto2015-03-23
| | | | | | | concurrently. We update the timing with the maximum elapsed time. This could prevent us from getting the critical path (because another smaller path could mask the critical path), but in practice we do not expect this to happen. -- MOS_MIGRATED_REVID=89133458
* remove ActionMetadata#getInputCountGravatar Michajlo Matijkiw2015-03-23
| | | | | | | | | | | | Removing ActionMetadata#getInputCount instead of relying on all implementations of ActionMetadata keeping getInputCount and getInputs in sync. getInputCount is only used by a few tests and has no applications in the main code at the moment, so it is trivial to remove before we may come to rely on it more or its semantics get more complicated. -- MOS_MIGRATED_REVID=89130009
* Don't print out action cache if it has more than 1000 entries. This prevents ↵Gravatar Janak Ramakrishnan2015-03-23
| | | | | | | IDE OOMing when a large action cache is in scope during debugging. -- MOS_MIGRATED_REVID=89127817
* Rolling back change because of subtle race condition when multiple actions ↵Gravatar Janak Ramakrishnan2015-03-20
| | | | | | | insert ActionInputs into SingleBuildFileCache. -- MOS_MIGRATED_REVID=89032980
* Description redacted.Gravatar Janak Ramakrishnan2015-03-20
| | | | | -- MOS_MIGRATED_REVID=88992212
* Delay updating inputs of an action when processing the action cache until it ↵Gravatar Janak Ramakrishnan2015-03-20
| | | | | | | | | | | is known that the action is a cache hit. This adds momentary memory overhead when checking the action cache, but should prevent a host of potential errors. Note that this cl assumes that an action that discovers its inputs does *not* take the names of its inputs into account when calculating its key, which is already stated as part of the javadoc of Action#getKey. -- MOS_MIGRATED_REVID=88971626
* Return ActionInput objects from the ActionInputFileCache when given a digest ↵Gravatar Janak Ramakrishnan2015-03-16
| | | | | | | to do a reverse lookup so that metadata can be more easily retrieved. -- MOS_MIGRATED_REVID=88733565
* Simplify BuildConfiguration to make it cheaper to create more instances.Gravatar Ulf Adams2015-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | We want to make it so configured targets can only see the configuration fragments they have declared, which requires creating a customized configuration for every configured target. Therefore, this change moves the directories to a separate object, so configurations that have the same output directories can share it. Also change getBinFragment and getGenfilesFragment to call the corresponding Root.getExecPath() on the fly. However, these are called _very_ often, so at the same time change Root to cache the exec path. Instead of keeping a map of all executables, only keep the shell executable, which is the only value that was actually used anywhere. Remove the cache key, but keep the short cache key. The cache key was only used to check for duplicate cache keys in the BuildConfigurationCollection, which is no longer necessary as we don't use the cache key for anything else anymore. We should instead check for output directory conflicts, but we can't do that quite yet (I'm working on it). Also update the documentation in a couple of places. -- MOS_MIGRATED_REVID=88712178
* add baseline functionality for not saving unused artifactsGravatar Michajlo Matijkiw2015-03-13
| | | | | | | | | | | | | | | | | | | We define unused artifacts as those that aren't consumed by any action. This can be because an action produced more outputs than a dependent action needed, or because it's a top level artifact and we don't care about its contents, just that it was built without issue. Actions may prevent outputs from being discarded by declaring them as mandatory. This is particularly useful for test outputs. The motivation behind this change is to reduce storage overhead for things we can do without. It is worth noting this change doesn't cover all cases. In particular it has difficulty identifying *_binary artifacts as orphaned. This is due to the insertion of a virtual runfiles artifact which depends upon the rule's outputs. -- MOS_MIGRATED_REVID=88467504
* Return the set of files found when discovering inputs. Skyframe will ↵Gravatar Janak Ramakrishnan2015-03-11
| | | | | | | | | probably want to store these and may declare dependencies in advance so all metadata is present in the graph. Long-term, we may be able to use the returned set to make input-discovering actions immutable, which would be nice. -- MOS_MIGRATED_REVID=88348068
* Some cleanup changes.Gravatar Ulf Adams2015-03-05
| | | | | -- MOS_MIGRATED_REVID=87821306
* 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
* Convert ResourceSet ctor calls to factory methodGravatar Mark Schaller2015-02-20
| | | | | | | | | | Most current invocations of the ResourceSet constructor shouldn't care about any new dimensions we add to restrict test execution. This change allows us to make those changes, keep the ResourceSet ctor symmetrical, and avoid contaminating those ctor call sites with noise. -- MOS_MIGRATED_REVID=86826112
* Lots of comments, clarification and correction in Skylark docs.Gravatar Laszlo Csomor2015-02-16
| | | | | -- MOS_MIGRATED_REVID=86436572
* Introduce a PackageBoundaryMode enum to FilesetTraversalParams.Gravatar Laszlo Csomor2015-02-12
| | | | | | | | | | | | | | This enables the introduction of a third behavior mode when RecursiveFilesystemTraversalFunction encounters a package boundary: on top of the existing cross/no-cross behavior, it can now bail out with an error. This is preparatory work to support Skyframe-native Filesets. The CL also contains a couple of prettifying cleanups (in ActionCacheChecker and in FilesetManifestAction). -- MOS_MIGRATED_REVID=86185105
* Replace some calls to ArtifactFactory.resolveSourceArtifact(PathFragment ↵Gravatar Marian Lobur2015-02-11
| | | | | | | execPath), with a skyframe native implementation ArtifactFactory.resolveSourceArtifact(Iterable<PathFragment> execPaths, PackageRootResolver resolver). -- MOS_MIGRATED_REVID=86062289
* 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