aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
Commit message (Collapse)AuthorAge
* Disable --watchfs on OSX in preparation for enabling it by default.Gravatar Ulf Adams2015-10-28
| | | | | | | | There's no timeline right now, but it's unusable on OSX and Oracle has no plans of fixing it. -- MOS_MIGRATED_REVID=106486015
* Visibility adjustmentsGravatar Michajlo Matijkiw2015-10-28
| | | | | -- MOS_MIGRATED_REVID=106444993
* Change default for rule classes that don't explicitlyGravatar Greg Estren2015-10-28
| | | | | | | | | | | | | | | declare required configuration fragments: from *everything* to *nothing*. Now that all builtin rules properly declare their fragments, the "backwards compatibility" concern that inspired the original behavior is no longer needed. This impacts, for example, filegroup rules, which have nothing to declare. -- MOS_MIGRATED_REVID=106433791
* Share SkyKey interning between evaluation and deserialization.Gravatar Eric Fellheimer2015-10-27
| | | | | -- MOS_MIGRATED_REVID=106323413
* Avoid unbounded growth in the GlobFunction cache. The cache is now given a ↵Gravatar Eric Fellheimer2015-10-27
| | | | | | | maximum size, based off a reasonably larged sized benchmark. -- MOS_MIGRATED_REVID=106180595
* Inline TargetMarker in TransitiveTraversalFunctionGravatar Mark Schaller2015-10-23
| | | | | | | | | | Simplifies the runtime graph when TransitiveTraversalFunction is used. Also moves an error reporting method from the base function to the TransitiveTargetFunction, which is the only one that uses it. -- MOS_MIGRATED_REVID=106109745
* Memoize TRANSITIVE_TRAVERSAL nodes to save memory.Gravatar Miguel Alcon Pinto2015-10-22
| | | | | -- MOS_MIGRATED_REVID=105994907
* Introduce an AspectClass: a representation of a class of aspects.Gravatar Dmitry Lomov2015-10-22
| | | | | | | For native aspects, AspectClass is a facade for Class<AspectFactory<...>>. -- MOS_MIGRATED_REVID=105986390
* Retain first error message during transitive traversalGravatar Mark Schaller2015-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | Previously, a TransitiveTraversalFunction computed a value that contained an exception only if the exception resulted from a failure to load the function's immediate target. If the target had transitive dependencies on other targets, those other targets would be loaded, but any errors resulting from loading those targets would not be retained. SkyQueryEnvironment impromperly used a SkyFrame mechanism (which was solely intended to ensure equivalent semantics between keep-going and no-keep-going evaluations) to discover errors in the set of transitive children of TransitiveTraversal nodes. In order to transition SkyQueryEnvironment away from that mechanism, this CL changes TransitiveTraversalFunction to remember the first error message encountered while loading its target and its transitive dependencies. By remembering just the error message as a string, and not the full exception object, this also helps TransitiveTraversalValue have more consistent equality semantics for change-pruning. -- MOS_MIGRATED_REVID=105977182
* Narrow return type of ContainingPackageLookupValue.withContainingPackageGravatar Michajlo Matijkiw2015-10-22
| | | | | -- MOS_MIGRATED_REVID=105969015
* Remove the repository name from PACKAGE_NAME and move it to the new ↵Gravatar Lukacs Berki2015-10-21
| | | | | | | REPOSITORY_NAME symbol. -- MOS_MIGRATED_REVID=105954652
* Change the preprocessor interface to take the byte[] contents of the BUILD ↵Gravatar Nathan Harmata2015-10-21
| | | | | | | | | file rather than a ParserInputSource. This is part of a series of changes with the net result being that we open, read, and parse each BUILD file exactly once. -- MOS_MIGRATED_REVID=105911557
* Introduce Path#isSpecialFile, FileSystem#isSpecialFile, and ↵Gravatar Nathan Harmata2015-10-21
| | | | | | | FileStatus#isSpecialFile to help disambiguate between a regular file and a special file, since the file size of a special file cannot be trusted. -- MOS_MIGRATED_REVID=105903622
* Improve error diagnostics for Skylark aspects.Gravatar Dmitry Lomov2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105851371
* Implement aspect(...) Skylark function.Gravatar Dmitry Lomov2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105844221
* Rollback of commit ac7195025b073948785db8c6975a53fc305c5087.Gravatar Peter Schmitt2015-10-20
| | | | | | | | | | | | | *** Reason for rollback *** Uses tests that don't run on Bazel *** Original change description *** Implement aspect(...) Skylark function. -- MOS_MIGRATED_REVID=105808850
* Use a sorted set for the test suite expansion key to prevent non-determinism.Gravatar Ulf Adams2015-10-20
| | | | | | | | | | | | | | | | | While a normal set is theoretically sufficient, it can cause hard-to-reproduce problems. In particular, the iteration order of the expansion result depends on the iteration order of the requested targets. If there are multiple requests for the same set of targets, but with different orders, the results would depend on which request was made first. If a downstream function also inadvertantly depends on the iteration order, it can be hard to debug why it ended up with a different order than it requested. Alternatively, we could sort the result before returning it. We generally expect the key set to be smaller than the result set, so this should be ever so slightly more efficient. -- MOS_MIGRATED_REVID=105765514
* Fix two uses of generics that are causing errors in Eclipse for me.Gravatar Ulf Adams2015-10-19
| | | | | -- MOS_MIGRATED_REVID=105742091
* Implement the test suite expansion after target pattern evaluation.Gravatar Ulf Adams2015-10-19
| | | | | | | | This is still not hooked up, but it's now passing all the relevant tests that apply directly to the LoadingPhaseRunner; there are still a couple of TODOs. -- MOS_MIGRATED_REVID=105739507
* Make bazel not require a tools/defaults/BUILD file.Gravatar Lukacs Berki2015-10-19
| | | | | -- MOS_MIGRATED_REVID=105734972
* Avoid some Skyframe restarts.Gravatar Nathan Harmata2015-10-19
| | | | | -- MOS_MIGRATED_REVID=105648425
* Brief audit of singleton SkyValuesGravatar Michajlo Matijkiw2015-10-19
| | | | | | | Minimize indirection wrt singletons, turns out we had one that was completely unused. -- MOS_MIGRATED_REVID=105621494
* Implement aspect(...) Skylark function.Gravatar Dmitry Lomov2015-10-16
| | | | | -- MOS_MIGRATED_REVID=105596479
* Stop filtering when returning root causes -- the filter is always true, ↵Gravatar Janak Ramakrishnan2015-10-16
| | | | | | | | | since root causes are associated with top-level targets and labels, and the filter is for all top-level targets and labels. I noticed this when a huge --noanalyze build spent most of its time in filtering here. The passed-in "collection" was a list, which meant that we could have sped it up by using a set, but why not just get rid of it all. -- MOS_MIGRATED_REVID=105536485
* Cache BUILD file AST parsing results instead of preprocessing results (the ↵Gravatar Nathan Harmata2015-10-16
| | | | | | | | | former uses the latter). This way we parse BUILD files exactly once. This is part of a series of changes with the net result being that we open, read, and parse each BUILD file exactly once. -- MOS_MIGRATED_REVID=105528075
* Roll back [] that makes Bazel not require a tools/defaults/BUILD file ↵Gravatar Lukacs Berki2015-10-16
| | | | | | | because it breaks some internal tests. -- MOS_MIGRATED_REVID=105511798
* Make recursive package wildcards work in remote repositories.Gravatar Lukacs Berki2015-10-15
| | | | | | | Ideally, PrepareDepsOfPatternFunction and maybe even RecursivePkgFunction would also be changed to take a PackageIdentifier instead of RootedPath because the less places we store the set of roots, the better, but I've done enough refactoring in the past weeks to not be thrilled by the idea of doing more. -- MOS_MIGRATED_REVID=105486561
* Verify order of NestedSets wrapped by GlobValueGravatar Michajlo Matijkiw2015-10-15
| | | | | -- MOS_MIGRATED_REVID=105461876
* Avoid an unnecessary sorted copy: We add the result of this call to a Set. ↵Gravatar Eric Fellheimer2015-10-15
| | | | | | | No need for a specific ordering. -- MOS_MIGRATED_REVID=105438232
* Pass PackageIdentifier through a bit more code in target parsing in ↵Gravatar Lukacs Berki2015-10-14
| | | | | | | preparation for eventually implementing recursive target patterns for remote repositories. -- MOS_MIGRATED_REVID=105412566
* Reimplement target pattern parsing in Skyframe.Gravatar Ulf Adams2015-10-14
| | | | | | | | This is currently not hooked up, and we're passing (potentially) massive numbers of targets around. -- MOS_MIGRATED_REVID=105395404
* Only open and read the BUILD file when we don't have a cached preprocessing ↵Gravatar Nathan Harmata2015-10-13
| | | | | | | | | result. This is a step in the right direction towards the goal of opening and reading each BUILD file exactly once. -- MOS_MIGRATED_REVID=105338761
* Make the /... recursive package target wildcard traverse symlinks.Gravatar Lukacs Berki2015-10-13
| | | | | | | | | This works because we resolve the FileValue for every directory found during the traversal, therefore, symlink cycles and symlink structures giving rise to infinite directory trees are handled correctly (that is to say, the same way as they are handled during globbing) Fixes #274. -- MOS_MIGRATED_REVID=105290852
* Fix PackageFunction#loadPackage preprocessing result cache memory leak on ↵Gravatar Nathan Harmata2015-10-13
| | | | | | | | | error from SkylarkImportResult dep. This is part of a series of changes with the net result being that we open, read, and parse each BUILD file exactly once. -- MOS_MIGRATED_REVID=105253634
* Automated [] rollback of [] + merge with []Gravatar Nathan Harmata2015-10-13
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Original CL uncovered a depot issue which was fixed in []. I verified it was the only such issue (see []). *** Original change description *** Rollback of commit f87a414a6bf50613a2c419e53a96f76154f44ae3. *** Reason for rollback *** Rolling back until [] is submitted and we have verified that there are no other breakages *** Original change description *** Handle the case of infinite symlink expansion where a path in a symlink chain is a symlink to an ancestor of a path in the chain. -- MOS_MIGRATED_REVID=105251788
* Make SkyFunctions.SKYLARK_IMPORT_CYLCE publicGravatar Michajlo Matijkiw2015-10-13
| | | | | | | Makes it consistent with the rest of the file. -- MOS_MIGRATED_REVID=105233324
* Refactor cycle related skyvalues to use shared empty valueGravatar Michajlo Matijkiw2015-10-13
| | | | | | | | | | | Previously the cycle values (were supposed to) share a common abstract base class, however usage was inconsistent. Instead refactor to eliminate the specialized value classes, remove the abstract class, and share a common empty placeholder value, which should be useful for future/other current empty values. -- MOS_MIGRATED_REVID=105217399
* Make Bazel use tools that are embedded in its binary.Gravatar Lukacs Berki2015-10-12
| | | | | | | This requires changing all "//tools/language:target" implicit dependencies to "@tools//tools/language:target". -- MOS_MIGRATED_REVID=105193805
* Track skylark import cycles in terms of PackageIdentifiersGravatar Michajlo Matijkiw2015-10-12
| | | | | | | | | | We don't have any strong guarantees around the stability of SkyKey#toString(), which we rely on to canonicalize cycles. We can reasonably expect PackageIdentifier#toString() to be stable enough though. We also hide away the cycle detection details from external code in this change. -- MOS_MIGRATED_REVID=105093095
* Rollback of commit 0f1b041c23e7cc3a2af4bb47a6cd1f3a331b5a4f.Gravatar Shreya Bhattarai2015-10-12
| | | | | | | | | | | | | *** Reason for rollback *** Rolling back until [] is submitted and we have verified that there are no other breakages *** Original change description *** Handle the case of infinite symlink expansion where a path in a symlink chain is a symlink to an ancestor of a path in the chain. -- MOS_MIGRATED_REVID=105080445
* Make it possible to load the tools/defaults package without a BUILD file ↵Gravatar Lukacs Berki2015-10-09
| | | | | | | | | present. This is nice because this removes the last thing Bazel needs to be able to function without a tools/ directory that is not already embedded into the binary. -- MOS_MIGRATED_REVID=105054134
* Visibility tweaksGravatar Michajlo Matijkiw2015-10-09
| | | | | -- MOS_MIGRATED_REVID=104989776
* Remove dead code.Gravatar Nathan Harmata2015-10-09
| | | | | -- MOS_MIGRATED_REVID=104979604
* Handle the case of infinite symlink expansion where a path in a symlink ↵Gravatar Nathan Harmata2015-10-09
| | | | | | | chain is a symlink to an ancestor of a path in the chain. -- MOS_MIGRATED_REVID=104969893
* Add a __workspace_dir__ variable alongside of __embedded_dir__ in the ↵Gravatar Lukacs Berki2015-10-09
| | | | | | | namespace of the WORKSPACE file. -- MOS_MIGRATED_REVID=104952808
* Partially revert []: move the tools/defaults package back to the main ↵Gravatar Lukacs Berki2015-10-07
| | | | | | | | | repository. This is necessary because we copy labels from the command line into tools/defaults/BUILD and currently there is no syntax to make a label in a remote repository refer to one in the main repository. -- MOS_MIGRATED_REVID=104755206
* In FilesystemValueChecker, use 200 threads and don't waste threads on ↵Gravatar Nathan Harmata2015-10-06
| | | | | | | skipped keys. This yields some noticeable improvements for the wall times of null builds with even a small set of files to be checked for changes. -- MOS_MIGRATED_REVID=104717653
* Log how much time we spend manually checking files and directory listings ↵Gravatar Nathan Harmata2015-10-06
| | | | | | | for changes (also log how many nodes we checked & scanned - note that we currently "scan" the entire Skyframe graph since it's not segregated by type). -- MOS_MIGRATED_REVID=104713225
* Add debugging info in case of unexpected crash.Gravatar Janak Ramakrishnan2015-10-06
| | | | | -- MOS_MIGRATED_REVID=104658639
* Intern PackageIdentifiers as a memory optimization.Gravatar Miguel Alcon Pinto2015-10-01
| | | | | -- MOS_MIGRATED_REVID=104403040