aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages
Commit message (Collapse)AuthorAge
* Introduce a new SkyValue that merely contains the workspace name. The ↵Gravatar Nathan Harmata2017-02-09
| | | | | | | | | | | | workspace name is needed for package loading, and so splitting out this computation into a separate skyframe node that can be change-pruned gives us better incrementality; previously we'd need to reload all packages on a WORKSPACE file change. N.B. (i) This CL doesn't solve all the other performance issues with //external in Bazel/Blaze since it's still inefficiently used for resolving labels like @foo//bar:baz. (ii) This CL doesn't address the wasteful invalidation + change pruning of all the packages. -- PiperOrigin-RevId: 146925369 MOS_MIGRATED_REVID=146925369
* Allow aspects to adveritise providers they provide.Gravatar Dmitry Lomov2017-02-07
| | | | | | -- PiperOrigin-RevId: 146794883 MOS_MIGRATED_REVID=146794883
* allow skylark implicit output callbacks to use the rule name Gravatar Benjamin Peterson2017-02-01
| | | | | | | | | | | | | | | | | Skylark implicit output callbacks could use any nonconfigurable attribute of the rule except for "name". (As an implementation detail, "name" is easy to overlook because it's a special case in rule attribute map.) In practice, this isn't too much of a problem because the return value of a skylark implicit output callback has %{} substitutions applied to it, which do allow the rule name. However, it is weird and inconsistent to prevent implicit output callbacks from using the name. -- Change-Id: I13149b2e9689ef8b8056c612a29df9da32e39bf3 Reviewed-on: https://cr.bazel.build/8251 PiperOrigin-RevId: 146178693 MOS_MIGRATED_REVID=146178693
* Fix the translation of names of implicit or latebound attributes to their ↵Gravatar Florian Weikert2017-01-30
| | | | | | | | | | Skylark equivalent (from '$attr' and ':attr' to '_attr'). This CL eliminates duplicate code and makes sure that attribute names in SkylarkClassObjects are properly translated. -- PiperOrigin-RevId: 145986380 MOS_MIGRATED_REVID=145986380
* Global cleanup change.Gravatar Googler2017-01-25
| | | | | | -- PiperOrigin-RevId: 145473478 MOS_MIGRATED_REVID=145473478
* Remove the ability for an aspect to propagate a different aspect.Gravatar Dmitry Lomov2017-01-20
| | | | | | | | | This functionality is never used, have never been exposed to Skylark and is a continuous pain to maintain and test. -- PiperOrigin-RevId: 145079832 MOS_MIGRATED_REVID=145079832
* Add ability to specify required aspect providers for aspects.Gravatar Dmitry Lomov2017-01-17
| | | | | | | | It is just a specification yet, it does nothing. -- PiperOrigin-RevId: 144687428 MOS_MIGRATED_REVID=144687428
* Roll forward of commit 5c071429e83b5c6d872c755d3da21ad934638111Gravatar Kristina Chodorow2017-01-13
| | | | | | | | Fixes #1248. -- PiperOrigin-RevId: 144333530 MOS_MIGRATED_REVID=144333530
* Allows a rule class to specify a configuration transtion that will apply to allGravatar Cal Peyser2017-01-12
| | | | | | | | | | incoming edges if dynamic configurations are turned on. This CL does not cover top-level nodes. -- PiperOrigin-RevId: 144258789 MOS_MIGRATED_REVID=144258789
* Add new flag to specify if output_licenses attribute should be checked for ↵Gravatar Irina Iancu2017-01-10
| | | | | | | | | | licenses. Also flipped :jvm attribute from HOST to TARGET and set the new flag on it. -- PiperOrigin-RevId: 144084000 MOS_MIGRATED_REVID=144084000
* Deprecated and removed HOST_CFG and DATA_CFG global variables.Gravatar Vladimir Moskva2017-01-10
| | | | | | | | RELNOTES[INC]: Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings "host" and "data" instead. -- PiperOrigin-RevId: 144069794 MOS_MIGRATED_REVID=144069794
* Encapsulate the required provider logic in RequiredProviders class.Gravatar Dmitry Lomov2017-01-10
| | | | | | | | | For now, only for aspects, but eventually expand to Attribute's mandatory providers as well. -- PiperOrigin-RevId: 144063369 MOS_MIGRATED_REVID=144063369
* Extract a set of advertised providers into a separate class.Gravatar Dmitry Lomov2017-01-10
| | | | | | -- PiperOrigin-RevId: 143991903 MOS_MIGRATED_REVID=143991903
* Minor improvements to error messages.Gravatar Laurent Le Brun2017-01-04
| | | | | | | | In case of conflict, show the location of the original rule. -- PiperOrigin-RevId: 143541281 MOS_MIGRATED_REVID=143541281
* Manually add periods to documentation strings where needed.Gravatar John Cater2017-01-03
| | | | | | | | -- Change-Id: I9ec3209a69ba5a51943b334f278ba93d67d4f9f4 Reviewed-on: https://cr.bazel.build/8090 PiperOrigin-RevId: 143470915 MOS_MIGRATED_REVID=143470915
* Add 'did you mean' suggestion when accessing a struct fieldGravatar Laurent Le Brun2017-01-03
| | | | | | -- PiperOrigin-RevId: 143380643 MOS_MIGRATED_REVID=143380643
* Cleanup in error messages, try to improve consistency.Gravatar Laurent Le Brun2017-01-03
| | | | | | -- PiperOrigin-RevId: 143204724 MOS_MIGRATED_REVID=143204724
* Remove dead code referencing deleted "suites" attribute.Gravatar Greg Estren2016-12-21
| | | | | | | | | This used to be how test_suites depended on other test_suites. Now they just go in "tests". -- PiperOrigin-RevId: 142607603 MOS_MIGRATED_REVID=142607603
* Names of extra-action protos now take into account all aspect names.Gravatar Dmitry Lomov2016-12-16
| | | | | | | | | | | | | If an Aspect registered an action that an extra-action is shadowing, its name is used when creating the extra-action's ID and name. Since recently, an aspect can see other aspects applied to the same target. This CL record the names of other aspects applied to the target as well, disambiguating the action owners. -- PiperOrigin-RevId: 142264153 MOS_MIGRATED_REVID=142264153
* Pass through a "cpu:" tag to the execution info of genrules and tests.Gravatar Philipp Wollermann2016-12-16
| | | | | | | | This might be used to influence resource allocation for actions later. -- PiperOrigin-RevId: 142262023 MOS_MIGRATED_REVID=142262023
* Style edits for ActionsProvider and provider constructorsGravatar Jon Brandvein2016-12-12
| | | | | | -- PiperOrigin-RevId: 141769552 MOS_MIGRATED_REVID=141769552
* Global cleanup change.Gravatar Googler2016-12-07
| | | | | | -- PiperOrigin-RevId: 141307853 MOS_MIGRATED_REVID=141307853
* Add 'aspect_id' for to identify aspects that has been applied to the target.Gravatar Dmitry Lomov2016-12-05
| | | | | | | | | | | | | | | | | | | Add a concept of aspect_id: an unique string that identifies a propagating aspect (aspect class + parameters). This string is designed to be: - Unique for each aspect - human-readable for debugging purposes - not easily parsable. Skylark API: - `ctx.aspect_id` returns an identifier of the current aspect inside aspect implementation function - `Target.aspect_ids` return a list of aspect ids for aspects applied to a given Target (https://www.bazel.io/versions/master/docs/skylark/lib/Target.html) -- PiperOrigin-RevId: 141057865 MOS_MIGRATED_REVID=141057865
* Allow dicts to contain non-comparable objects as keysGravatar Vladimir Moskva2016-12-05
| | | | | | | | | RELNOTES: Skylark dicts internally don't rely on keys order anymore and accept any hashable values (i.e. structs with immutable values) as keys. Iteration order of dictionaries is no longer specified. -- PiperOrigin-RevId: 141055080 MOS_MIGRATED_REVID=141055080
* Move constraint enforcement policy into attribute definitions.Gravatar Greg Estren2016-12-02
| | | | | | | | | This makes is easier to understand and change which attributes are checked. Also turn off checking for "data" and java_* "resources" attributes. -- MOS_MIGRATED_REVID=140771015
* Replace UnixGlob's package glob prefetching functionality with anGravatar Googler2016-12-02
| | | | | | | | optional method in FileSystem. Custom FileSystem implementations can use this to provide their own implementation of glob prefetching. -- MOS_MIGRATED_REVID=140736304
* Rollback of commit c182908910a370b490e7e027b867e11f9f2fb086.Gravatar Michajlo Matijkiw2016-12-01
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=140687884
* Initial commit of cc_proto_library.Gravatar Carmi Grushko2016-12-01
| | | | | | | RELNOTES: cc_proto_library generates C++ code from proto_library rules. -- MOS_MIGRATED_REVID=140680034
* Allow aspects to specify multiple sets of required providers to match ↵Gravatar Rumou Duan2016-12-01
| | | | | | | against rules. Aspects can attach to a rule if at least one set of required providers are present on the rule. -- MOS_MIGRATED_REVID=140605023
* Allow dicts to contain non-comparable objects as keysGravatar Vladimir Moskva2016-11-30
| | | | | | | | RELNOTES: Skylark dicts internally don't rely on keys order anymore and accept any hashable values (i.e. structs with immutable values) as keys. Iteration order of dictionaries is no longer specified. -- MOS_MIGRATED_REVID=140591710
* Support multiple mirror URLs for external reposGravatar Justine Tunney2016-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change improves upon 4c67807964e37cfd55bbcda4c6374fcc480bcecc. - A urls attribute has been added to the native workspace rules, with the exception of maven_jar and git_repository. The Skylark repository API also supports multiple URLs now. - The earlier mirrors in the list are preferred. Failover will happen automatically in parallel. - The first 32kB of data is checked before choosing a mirror in order to evade captive portals. - If one's Internet goes down or a download times out, then the download will resume automatically where it left off, provided the server supports RFC7233 for that particular file. Please note that GitHub does not support this for archive snapshots. Files should always be mirrored to a CDN, e.g. GCS, because they support this. - A semaphore is now used on downloads so only 8 can happen at once. Fixes #1814 Fixes #2131 Fixes #2008 Fixes #1968 Fixes #1717 Fixes #943 Wont fix #1194 Fixes tensorflow/tensorflow#5933 Fixes tensorflow/tensorflow#5924 Fixes tensorflow/tensorflow#5924 Fixes tensorflow/tensorflow#5432 See #1607 See #821 See tensorflow/tensorflow#5080 See tensorflow/tensorflow#5029 See tensorflow/tensorflow#4583 See tensorflow/tensorflow#4058 RELNOTES: A urls attribute has been added to repository rules to support multiple mirror URLs for reliably downloading files. -- MOS_MIGRATED_REVID=140495736
* Provide AspectDescriptor to ConfiguredAspect.Gravatar Dmitry Lomov2016-11-29
| | | | | | | | Also clean up the setting of aspect name in ConfiguredAspect and AspectDefintion - it is now obtained from the AspectClass. -- MOS_MIGRATED_REVID=140357052
* Make SkylarkAttr.Descriptor thread-safe.Gravatar Dmitry Lomov2016-11-24
| | | | | | | Also fixes thread-unsafety in AttributeBuilder.build. -- MOS_MIGRATED_REVID=140118866
* Implement structural equality for structsGravatar Vladimir Moskva2016-11-21
| | | | | | | RELNOTES: Structs in Skylark are tested for structural equality instead of reference equality. -- MOS_MIGRATED_REVID=139583726
* Move Bazel-specific functions in a separate file.Gravatar Laurent Le Brun2016-11-21
| | | | | | | | "type", "set" and "select" should not be part of the standalone Skylark library. -- MOS_MIGRATED_REVID=139578095
* Implement build tag filtering.Gravatar Lukacs Berki2016-11-11
| | | | | | | If the --build_tag_filters option is specified, targets built will be filtered according to their tags (at least one included, none excluded) -- MOS_MIGRATED_REVID=138856195
* Expose aspect-related information in the extra-action proto that Bazel hands ↵Gravatar Carmi Grushko2016-11-11
| | | | | | | | | to action_listener() rules. RELNOTES: Extra actions now contain aspect-related information. -- MOS_MIGRATED_REVID=138832922
* When --experimental_extra_action_top_level_only, Bazel to report ↵Gravatar Carmi Grushko2016-11-09
| | | | | | | | | | | extra-actions for actions registered by Aspects injected by a top-level rule. Because we can't know whether an aspect was injected by a top-level target or one of its children, we approximate it by only reporting extra-actions from Aspects that the top-level target could have injected. RELNOTES: When --experimental_extra_action_top_level_only, Bazel reports extra-actions for actions registered by Aspects injected by a top-level rule (approximately). -- MOS_MIGRATED_REVID=138570606
* bazel query: Gravatar Greg Estren2016-10-28
| | | | | | | | | - Extend https://github.com/bazelbuild/bazel/commit/83ffb5e7bc034ea2dd1e957249079b3884a9450d to --output=xml, --output=proto, too. This makes query much more resilient against freezing / OOMing from "select() + select() + select() + ..." patterns. - Make the above logic accessible to any output type. - Move AggregatingAttributeMapper.flattenAttributeValues to ProtoOutputFormatter, since this is really a utility method for ProtoOutputFormatter. -- MOS_MIGRATED_REVID=137429116
* Move ToolsRepository out of EnvironmentGravatar Laurent Le Brun2016-10-27
| | | | | | | | | Other fields will follow (is_skylark, phase, callerLabel). The goal is to make Environment (and more generally Skylark) less dependent on Bazel. -- MOS_MIGRATED_REVID=137386248
* Cleanup in Environment, remove unused lookup functionGravatar Laurent Le Brun2016-10-27
| | | | | -- MOS_MIGRATED_REVID=137266170
* bazel query --output=xml: avoid iterating over all possible values forGravatar Greg Estren2016-10-26
| | | | | | | | attr = select({"a": LABEL_LIST, "b": LABEL_LIST, ...}). This can be exponential (w.r.t. the # of select conditions) and produce OOMs. -- MOS_MIGRATED_REVID=137200979
* Add new skyframe function to lookup the repository given a path, and use thatGravatar John Cater2016-10-25
| | | | | | | to report invalid package references. Fixes #1592. -- MOS_MIGRATED_REVID=137164164
* Allow bypassing input file discovery in package buildingGravatar Michajlo Matijkiw2016-10-19
| | | | | -- MOS_MIGRATED_REVID=136594531
* Make query return dependencies contributed by aspects on rules that don't ↵Gravatar Lukacs Berki2016-10-18
| | | | | | | advertise and providers. -- MOS_MIGRATED_REVID=136452596
* Cleanup, remove differences between Build and Skylark environments.Gravatar Laurent Le Brun2016-10-14
| | | | | | | | | | | | | The only visible difference for users is that a few more functions are available in BUILD files. That's fine, this difference was not even documented. RELNOTES: A few functions are added to BUILD files for consistency (hash, dir, hasattr, getattr) with .bzl files, although they are not very useful. -- MOS_MIGRATED_REVID=136151633
* Fix IllegalStateException when reloading several time the same extensionGravatar Damien Martin-Guillerez2016-10-14
| | | | | | | | | Fixes #1469. -- Change-Id: I3ffc18208ba346e03658ebeb4d2bb5938113a476 Reviewed-on: https://bazel-review.googlesource.com/6615 MOS_MIGRATED_REVID=136073702
* Fix-up for last sandbox change, forgot to add "block-*" to the execution ↵Gravatar Philipp Wollermann2016-10-07
| | | | | | | info filter. -- MOS_MIGRATED_REVID=135471769
* Rollback of commit 5c071429e83b5c6d872c755d3da21ad934638111.Gravatar Damien Martin-Guillerez2016-10-07
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks rules_go Found by bisecting (bazel build src:bazel && cd ../rules_go && ../bazel/bazel-bin/src/bazel query 'tests(//...)') See http://ci.bazel.io/job/rules_go/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/370/console *** Original change description *** Allow repositories to refer to the local repository by repo name For example, if the main repository is named @foo, other repositories can refer to targets in it as @foo//path/to:target (instead of @//path/to:target). Fixes #1248. -- MOS_MIGRATED_REVID=135471434
* Change allowedRuleClasses/mandatoryProviders semantics to "either-or" ↵Gravatar Dmitry Lomov2016-10-07
| | | | | | | | | | instead of "and". Also allow native rules to require declared providers on their dependencies. -- MOS_MIGRATED_REVID=135454750