aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
Commit message (Collapse)AuthorAge
* ArtifactFactory.findSourceRoot now handles the case where an execPath refers ↵Gravatar Philipp Wollermann2015-10-22
| | | | | | | to a remote repository. -- MOS_MIGRATED_REVID=106051348
* Assert the specific type of event, not just the existence of any event.Gravatar Ulf Adams2015-10-22
| | | | | | | | Also remove a bunch of custom uses of EventCollector, and use the (already existing) EventCollectionApparatus instead. -- MOS_MIGRATED_REVID=106047665
* Add missing dash for -finline-limit=300Gravatar Steven Dee2015-10-22
| | | | | | | -- Change-Id: Ic19a8292e1c57623085daa6ce3cbf280cdf7129e Reviewed-on: https://bazel-review.googlesource.com/2180 MOS_MIGRATED_REVID=106035838
* Have @SkylarkCallable methods accept Iterable instead of CollectionGravatar Francois-Rene Rideau2015-10-22
| | | | | | | This makes it possible to call these methods with lists from Skylark, which are internally Iterable<>'s but not Collection<>'s. -- MOS_MIGRATED_REVID=106003065
* Description redacted.Gravatar Alex Humesky2015-10-22
| | | | | -- MOS_MIGRATED_REVID=105999401
* Process tasks in the AbstractQueueVisitor in LIFO order as opposed to FIFO ↵Gravatar Janak Ramakrishnan2015-10-22
| | | | | | | | | order. In general, there's no advantage in Blaze to FIFO, and it means that we effectively do breadth-first graph traversal. When we must hold state for incomplete nodes (as we do with action execution, or more generally, as we do in Skyframe), this increases our memory footprint. LIFO is not exactly depth-first traversal, since we are multithreaded, but to a first approximation, it looks like a depth-first traversal with "width" the number of threads (at each level of the graph, #(threads) nodes are visited). -- MOS_MIGRATED_REVID=105995014
* 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
* 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
* 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
* Description redacted.Gravatar Googler2015-10-22
| | | | | -- MOS_MIGRATED_REVID=105975871
* Remove transitive data from Android Studio aspect.Gravatar Googler2015-10-22
| | | | | | | | The cost-benefit isn't there to pay a square cost to roll these up on the blaze side. Android Studio has to do it on its end instead. -- MOS_MIGRATED_REVID=105971068
* Narrow return type of ContainingPackageLookupValue.withContainingPackageGravatar Michajlo Matijkiw2015-10-22
| | | | | -- MOS_MIGRATED_REVID=105969015
* Trying again with checking for the presence of the "resources" attribute and ↵Gravatar Googler2015-10-21
| | | | | | | | | | | | | | | | | deduplication of transitive and direct dependencies in the AndroidProcessingAction. Change the resource dependency handling to separate between the transitive and direct resources from libraries. This slightly increases the complexity of resource propagation. The initial algorithm was to simply merge all transitive ResourceContainers together with any new ResourceContainer and propagate them via the AndroidResourcesProvider. The new algorithm is encapsulated inside a new ResourceDependencies class which works as follows: 1. Collect resources from the deps into transitive and direct NestedSets 2. If a rule provides a ResourceContainer, merge the transitive and direct into a new transitive set 3. Export the provider This results having a rule without resources "forward" the merged sets of transitive and direct resources to the next rule. -- MOS_MIGRATED_REVID=105960655
* Lexer: Handle triple quoted raw strings (e.g. r"""abc""").Gravatar Laurent Le Brun2015-10-21
| | | | | -- MOS_MIGRATED_REVID=105956734
* 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
* Add some strip/rstrip/lstrip testsGravatar Googler2015-10-21
| | | | | | | and fix the bugs that showed up as a result. -- MOS_MIGRATED_REVID=105896905
* Delete unused NoSuchPackageException subclassGravatar Mark Schaller2015-10-21
| | | | | -- MOS_MIGRATED_REVID=105878456
* Global cleanup change.Gravatar Googler2015-10-21
| | | | | -- MOS_MIGRATED_REVID=105877617
* Include memleaks plugin support for experimental_ios_testGravatar Chris Parsons2015-10-21
| | | | | -- MOS_MIGRATED_REVID=105876178
* Improve documentation for resolve_commandGravatar Francois-Rene Rideau2015-10-21
| | | | | -- MOS_MIGRATED_REVID=105875176
* Check invalid empty dict attributesGravatar Francois-Rene Rideau2015-10-21
| | | | | | | | In checkAttrValNonEmpty, also check dict values for emptiness when the attribute was declared non-empty. -- MOS_MIGRATED_REVID=105871620
* Add support for Windows zip permissionsGravatar Kristina Chodorow2015-10-20
| | | | | | | | | Fixes #518. RELNOTES: Add support for Windows-created zip files with non-posix permissions. -- MOS_MIGRATED_REVID=105865785
* Unify Skylark and BUILD listsGravatar Francois-Rene Rideau2015-10-20
| | | | | | | | Use SkylarkList everywhere rather than either List or GlobList. Keep a GlobList underneath a MutableList, where applicable. -- MOS_MIGRATED_REVID=105864035
* Add netrc support to GitCloneFunction.Gravatar Erik Gilling2015-10-20
| | | | | | | -- Change-Id: Ib82d20394b85433d7b0aae4a71f07ec1af068fa0 Reviewed-on: https://bazel-review.googlesource.com/#/c/2140/ MOS_MIGRATED_REVID=105856861
* Add %crosstool_top% metasyntax for builtin cxx include directories.Gravatar Googler2015-10-20
| | | | | | | | | | | | Instead of two metasyntactic variables and one random bit of magic which changes relative paths to be children of crosstool, we now have three consistent pieces of metasyntax; except that since we can't actually remove the old syntax, we have either way for the time being. RELNOTES[NEW]: accept %crosstool_top% in cxx_builtin_include_directory -- MOS_MIGRATED_REVID=105854779
* Make 'blaze query --output=build' 25 times faster.Gravatar Laurent Le Brun2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105854596
* 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
* Move most of BlazeRuntime.beforeCommand() to CommandEnvironment.Gravatar Ulf Adams2015-10-20
| | | | | -- MOS_MIGRATED_REVID=105841866
* 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
* Move workingDirectory to CommandEnvironment.Gravatar Ulf Adams2015-10-20
| | | | | | | Preparation for running multiple commands in parallel. -- MOS_MIGRATED_REVID=105840167
* Reduce memory churn when expanding many nested sets: Use compact hashset for ↵Gravatar Eric Fellheimer2015-10-20
| | | | | | | | | hte uniqueifer and size them smaller when we're under the memoization threshold. A heap dump (with retained garbage) showed many of these sets sitting around, most at under 60% fill ratio. -- MOS_MIGRATED_REVID=105818028
* 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
* Make the incompatibility between dynamic configurationsGravatar Greg Estren2015-10-20
| | | | | | | | | and --nodistinct_host_configuration explicit. This particularly helps triaging the Bazel tests when --experimental_dynamic_configs is on. -- MOS_MIGRATED_REVID=105801590
* Allow relative CxxBuiltinDirectories not just under crosstool or sysroot.Gravatar Googler2015-10-20
| | | | | | | | | | cxx_builtin_include directories which start with "%workspace%/" are taken to be relative to the build workspace, and not relative to crosstool-top. RELNOTES[NEW]: cpxx_builtin_include_directory specifications allow more flexibility. -- MOS_MIGRATED_REVID=105789270
* Also forward the exported_plugins of the rules in the deps of anGravatar Alex Humesky2015-10-20
| | | | | | | | | | | android_library rule when the android_library is being used as a forwarding rule (i.e., has no sources). RELNOTES: When used as a forwarding rule (i.e., has no sources), android_library will also forward any exported_plugins in its dependencies. -- MOS_MIGRATED_REVID=105787789
* Don't log SchedulerExceptions.Gravatar Nathan Harmata2015-10-20
| | | | | | | RELNOTES: None -- MOS_MIGRATED_REVID=105787681
* 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
* Automated [] rollback of [].Gravatar Eric Fellheimer2015-10-20
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks many android targets in the depot. *** Original change description *** Trying again with checking for the presence of the "resources" attribute. Change the resource dependency handling to separate between the transitive and direct resources from libraries. This slightly increases the complexity of resource propagation. The initial algorithm was to simply merge all transitive ResourceContainers together with any new ResourceContainer and propagate them via the AndroidResourcesProvider. The new algorithm is encapsulated inside a new ResourceDependencies class which... *** ROLLBACK_OF=105631635 -- MOS_MIGRATED_REVID=105752015
* Quick workaround for #473 that reenables hdrs_check in Bazel to unblock the ↵Gravatar Philipp Wollermann2015-10-19
| | | | | | | | | | | | | | | release. Note the following peculiarities of the current situation: - Sandboxed execution still silently falls back to non-sandboxed execution due to LocalGccStrategy explicitly requesting local execution. - However, builds are still correct due to local execution using hdrs_check. - hdrs_check, even though it was intended to default to "strict" in Bazel from the start, is still set to "loose" by default, so you might accidentally be using non-declared header files in your cc_* targets. In this case, your builds will break when the default becomes hdrs_check=strict and sandboxing becomes available. It is recommended that you check whether your builds are affected, by specifying --hdrs_check=strict manually and fixing your BUILD files to explicitly list all used includes in the srcs / hdrs attributes of your cc_* targets. These remaining issues will be fixed in an upcoming change. This change also adds regression tests for the issue. -- MOS_MIGRATED_REVID=105747212
* 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
* Trying again with checking for the presence of the "resources" attribute.Gravatar Googler2015-10-19
| | | | | | | | | | | | | | | Change the resource dependency handling to separate between the transitive and direct resources from libraries. This slightly increases the complexity of resource propagation. The initial algorithm was to simply merge all transitive ResourceContainers together with any new ResourceContainer and propagate them via the AndroidResourcesProvider. The new algorithm is encapsulated inside a new ResourceDependencies class which works as follows: 1. Collect resources from the deps into transitive and direct NestedSets 2. If a rule provides a ResourceContainer, merge the transitive and direct into a new transitive set 3. Export the provider This results having a rule without resources "forward" the merged sets of transitive and direct resources to the next rule. -- MOS_MIGRATED_REVID=105631635
* Change the way sources are gathered for ASwB aspect.Gravatar Googler2015-10-19
| | | | | | | | | | | | | | | This fixes android_resources being dropped on the ground because the source jar isn't included. Previously, the java compilation args were used. This includes a bunch of implicit and generated source, like idl sources. The source jars include output from resource processing the rule itself, so it wasn't possible to start including that. What we want are all explicit sources only. This CL does that. -- MOS_MIGRATED_REVID=105624870