aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
Commit message (Collapse)AuthorAge
* Fixed broken link in the documentation.Gravatar Florian Weikert2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120695090
* Updated javadoc that was invalidated by commit ↵Gravatar Florian Weikert2016-04-25
| | | | | | | 0dbe07f017d391aba0613b4e6ca1503b62382ccd -- MOS_MIGRATED_REVID=120687334
* Add a --legacy_external_runfiles optionGravatar Kristina Chodorow2016-04-25
| | | | | | | | This isn't hooked up to anything yet, but is another piece of getting #848 rolled forward. -- MOS_MIGRATED_REVID=120582973
* Make suffix a PathFragmentGravatar Kristina Chodorow2016-04-22
| | | | | | | | | Breaking up the runfiles tree change into some smaller changes this time around. First step of rolling forward #848. -- MOS_MIGRATED_REVID=120553288
* Make aspects work through bind(). Gravatar Lukacs Berki2016-04-22
| | | | | | | | | | | bind() is assumed to be able to provide any provider. This is suboptimal, but beats the alternative of traversing the dependency graph to an arbitrary depth. The reason for the removal of the iteration ability in TransitiveInfoCollection is that now aspects can be attached to BindConfiguredTarget, too, which is not a RuleConfiguredTarget. Whereas I could have implemented the iterator, it was used only in BindConfiguredTarget anyway, so there didn't seem to be much reason to. Some work towards #952. -- MOS_MIGRATED_REVID=120549877
* Make ConstraintSemantics.java compile again with all supported JDKs.Gravatar Lukacs Berki2016-04-22
| | | | | -- MOS_MIGRATED_REVID=120540937
* Remove FileProvider.label.Gravatar Ulf Adams2016-04-22
| | | | | -- MOS_MIGRATED_REVID=120539626
* Register instances instead of classes as Skylark-visible globals.Gravatar Dmitry Lomov2016-04-22
| | | | | -- MOS_MIGRATED_REVID=120538736
* Automated [] rollback of commit 857cda2c45a5cc68c3fa398311c48c571a64915d and ↵Gravatar Damien Martin-Guillerez2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | commit 790d2f6009d47fe92cf0cd92a1473bbf0141f32e. *** Reason for rollback *** Broke non-Bazel projects on ci.bazel.io Fixes #1168 *** Original change description *** Move the runfiles for external repositories to under the x.runfiles/ directory This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles.... *** -- MOS_MIGRATED_REVID=120535721
* Remove all internal calls to FileProvider.getLabel.Gravatar Ulf Adams2016-04-22
| | | | | | | | The method will be removed in a subsequent change to facilitate reverting the change in case it goes bad. -- MOS_MIGRATED_REVID=120526894
* Make constraints and select() work well with each other.Gravatar Greg Estren2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements most of a design proposal that splits constraint checking into two pieces: *static* checks, which apply the standard constraint checking done today, and *refined* checks, which selectively prune environments based on select paths and check that not every environment gets pruned out. As a result of this change, dependencies like: java_library( name = "lib", restricted_to = [":A", ":B"], deps = select({ ":config_a": [":depA"], ":config_b": [":depB"], })) java_library( name = "depA", restricted_to = [":A"]) java_library( name = "depB", restricted_to = [":B"]) are allowed. Specifically, even though neither "depA" nor "depB" supports [":A", ":B"], the combination of the two does. So the select as a whole supports all environments declared in lib, even though only one of those environments actually gets chosen for a given build. Refinement makes lib "match" the chosen path. So for "config_a" builds, lib's environment set is "refined" down to [":A"], meaning [":B"]-restricted rules cannot depend on it. Likewise, for "config_b" builds, lib's environment set is "refined" down to [":B"], meaning [":A"]-restricted rules cannot depend on it. This guarantees that the restrictions imposed by the chosen select path propagate faithfully up the dependency chain. See new documentation in ConstraintSemantics.java for more details. -- MOS_MIGRATED_REVID=120464241
* Remove FilesToRunProvider.label.Gravatar Ulf Adams2016-04-22
| | | | | | | The TransitiveInfoProvider already contains a label, use that instead. -- MOS_MIGRATED_REVID=120443298
* Make source manifest caching catch external runfile changesGravatar Kristina Chodorow2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120442698
* Clean up the runfiles / files-to-run related code a bit.Gravatar Ulf Adams2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120433463
* Refactor the Event class; always construct through static methods.Gravatar Ulf Adams2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120418505
* --Gravatar Michael Staib2016-04-21
| | | | MOS_MIGRATED_REVID=120353718
* Remove RuleConfiguredTarget#getMandatoryStampFiles().Gravatar Lukacs Berki2016-04-20
| | | | | | | This is apparently unused. -- MOS_MIGRATED_REVID=120317405
* Introduce SplitTransitionProvider, to determine the split transition on an ↵Gravatar Chris Parsons2016-04-20
| | | | | | | attribute based on the Rule itself (the transition may thus be determined based on the values of other attributes of the rule) -- MOS_MIGRATED_REVID=120275649
* Move the runfiles for external repositories to under the x.runfiles/ directoryGravatar Kristina Chodorow2016-04-20
| | | | | | | | | | | | | | | This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles. --- Furthermore, if a Bazel project does not provide a workspace name in the WORKSPACE file, Bazel will now default to using __main__ as the workspace name (instead of "", as previously). The repository's runfiles will appear under x.runfiles/__main__/. -- MOS_MIGRATED_REVID=120224534
* Review a number of action subclasses and update them according to the spec.Gravatar Ulf Adams2016-04-19
| | | | | | | | Consists of adding @Immutable annotations, adding final modifiers, and changing the types of fields to immutable types. -- MOS_MIGRATED_REVID=120221067
* Add mechanism to crosstool language to specify action-specific execution ↵Gravatar Cal Peyser2016-04-19
| | | | | | | requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool. -- MOS_MIGRATED_REVID=120218079
* Review a number of action subclasses and update them according to the spec.Gravatar Ulf Adams2016-04-19
| | | | | | | | | | Second pass. Consists of adding @Immutable annotations, adding final modifiers, and changing the types of fields to immutable types. -- MOS_MIGRATED_REVID=120216592
* Rename LateBoundLabel#getDefault(Rule, AttributeMap, T) to #resolve().Gravatar Lukacs Berki2016-04-19
| | | | | | | Its old name was confusing because resolve() and getDefault() do radically different things: getDefault() returns a good enough lie for when BuildConfiguration is not available, and resolve() resolves the dependency when we do have a BuildConfiguration. -- MOS_MIGRATED_REVID=120212630
* Refactor the coverage report module to make it less stateful.Gravatar Ulf Adams2016-04-18
| | | | | -- MOS_MIGRATED_REVID=120112783
* Expose __init__.py filenames to SkylarkGravatar Brian Silverman2016-04-15
| | | | | | | | | | | | This is important for packaging Python code in a way which is compatible with the way Bazel builds its standard runfiles directory. Refs #671 -- Change-Id: Ica2adab481cfecabb84b608cd952b0cae5a8653c Reviewed-on: https://bazel-review.googlesource.com/#/c/2900/ MOS_MIGRATED_REVID=119945845
* Roll-foward of commit 351475627b9e94e5afdf472cbf465f49c433a25e which was ↵Gravatar Nathan Harmata2016-04-14
| | | | | | | rolled back in commit 1250fdac4c7769cfa200af8b4f9b061024356fea. There was nothing wrong with that change. -- MOS_MIGRATED_REVID=119756383
* Rollback of commit 351475627b9e94e5afdf472cbf465f49c433a25e.Gravatar Florian Weikert2016-04-12
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=119625653
* In RuleDefintion, use AutoValue and delete the checked-in generated code for it.Gravatar Carmi Grushko2016-04-08
| | | | | -- MOS_MIGRATED_REVID=119369970
* Expose method on ruleContext for retrieving TransitiveInfoProviders by ↵Gravatar Chris Parsons2016-04-08
| | | | | | | | | configuration. This is useful for obtaining child split configurations and the information they provide. -- MOS_MIGRATED_REVID=119295699
* Allow actions to specify if extra actions can attach to them.Gravatar Janak Ramakrishnan2016-04-07
| | | | | -- MOS_MIGRATED_REVID=119203499
* Clean the API of ProtoCompileAction, in preparation for making the ↵Gravatar Carmi Grushko2016-04-07
| | | | | | | proto-compiler use a params file. -- MOS_MIGRATED_REVID=119193368
* Expose ObjcConfiguration to Skylark as fragment "objc" along with callable ↵Gravatar Erik Abair2016-04-07
| | | | | | | | | methods to return compiler options useful for reflection in aspects. RELNOTES[NEW]: Objective-C compiler information is now available to Skylark. -- MOS_MIGRATED_REVID=119160290
* Remove AspectClass.getDefinitionGravatar Dmitry Lomov2016-04-07
| | | | | | | | | | Aspect becomes a triple (AspectClass, AspectDefinition, AspectParameters) and loses its equals() method. After this CL, SkylarkAspectClass.getDefintion still exists and is deprecated. -- MOS_MIGRATED_REVID=119159653
* Eliminate BuildConfiguration.Fragment#prepareForExecutionPhase().Gravatar Lukacs Berki2016-04-07
| | | | | | | It is only used for FDO, for which purpose it seems to be unnecessary. -- MOS_MIGRATED_REVID=119151709
* Move FDO support to the analysis phase by wrapping FdoSupport in its own ↵Gravatar Lukacs Berki2016-04-07
| | | | | | | | | | | SkyFunction. This removes one of the two reasons for the existence of BuildConfiguration#prepareToBuild() which makes implementing dynamic configurations impossible and also makes FDO support halfway sane; now FDO is exactly as ugly as remote repositories, that is to say, reasonably okay. Ideally, we'd implement the zip extraction as an Action and make it a TreeArtifact, but support for TreeArtifacts is not mature yet enough, so it's not possible at the moment. -- MOS_MIGRATED_REVID=119150223
* Make non-empty attribute checks happen during analysis of the target in ↵Gravatar Nathan Harmata2016-04-07
| | | | | | | question, rather than during loading of the target's package. This way a target's package won't be in error if e.g. an unrelated target has empty 'srcs'. -- MOS_MIGRATED_REVID=119079777
* Description redacted.Gravatar Googler2016-04-07
| | | | | -- MOS_MIGRATED_REVID=119053259
* Dig out the builtin include file from the filegroup of libc_top instead of ↵Gravatar Lukacs Berki2016-04-04
| | | | | | | | | | | special-casing it in CppConfiguration. This seems to be the most reasonable solution. I was toying with the idea of adding a field to CROSSTOOL but that would fail if you set libc_top to something other than what was specified in that file. If I had a infinite amount of time, I'd create a custom rule called cc_libc where libc_top would point so that this file can be referenced by an attribute, but since I don't, this seems to be workable compromise. Also note that contrary to what you'd glean from the code, we don't actually have "compile" and "link" filegroups for libc. -- MOS_MIGRATED_REVID=118921101
* Remove BuildConfiguration#supportsIncrementalBuild , which is apparently unused.Gravatar Lukacs Berki2016-04-01
| | | | | | | BuildConfiguration.Fragment is much more complicated than it should be. Every little helps. -- MOS_MIGRATED_REVID=118783105
* Reimplement the configuration sanity check as a per-fragment check.Gravatar Ulf Adams2016-03-31
| | | | | | | | | This is conceptually better (because each fragment should be self-contained), and gives us better performance, as we no longer need to load all explicit labels. -- MOS_MIGRATED_REVID=118674470
* Make C++ autoconfigured toolchain the default for Linux and OS X.Gravatar Damien Martin-Guillerez2016-03-31
| | | | | | | This is done by adding a default workspace suffix. -- MOS_MIGRATED_REVID=118656979
* Enable the configuration sanity check for a subset of tests.Gravatar Ulf Adams2016-03-31
| | | | | | | | | | | Also remove a try-catch block, which was converting all configuration creation errors to IllegalStateException. This uncovered a bug in CppOptions, which wasn't adding host_grte_top to the set of explicit labels. -- MOS_MIGRATED_REVID=118654358
* Rollback of commit cd6ca1d7a8bf947eb7c68a82ec2f1c0512d18169.Gravatar Tobias Werth2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118567315
* Remove the unused loadingEnabled param from BuildView.update.Gravatar Ulf Adams2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118560010
* Use the local shell environment for invoking build-runfiles.Gravatar Lukacs Berki2016-03-30
| | | | | | | This is necessary because build-runfiles depends on the msys shared library, which (as per DLL lookup rules on Windows) is checked under the entries of PATH. -- MOS_MIGRATED_REVID=118556684
* Remove calls of CommandEnvironment.getView; remove ide-info from BuildView.Gravatar Ulf Adams2016-03-30
| | | | | | | This makes the late initialization of BuildView more obviously safe. -- MOS_MIGRATED_REVID=118469655
* Add toString() method to LabelAndConfiguration.Gravatar Janak Ramakrishnan2016-03-24
| | | | | -- MOS_MIGRATED_REVID=118049325
* Always apply invocation policy when constructing build options.Gravatar Janak Ramakrishnan2016-03-24
| | | | | -- MOS_MIGRATED_REVID=117939121
* Signal that the info command does not buildGravatar Klaus Aehlig2016-03-24
| | | | | | | | | | | | | | In the experimental UI, during build, STDOUT and STDERR events are reported as separate events, properly terminated by CR LF. After the completion of the build, however, STDOUT and STDERR are passed through byte by byte, to allow nicely formatted output. Info commands, however, do not build, so there is no event to signal end of build; hence report that fact directly to the UI. -- Change-Id: Ic236d33ee6e65637016370e15ed37e3d9494a258 Reviewed-on: https://bazel-review.googlesource.com/#/c/3122 MOS_MIGRATED_REVID=117934742
* Add comments to analysis-phase objects so future developers won't ↵Gravatar Janak Ramakrishnan2016-03-23
| | | | | | | accidentally keep references to them after the analysis phase. -- MOS_MIGRATED_REVID=117855145