aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/query2
Commit message (Collapse)AuthorAge
* Allow to filter attributes based on the rule of the attribute.Gravatar Miguel Alcon Pinto2016-01-11
| | | | | -- MOS_MIGRATED_REVID=111854804
* When transforming labels into targets in SkyQueryEnvironment, stream the ↵Gravatar Janak Ramakrishnan2016-01-11
| | | | | | | | | result to a callback instead of returning it directly. This means that the targets a precomputed pattern resolves to can be processed incrementally. This is the sixth and hopefully final step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should improve performance for SkyQueryEnvironment for certain classes of large queries. -- MOS_MIGRATED_REVID=111697983
* Stream result of TargetPattern#eval to a callback instead of returning it ↵Gravatar Janak Ramakrishnan2016-01-11
| | | | | | | | | directly, and pass a Query callback in when resolving target patterns. This means that the targets a pattern resolves to can be processed incrementally. This is the fifth step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should improve performance for SkyQueryEnvironment for certain classes of large queries. -- MOS_MIGRATED_REVID=111696713
* Resolve target patterns on the fly in SkyQueryEnvironment. Cache only the ↵Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | | | label sets that are precomputed in the graph. This is the fourth step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This may make SkyQueryEnvironment slower when evaluating queries with repeated target patterns, or many target patterns that would benefit from graph lookups that were batched across all patterns. But that is not currently a bottleneck we're concerned about. -- MOS_MIGRATED_REVID=111626483
* Make QueryEnvironment#getTargetsMatchingPattern pass its result to a callback.Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | This is the third step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should also be a functional no-op. -- MOS_MIGRATED_REVID=111620668
* Stream results of targets below directory to a callback rather than ↵Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | | | returning a ResolvedTargets set. This is the first step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should be a functional no-op. -- MOS_MIGRATED_REVID=111609309
* In SkyQueryEnvironment, don't silently give up when there's a cycle in the ↵Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | graph. We can compute the universe target patterns outside of skyframe, which is the only reason we need the value we were requesting. Giving up was preventing us from evaluating "..." patterns even if the "..." pattern didn't contain any cycles itself. -- MOS_MIGRATED_REVID=111605976
* Remove empty put when preloadOrThrow throws a TargetParsingException. ↵Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | preloadOrThrow now only throws when in nokeep-going mode, and so the put now does nothing. -- MOS_MIGRATED_REVID=111417679
* Don't throw a TargetParsingException/QueryException in keepGoing mode when ↵Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | we encounter a bad target pattern. -- MOS_MIGRATED_REVID=111374219
* Permit proto serialization of configured attribute valuesGravatar Mark Schaller2016-01-04
| | | | | | | | | This commit adds proto messages that represent configurable values, and modifies attribute value serialization code to handle those values, which are called SelectorLists. -- MOS_MIGRATED_REVID=111149272
* Minor cleanup to AttributeSerializer, ProtoOutputFormatterGravatar Mark Schaller2015-12-16
| | | | | | | | Makes "explicitlySpecified" a primitive boolean instead of a boxed Boolean. Minor formatting changes to ProtoOutputFormatter. -- MOS_MIGRATED_REVID=110360334
* RELNOTES: add loadfiles() query operator, to find skylark files loaded by ↵Gravatar Han-Wen Nienhuys2015-12-16
| | | | | | | targets. -- MOS_MIGRATED_REVID=110275427
* Add option to read query from a file.Gravatar Janak Ramakrishnan2015-12-11
| | | | | | | RELNOTES[NEW]: Evaluate the query expression in a file by passing --query_file=<file> to query -- MOS_MIGRATED_REVID=109932769
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Allow output formatters to work in stream mode.Gravatar Miguel Alcon Pinto2015-12-10
| | | | | -- MOS_MIGRATED_REVID=109908202
* Fast-path sky-query environment in the case where we have no dependency ↵Gravatar Eric Fellheimer2015-12-07
| | | | | | | | | filter on edge types (eg, implicit deps). In this case we can avoid doing an iteration over a potential reverse dependency's dependencies, since all edges are assumed to be valid. -- MOS_MIGRATED_REVID=109575545
* Rollback of commit 8e7da8704dba78dba47fbaa0eafce3a91c2deb13.Gravatar Peter Schmitt2015-12-01
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=109005097
* Reorganize BUILD files.Gravatar Han-Wen Nienhuys2015-11-30
| | | | | -- MOS_MIGRATED_REVID=108985661
* Extract Attribute serialization logicGravatar Michajlo Matijkiw2015-11-20
| | | | | -- MOS_MIGRATED_REVID=108368348
* Modify SkyQueryEnvironment to work in stream mode. This streaming system is ↵Gravatar Miguel Alcon Pinto2015-11-19
| | | | | | | pretty simple: It aggregates up to 10k elements and then it notifies the parent. -- MOS_MIGRATED_REVID=108144202
* Allow output formatters to work in stream mode.Gravatar Miguel Alcon Pinto2015-11-19
| | | | | -- MOS_MIGRATED_REVID=108142169
* Split off a BUILD file for query2/ , sort targets in build/lib/BUILD.Gravatar Han-Wen Nienhuys2015-11-11
| | | | | -- MOS_MIGRATED_REVID=107483083
* Aspect terminology update.Gravatar Dmitry Lomov2015-11-10
| | | | | | | | Aspect => ConfiguredAspect AspectWithParameters => Aspect -- MOS_MIGRATED_REVID=107375211
* Transform Blaze query to be able to work in streamed mode.Gravatar Miguel Alcon Pinto2015-11-06
| | | | | -- MOS_MIGRATED_REVID=107249788
* Parametrize aspect definition with AspectParameters.Gravatar Dmitry Lomov2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106848269
* Introduce QuiescingExecutorGravatar Mark Schaller2015-11-02
| | | | | | | | | | | | This interface (mostly) encapsulates what the ValueVisitor expects from the AbstractQueueVisitor class it currently inherits from. This makes it easier for a future CL to change ValueVisitor's strategy of code reuse from inheritance to composition. RELNOTES: -- MOS_MIGRATED_REVID=106728863
* Implement propagation along dependencies for Skylark aspects.Gravatar Dmitry Lomov2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106694515
* 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
* In SkyQueryEnvironment, check TransitiveTraversalValues for errorsGravatar Mark Schaller2015-10-22
| | | | | | | | | | | | | | | In SkyQueryEnvironment, the buildTransitiveClosure method ignored the error messages in successfully evaluated TransitiveTraversalValues, under the belief that any such error messages are also obtainable by calling getMissingAndExceptions. This happens to be true right now, but may not be true in the future. If, in particular, the TransitiveTraversal skyfunction inlines its call to the TargetMarker skyfunction, those error messages won't be available through getMissingAndExceptions. -- MOS_MIGRATED_REVID=105980430
* Make 'blaze query --output=build' 25 times faster.Gravatar Laurent Le Brun2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105854596
* 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
* Allow other ExecutorService implementations in AbstractQueueVisitorGravatar Mark Schaller2015-10-13
| | | | | | | Previously, only ThreadPoolExecutor implementations were allowed. -- MOS_MIGRATED_REVID=105340237
* Add the ability to filter out attributes when doing queries.Gravatar Miguel Alcon Pinto2015-10-09
| | | | | -- MOS_MIGRATED_REVID=104979750
* Rename PackageManager.getTargetPatternEvaluator to newTargetPatternEval.Gravatar Ulf Adams2015-09-30
| | | | | | | | Also change the semantics to create a new one on every call; inject the offset where we were previously relying on hidden state in the SkyframeExecutor. -- MOS_MIGRATED_REVID=104188580
* Don't crash when building environment groups directlyGravatar Greg Estren2015-09-30
| | | | | | | | | | (following PackageGroup's precedent). Also cleanup: generalize the pattern by which we determine non-configurable target types. -- MOS_MIGRATED_REVID=104125803
* 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
* Make TargetFormatter available for tests.Gravatar Janak Ramakrishnan2015-09-24
| | | | | -- MOS_MIGRATED_REVID=103798663
* Improve performance of Sky query.Gravatar Miguel Alcon Pinto2015-09-24
| | | | | -- MOS_MIGRATED_REVID=103793399
* Make aspect resolver and dependencyFilter transient, as they are not ↵Gravatar Miguel Alcon Pinto2015-09-23
| | | | | | | serializable. -- MOS_MIGRATED_REVID=103678330
* 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
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Stop throwing an exception if a Package was successfully created but ↵Gravatar Janak Ramakrishnan2015-09-17
| | | | | | | | | | | contains errors. Instead, require callers to process the package and throw if they need to. This allows us to avoid embedding a Package in an exception, which is icky. This also allows us to remove Package#containsTemporaryErrors. Most callers' changes are fairly straightforward. The exception is EnvironmentBackedRecursivePackageProvider, which cannot throw an exception of its own in case of a package with errors (because it doesn't do that in keep_going mode), but whose request for a package with errors *should* shut down the build in case of nokeep_going mode. To do this in Skyframe, we have a new PackageErrorFunction which is to be called only in this situation, and will unconditionally throw. EnvironmentBackedRecursivePackageProvider can then catch this exception and continue on as usual, except that the exception will shut down the thread pool in a nokeep_going build. -- MOS_MIGRATED_REVID=103247761
* Remove commentGravatar Miguel Alcon Pinto2015-09-16
| | | | | | | | | | | | Also includes the following changes: Fix a bug in which the dead code pruner throws if users specify J2ObjC proto classes as entry classes. -- Make skyquery more optimal. -- MOS_MIGRATED_REVID=103213483
* Parse the label syntax "@//a:b" so that eventually we can make that the ↵Gravatar Lukacs Berki2015-09-15
| | | | | | | | | syntax that means "refer to the main repository". There isn't an overarching plan for what we are going to do with the cmdline package, which seems to be separated from the .syntax one in all sorts of awkward ways. -- MOS_MIGRATED_REVID=103088960
* Fix rbuildfiles query operation for broken packages. We use to assume that ↵Gravatar Miguel Alcon Pinto2015-09-11
| | | | | | | all the packages referenced by subinclude files should be in the graph. But this is not the case when the package is in error (The package is in the graph but as an error value, not as a package value). This produced the crash seen in [1] for a simple query like rbuildfiles(broken/BUILD). -- MOS_MIGRATED_REVID=102869135
* Don't expose includeGlobs in PackageSerializer public interfaceGravatar Michajlo Matijkiw2015-09-11
| | | | | | | | We always set this false when calling from outside PackageSerializer. Hide it away since we don't need it and so that we don't get tempted. -- MOS_MIGRATED_REVID=102864146
* Refactor Skylark Environment-sGravatar Francois-Rene Rideau2015-09-11
| | | | | | | | | | | | | | | | | | | | Make Environment-s freezable: Introduce a class Mutability as a revokable capability to mutate objects in an Environment. For now, only Environment-s carry this capability. Make sure that every Mutability is revoked in the same function that create... This reinstates a change that previously rolled-back because it broke the serializability of SkylarkLookupValue. Bad news: serializing it succeeds for the wrong reason, because a SkylarkEnvironment was stored as a result (now an Environment.Extension) that was Serializable but inherited its bindings from an Environment (now an Environment.BaseExtension) which wasn't Serializable. Apparently, Java doesn't try to serialize the bindings then (or at least doesn't error out when it fails), because these bindings map variable names to pretty arbitrary objects, and a lot of those we find in practice aren't Serializable. Thus the current code passes the same tests as the previous code, but obviously the serialization is just as ineffective as it used to be. -- MOS_MIGRATED_REVID=102776694
* Stop serializing/deserializing Locations as part of PackagesGravatar Michajlo Matijkiw2015-09-11
| | | | | | | | | | | | They're not cheap to serialize or reconstitute and we don't really need them. This does leave some odd ends around, in particular i decided to keep deserialization context around as i can picture use for it soon. Also return non-null values from all of EmptyLocation's method since while the javadocs declare that LineAndColumn and Path can be null, there does exist code which does not take this into account, this is for another change. -- MOS_MIGRATED_REVID=102758810
* The rbuildfiles operator in blaze query now correctly handles loads and ↵Gravatar John Field2015-09-09
| | | | | | | subincludes of files in subdirectories of a package. -- MOS_MIGRATED_REVID=102659838
* Use AutoProfiler in the Bazel codebase.Gravatar Nathan Harmata2015-09-08
| | | | | -- MOS_MIGRATED_REVID=102584924