aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Automated rollback of commit 1b041c86147098451bffc94d2602aea26ee16e06.Gravatar juliexxia2018-06-05
| | | | | | | | | | | | | *** Reason for rollback *** http://b/109733929 This CL breaks Blaze_CorpTest which must pass for Blaze's nightly candidate to form *** Original change description *** Add LabelLateBoundDefault to :coverage_support attribute RELNOTES:none PiperOrigin-RevId: 199352111
* Add documentation for the toolchains= attribute.Gravatar lberki2018-06-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 199333903
* Add flag --experimental_enable_repo_mapping to gate usage of repo_mapping ↵Gravatar dannark2018-06-05
| | | | | | | functionality in WORKSPACE rules. RELNOTES: None PiperOrigin-RevId: 199332092
* Add explicit TOC and fix markdown incompatible with Jekyll.Gravatar spomorski2018-06-05
| | | | PiperOrigin-RevId: 199330926
* Allow rules and targets to specify extra execution platform constraints.Gravatar John Cater2018-06-05
| | | | | | | | | | | | | | | | | | | | | | RuleClass.Builder now allows authors to specify whether a rule's targets can add additional constraints on the execution platform, and to declare additional constraints for all targets of that rule. Targets which support this now have an attribute, "exec_compatible_with", which supports specifying additional constraints that the execution platform used must match. This attribute is non-configurable. It will only affect execution platforms used during toolchain resolution. Part of #5217. Change-Id: Id2400dbf869a00aa2be3e3d2f085c2850cd6dc00 Closes #5227. Change-Id: If7d55f08f7f44bc7d7f6dfec86a3e6bcd68574b9 PiperOrigin-RevId: 199326255
* Fix TEST_SHARD_INDEX documentation.Gravatar Googler2018-06-05
| | | | | RELNOTES: PiperOrigin-RevId: 199320234
* Add functionality to SerializationContext and @AutoCodec to check that a ↵Gravatar janakr2018-06-05
| | | | | | | | class is allowed to be serialized in the current context. A codec can now add an explicitly allowed class that can be serialized underneath it (via SerializationContext#addExplicitlyAllowedClass), and that class's codec can check that it is explicitly allowed (via SerializationContext#checkClassExplicitlyAllowed). It is a runtime crash if a codec checks that it was explicitly allowed and finds that it wasn't. Thus, if PackageCodec is invoked without it having been explicitly allowed, we will crash, preventing Package from sneaking into a value it shouldn't be in. This is only enabled if the codec is memoizing. PiperOrigin-RevId: 199317936
* Stop allocating new tokens in the lexerGravatar laurentlb2018-06-05
| | | | | | | | | | There's only one Token and it gets reused. This reduces the memory usage of the lexer. Parsing time seems to be 5%-10% faster with this change on a large file. This makes little difference on the overall performance of Bazel though. RELNOTES: None. PiperOrigin-RevId: 199310860
* Automated rollback of commit 52c4d05d1bfd54ea901e9926be7b262dd45e34de.Gravatar dbabkin2018-06-05
| | | | | | | | | | | | | *** Reason for rollback *** http://b/109733929 *** Original change description *** Add LabelLateBoundDefault to :coverage_report_generator attribute RELNOTES:none PiperOrigin-RevId: 199308190
* Remove step in SkylarkSemanticsOptions instructions that reference ↵Gravatar dannark2018-06-05
| | | | | | | non-existent code. RELNOTES: None PiperOrigin-RevId: 199307562
* Clean up `bazel help coverage`Gravatar Googler2018-06-05
| | | | | | | Remove blaze references and add a missing "a". RELNOTES: None. PiperOrigin-RevId: 199300497
* Simplify CppCompileAction#discoverInputs().Gravatar lberki2018-06-05
| | | | | | | | | | | | | | In the process, make it so that running an extra action attached to a CppCompileAction does not change the state of the CppCompileAction (yes, this happened: if include scanning was not done, topLevelModules would be changed) There are two changes in behavior this will: introduce 1. topLevelModules will no longer be set if include scanning is not in effect, but that's okay: it's never read except when shouldPruneModules is true, and if that is true, #discoverInputsStage2() will set it. 2. Extra actions attached to CppCompileAction will not get .pcm files on their inputs that were not used by the compiler RELNOTES: None. PiperOrigin-RevId: 199285276
* Don't rely on shell splitting; explicitly make these multiple argumentsGravatar ulfjack2018-06-05
| | | | | | One step towards #5147. PiperOrigin-RevId: 199281558
* Add LabelLateBoundDefault to :coverage_report_generator attributeGravatar dbabkin2018-06-05
| | | | | RELNOTES:none PiperOrigin-RevId: 199280443
* Use BUILD.bazel instead of BUILD for external projectsGravatar Dmitry Petrashko2018-06-05
| | | | | | | | | | While upgrading an internal project from 0.10 to 0.13 we have found that we no longer were able to build one of external non-basel dependencies that already has a lowercase `build` directory in their repo. As the name `BUILD` is much more common than `BUILD.bazel`, in particular on file systems that are case-insensitive, I propose to generate the latter by default. Closes #5146. PiperOrigin-RevId: 199264025
* Add LabelLateBoundDefault to :coverage_support attributeGravatar dbabkin2018-06-05
| | | | | RELNOTES:none PiperOrigin-RevId: 199256705
* Avoid dependency on coreutil.Gravatar Greg Steuck2018-06-04
| | | | | | | | | This use of seq is easy enough to emulate in bash which is a declared bootstrap dependency. Closes #5321. PiperOrigin-RevId: 199248546
* Update Blaze documentation to reflect that gcc is not the only compiler used.Gravatar Googler2018-06-04
| | | | | | For generic references to the C/C++ compiler, stop referring to it as "gcc", as other compilers are used frequently now. PiperOrigin-RevId: 199244730
* Remove the $(ANDROID_CPU) Make variable.Gravatar lberki2018-06-04
| | | | | | RELNOTES[INC]: The $(ANDROID_CPU) Make variable is not available anymore. Use $(TARGET_CPU) after an Android configuration transition instead. PiperOrigin-RevId: 199241622
* Automated rollback of commit a8a8e7a0e979a8e4cf14c32471ad349a1b7d47cc.Gravatar eaftan2018-06-04
| | | | | | | | | | | | *** Reason for rollback *** Discovered bug b/109675979 with feature, and flag flip may need to be reverted *** Original change description *** Remove support for --experimental_one_version_enforcement_use_transitive_jars_for_binary_under_test PiperOrigin-RevId: 199223781
* Add hacky method to InMemoryNodeEntry for fast but unsafe iteration over ↵Gravatar janakr2018-06-04
| | | | | | in-progress reverse deps. PiperOrigin-RevId: 199209256
* Add cache to NestedSetCodecWithStore to merge NestedSets that should be ↵Gravatar janakr2018-06-04
| | | | | | | | | | reference-equal on deserialization. We cannot just intern NestedSets because NestedSets with the same underlying children may still not be equal, so we wrap them in an object that does consider their children when calculating equality. We wish to preserve the invariant that if NestedSets inside two different objects are reference-equal, they will continue to be reference-equal after deserialization. Not doing that causes bugs. Unfortunately, because Artifact#equals does not take ArtifactOwner into account, this introduces a new bug (exposed via a disabled test here) where unequal singleton NestedSets may be considered equal. I will clean this up in the future by fixing Artifact#equals. PiperOrigin-RevId: 199208045
* Process 'repo_mapping' attribute from WORKSPACE rules. 'repo_mapping' is a ↵Gravatar dannark2018-06-04
| | | | | | | | | | | | | | | | way to remap references to repositories within an external repository by another name. This CL only adds the mappings to the Package object, but it does not actually enable the reassignments. Example usage (in a WORKSPACE file): local_repository( name = ?a?, path = ?../a?, repo_mapping = {?@x? : ?@y?} ) This change also creates a new SkyKey which represents the mappings. This is to prevent all packages from depending on the external package, and instead depending just on the mappings. i.e. a change to the WORKSPACE file that does not touch the mappings shouldn't cause a reload of the package. RELNOTES:None PiperOrigin-RevId: 199187963
* Fix submenu element ID.Gravatar spomorski2018-06-04
| | | | | RELNOTES: None. PiperOrigin-RevId: 199184609
* Remove experimental prefix for build event output file flags.Gravatar ccalvarin2018-06-04
| | | | | | | It's been about a year since these haven't been necessary. RELNOTES: None. PiperOrigin-RevId: 199178625
* Remove ConfiguredTarget from TargetCompletionValue, since it is no longer ↵Gravatar janakr2018-06-04
| | | | | | needed: we can get the ConfiguredTargetKey directly from the TargetCompletionKey. Since that was the only use of the actual value in EvaluationProgressReceiver#evaluated, remove it, instead just provide a boolean enum that gives whether or not evaluation succeeded. PiperOrigin-RevId: 199178047
* Print the target names of the problematic classes, for better description of ↵Gravatar cnsun2018-06-04
| | | | | | | the dependency problems. RELNOTES: None. PiperOrigin-RevId: 199170334
* Remove --glibc optionGravatar rosica2018-06-04
| | | | | | | Crosstool selection will be based solely on --cpu and --compiler options. RELNOTES: Option --glibc is removed, toolchain selection relies solely on --cpu and --compiler options. PiperOrigin-RevId: 199156131
* Set no_proxy=localhost when an http_proxy is detected, instead of deleting ↵Gravatar ruperts2018-06-04
| | | | | | | | | the http_proxy value. Also change the environment for the client and the server in this case, instead of only changing the server's environment. RELNOTES: None. PiperOrigin-RevId: 199152406
* Add documentation for building JavaScript outputs.Gravatar spomorski2018-06-04
| | | | | RELNOTES: None. PiperOrigin-RevId: 199151698
* Small tagging change in HTML doc.Gravatar Googler2018-06-04
| | | | PiperOrigin-RevId: 199143339
* Failing targets are identified by comparing ConfiguredTarget.Key instead of ↵Gravatar cpeyser2018-06-04
| | | | | | ConfiguredTarget. Since ConfiguredTarget does not implement equals(), reference equality has been used until now, and this is not valid for the case where the ConfiguredTarget has been deserialized. PiperOrigin-RevId: 199133926
* Let Skylark rules take part in MakeVariableExpandingRule expansions using theGravatar jcater2018-06-04
| | | | | | toolchains attribute. PiperOrigin-RevId: 199133235
* ActionFS is now aware of inserted files.Gravatar felly2018-06-04
| | | | PiperOrigin-RevId: 199131390
* Allow injection of custom SkyFunctions into GraphTester.Gravatar janakr2018-06-04
| | | | PiperOrigin-RevId: 199126212
* Get rid of the tokens queue in the lexerGravatar laurentlb2018-06-04
| | | | | | | Next step will be to skip token allocation. RELNOTES: None. PiperOrigin-RevId: 199121625
* Improve error message slightlyGravatar ulfjack2018-06-04
| | | | PiperOrigin-RevId: 199118944
* Remove an unused method variable.Gravatar lberki2018-06-04
| | | | | RELNOTES: None. PiperOrigin-RevId: 199115199
* C++: Makes JavaWrapCc use CcLinkingHelperGravatar plf2018-06-04
| | | | | | | It doesn't use CcLinkParamsStore and CppLinkAction directly anymore. RELNOTES:none PiperOrigin-RevId: 199107747
* Carry tree artifacts' self data through aggregating middlemen.Gravatar Benjamin Peterson2018-06-03
| | | | | | | | | | | | | | | | | | | | | | | | This CL is a followup to c868c47. It is intended to fix #5296. The immediate problem in that issue is that remote caching finds a tree artifact in an input runfiles tree without metadata in the cache. The metadata isn't there because the runfiles artifacts are now all behind a middleman action, and ArtifactFunction didn't propagate tree artifact values through middlemen. This change fixes the problem by adding a tree artifact's self data value to the values carried through to dependent actions. Remote caching with tree artifact inputs seems to have been working mostly by accident. (Evidence: it wasn't tested, and remote execution of actions with tree artifact inputs results a Java traceback before and after c868c47.) This CL is only really a bandaid to return to the old "working" state. If remote execution wants to start supporting tree artifacts properly in the future, we'll likely need to carry the tree artifact child data through middleman actions, too. Closes #5299. Change-Id: I2e07d4fca0f6d2d34d97b7edb27f9d0063776225 PiperOrigin-RevId: 199079382
* Fast-path Label#equals by first comparing the interned PackageIdentifier.Gravatar shreyax2018-06-02
| | | | PiperOrigin-RevId: 199007753
* remote: concurrent blob downloads. Fixes #5215Gravatar buchgr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces concurrent downloads of action outputs for remote caching/execution. So far, for an action we would download one output after the other which isn't as bad as it sounds as we would typically run dozens or hundreds of actions in parallel. However, for actions with a lot of outputs or graphs that allow limited parallelism we expect this change to positively impact performance. Note, that with this change the AbstractRemoteActionCache will attempt to always download all outputs concurrently. The actual parallelism is controlled by the underlying network transport. The gRPC transport currently enforces no limits on the concurrent calls, which should be fine given that all calls are multiplexed on a single network connection. The HTTP/1.1 transport also enforces no parallelism by default, but I have added the --remote_max_connections=INT flag which allows to specify an upper bound on the number of network connections to be open concurrently. I have introduced this flag as a defensive mechanism for users who's environment might enforce an upper bound on the number of open connections, as with this change its possible for the number of concurrently open connections to dramatically increase (from NumParallelActions to NumParallelActions * SumParallelActionOutputs). A side effect of this change is that it puts the infrastructure for retries and circuit breaking for the HttpBlobStore in place. RELNOTES: None PiperOrigin-RevId: 199005510
* Make tools in action inputs an error.Gravatar tomlu2018-06-02
| | | | | | | | | | Supporting tools in inputs introduces a slow linear scan. Such tools should be moved to the 'tools' attribute. If --incompatible_no_support_tools_in_action_inputs is set the inputs are scanned, but a helpful error message is issued to the user. Eventually we will remove the slow scanning. Errors will surface in the execution phase instead of during analysis, and the resulting error messages will be less obvious. RELNOTES: None RELNOTES[INC]: With --incompatible_no_support_tools_in_action_inputs enabled, Skylark action inputs are no longer scanned for tools. Move any such inputs to the newly introduced 'tools' attribute. PiperOrigin-RevId: 198996093
* Automated rollback of commit c4e128e2c6d8cacaeba034d6a3195796d50f1745.Gravatar tomlu2018-06-02
| | | | | | | Always generating source jars can lead to action conflicts. RELNOTES: None PiperOrigin-RevId: 198994272
* Removes most ActionInputFileCache functionality.Gravatar shahan2018-06-01
| | | | | | Actual class to be removed in a later change. PiperOrigin-RevId: 198937695
* Allow multiple trimming transition factories to be added.Gravatar mstaib2018-06-01
| | | | | | | | If multiple trimming transition factories are added, they are composed in the order they were added. RELNOTES: None. PiperOrigin-RevId: 198934666
* Amend a skylark test to attempt access of FilesToRunProvider.executableGravatar cparsons2018-06-01
| | | | | | | This serves a regression test of a previous breakage which broke SkylarkCallable method of FilesToRunProvider. RELNOTES: None. PiperOrigin-RevId: 198915920
* Migrate remaining java skylark types to skylarkbuildapiGravatar cparsons2018-06-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 198911668
* Create a Bootstrap for config-related libraries of skylarkbuildapi.Gravatar cparsons2018-06-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 198906931
* Migrate repository_rule to skylarkbuildapiGravatar cparsons2018-06-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 198906068