aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
Commit message (Collapse)AuthorAge
* 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
* []Rollback of commit 65425810207c9fd6892abfaa95da65e25db5e515.Gravatar Googler2015-10-16
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks []. *** Original change description *** 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... *** -- MOS_MIGRATED_REVID=105598448
* Implement aspect(...) Skylark function.Gravatar Dmitry Lomov2015-10-16
| | | | | -- MOS_MIGRATED_REVID=105596479
* Change the resource dependency handling to separate between the transitive ↵Gravatar Googler2015-10-16
| | | | | | | | | | | | | | | 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=105515074
* Remove command_helper, use resolve_command insteadGravatar Francois-Rene Rideau2015-10-15
| | | | | | | Eliminate side-effect in command_line_srcs and hide the internal class. -- MOS_MIGRATED_REVID=105480701
* Description redacted.Gravatar Googler2015-10-13
| | | | | -- MOS_MIGRATED_REVID=105214382
* Make RedirectChaser follow redirects through external repositories correctly ↵Gravatar Lukacs Berki2015-10-09
| | | | | | | and implement a "@//" label syntax that always points to the main repository. -- MOS_MIGRATED_REVID=105041493
* Description redacted.Gravatar Francois-Rene Rideau2015-10-08
| | | | | -- MOS_MIGRATED_REVID=104886879
* Rules created by Skylark Macros now store the workspace-relative path of the ↵Gravatar Florian Weikert2015-10-07
| | | | | | | respective macro in the attribute "generator_location". -- MOS_MIGRATED_REVID=104757928
* 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
* Remove extraneous check in DependencyResolver.Gravatar Michael Staib2015-10-06
| | | | | | | | At this point in the method we already know that aspect != null, because we're in the else-branch of an if (aspect == null). -- MOS_MIGRATED_REVID=104674784
* Add a Constants.TOOLS_PREFIX constant that will serve to redirect the Bazel ↵Gravatar Lukacs Berki2015-10-05
| | | | | | | | | | | tools repository. This is a no-op refactoring CL. The actual switch will be made once everything passes with the new setup. As a side cleanup, change the awkward realAndroidSdk() / realAndroidCrosstoolTop() mechanism to a converter. -- MOS_MIGRATED_REVID=104649067
* Remove getSplitTransitionTable - this method is never used.Gravatar Greg Estren2015-10-05
| | | | | -- MOS_MIGRATED_REVID=104533375
* Extract configuration fragment access logic into ConfigurationFragmentPolicy.Gravatar Michael Staib2015-09-30
| | | | | | | | | | | This is the first step toward giving aspects the ability to define their own required configuration fragments, extracting the required configuration metadata into a common place. This should be a no-op refactoring. -- MOS_MIGRATED_REVID=104249500
* 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
* Remove BuildView.packageManager, which was only used for testing.Gravatar Ulf Adams2015-09-30
| | | | | | | | Now that we have an EventHandler everywhere, we can just use the bridge code to call into the usual PackageManager. -- MOS_MIGRATED_REVID=104098660
* BuildView; move the methods around.Gravatar Ulf Adams2015-09-28
| | | | | | | | Production API at the top, then ide_build_info, and testing at the bottom. This is separate from the refactoring to make both easier to review. -- MOS_MIGRATED_REVID=104095498
* Refactor BuildView; clearly identify the ide_build_info and the testing API.Gravatar Ulf Adams2015-09-28
| | | | | | | Also inject the EventHandler all the way through to the SkyframeExecutor. -- MOS_MIGRATED_REVID=104094731
* Move the remaining state from BuildView to SkyframeBuildView.Gravatar Ulf Adams2015-09-28
| | | | | -- MOS_MIGRATED_REVID=104009600
* Remove BuildView.skyframeCacheWasInvalidated.Gravatar Ulf Adams2015-09-28
| | | | | | | | | | | | It was mainly used for testing during the transition phase to Skyframe. The only reason I can see to keep it would be to have test coverage that changing the configuration drops the configured targets. However, do we even want that? I tried to find out whether it's safe to remove that check (the corresponding comment is outdated), but couldn't find where (if anywhere) we're doing garbage collection of old configured targets. -- MOS_MIGRATED_REVID=104009210
* Remove BuildView.binTools, which was only used for tests.Gravatar Ulf Adams2015-09-28
| | | | | -- MOS_MIGRATED_REVID=104008237
* Move BuildView.getActionGraph to SkyframeExecutor.Gravatar Ulf Adams2015-09-28
| | | | | | | | This is another case of uninterruptible evaluation, which directly accesses SkyframeExecutor.errorEventListener. -- MOS_MIGRATED_REVID=103946310
* 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
* Use Label.parseAbsolute() to determine whether command line options that can ↵Gravatar Lukacs Berki2015-09-25
| | | | | | | | | take absolute paths and labels are labels. This makes them work with labels not in the main repository (i.e. @repo//pkg:target). The alternative would have been to simply add .startsWith("@"), but why try to parse labels in a lame and limited way if we can do the right thing. -- MOS_MIGRATED_REVID=103934380
* Improved error reporting in RuleContext:Gravatar Florian Weikert2015-09-25
| | | | | | | | - Unified duplicate code from RuleContext and RuleContext.Builder in a new class, RuleContext.ErrorReporter - Added the BUILD file location to error/warning messages if the offending rule was created by a macro -- MOS_MIGRATED_REVID=103934375
* Change Attribute.skipConstraintsCheck() (and similar methods)Gravatar Greg Estren2015-09-25
| | | | | | | | | | | | | to Attribute.skipPrereqValidatorCheck. This is to disambiguate the concept of "constraints" and keep the word consciously focused on Bazel's *new* constraint system. The changed methods refer to checks done by PrerequisiteValidator, which is basically an adhoc version of the "old" system (e.g. checking visibility) -- MOS_MIGRATED_REVID=103872412
* Remove the experimental check-deps implementation.Gravatar Ulf Adams2015-09-24
| | | | | -- MOS_MIGRATED_REVID=103839895
* 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
* Better syncing of Google vs. external constraint enforcement.Gravatar Greg Estren2015-09-24
| | | | | -- MOS_MIGRATED_REVID=103768073
* 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
* Avoid LoadedPackageProvider in the PackageProviderForConfigs type hierarchy.Gravatar Ulf Adams2015-09-24
| | | | | | | | | | | | | | The PackageProviderForConfigurations is not a provider of loaded packages; it loads packages unconditionally, and is executed only within SkyFunction evaluation domains. I.e., the old type hierarchy made no sense. Also updated the documentation and renamed getLoadedTarget to getTarget. Note that getLoadedPackage was never called, so I removed it. This is in preparation for removing LoadedPackageProvider. -- MOS_MIGRATED_REVID=103754939
* Rewrite TargetProviderEnvironment to use a PackageProvider.Gravatar Ulf Adams2015-09-24
| | | | | | | This is one step towards eliminating LoadedPackageProvider. -- MOS_MIGRATED_REVID=103752861
* Move ownership of SkyframeBuildView to SkyframeExecutor.Gravatar Ulf Adams2015-09-23
| | | | | | | | Also move ownership of ArtifactFactory to SkyframeBuildView; simplify the code. -- MOS_MIGRATED_REVID=103722228
* Switch objc rules to standard coverage propagation using ↵Gravatar Peter Schmitt2015-09-22
| | | | | | | InstrumentedFilesCollector. -- MOS_MIGRATED_REVID=103642172
* Roll back using labels rather than PathFragments for skylark loads.Gravatar Michajlo Matijkiw2015-09-22
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=103606693
* Use Labels, rather than PathFragments, to represent Skylark loads ↵Gravatar John Field2015-09-22
| | | | | | | | | | | | | | | | | | | internally. This should be a semantics-preserving change for users. In a subsequent CL, I'll change the Skylark syntax to allow load statements to use labels as well as paths, with the goal of eventually deprecating the latter. Also: - Removed the hack for handling relative loads in the prelude file. - Refactored some redundant functionality in PackageFunction and SkylarkImportLookupFunction for handling loads. - Removed the ability to put the BUILD file for the package containing a Skylark file under a different package root than the Skylark file itself. This functionality isn't currently used and is inconsistent with Blaze's handling of the package path elsewhere. - Added BUILD files to a number of tests that load Skylark files; this is consistent with the requirement that all Skylark files need to be part of some package. - Changed the constants used to set the location of the prelude file from paths to labels. -- MOS_MIGRATED_REVID=103567562
* Use OS X compatible gcov with experimental_ios_test.Gravatar Peter Schmitt2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103549584
* Pass the BuildConfigurationCollection into the BuildView testing methods.Gravatar Ulf Adams2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103544466
* 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
* Make sure disabled FDO features are filtered out.Gravatar Googler2015-09-21
| | | | | | | Without this, the FDO features enabled under --fdo* blaze options are not removed when BUILD files contain "features = ['-fdo_instrument', '-fdo_optimize']". -- MOS_MIGRATED_REVID=103431508
* Remove the last call to BuildView.getConfigurationCollection() and the method.Gravatar Ulf Adams2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103380547
* Partially revert change to collect baseline coverage from individual libraries.Gravatar Ulf Adams2015-09-21
| | | | | | | | | | | | | We still want to do that, but not like this. Our infrastructure supports per-target coverage, and so we also need to support per-target baseline coverage. I'm working on better documentation (not hard to be better than no docs), which will cover this. I left a couple of TODOs to explain how we want to do it in the future. -- MOS_MIGRATED_REVID=103379710
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Refactor SkylarkList to allow MutableListGravatar Francois-Rene Rideau2015-09-21
| | | | | | | | Make SkylarkList no longer read-only to match Python and the BUILD language. Instead, subject it to a Mutability object inherited from the Environment. -- MOS_MIGRATED_REVID=103332973
* 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
* 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
* Removed attribute 'generator_location' from rules created by Skylark macros.Gravatar Florian Weikert2015-09-15
| | | | | -- MOS_MIGRATED_REVID=103090380
* 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
* Prevented catching/wrapping of InterruptedExceptions, especially in ↵Gravatar Florian Weikert2015-09-14
| | | | | | | BaseFunction. -- MOS_MIGRATED_REVID=102988766