aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Internal changeGravatar cushon2018-07-25
| | | | PiperOrigin-RevId: 206085005
* Cache default parameter values for skylark methods, and compute types of ↵Gravatar cparsons2018-07-25
| | | | | | | | | Param annotations only once. This change has been manually verified to greatly reduce analysis time (~50%) on very large builds, as it mitigates a previous regression brought on by the migration of @SkylarkSignature to @SkylarkCallable. RELNOTES: None. PiperOrigin-RevId: 206063684
* Weave the artifact path resolver through the Spawn execution context.Gravatar felly2018-07-25
| | | | | RELNOTES: None PiperOrigin-RevId: 206063489
* Automated rollback of commit 16dde0de06a3a4157a13e7e7264afeb6a50b2dde.Gravatar janakr2018-07-25
| | | | | | | | *** Reason for rollback *** Crash (see linked bug). PiperOrigin-RevId: 206060905
* [Perf] Remove unnecessary ImmutableMap.copyOf invocation.Gravatar Taras Tsugrii2018-07-25
| | | | | | | | | `keyWordArgs` is already `ImmutableMap<String, Object>` and `copyOf` contains enough overhead to show up on parse profiles. Closes #5651. PiperOrigin-RevId: 206051798
* [Skylark] Support dictionaries in structs when serializing them using ↵Gravatar Taras Tsugrii2018-07-25
| | | | | | | | | | | | | | | | | struct.to_json. Dictionaries are frequently used for generic configuration descriptions especially given that `struct` is not allowed in build files. In order to be JSON-compatible, only dictionaries with string keys are allowed. Technically Python also allows integers and booleans by automatically converting them to strings, but this is confusing and not necessarily a good thing to do. Fixes #5542 Closes #5543. PiperOrigin-RevId: 206049754
* Remove cookbookGravatar laurentlb2018-07-25
| | | | | | | The cookbook was not maintained and was replaced by https://github.com/bazelbuild/examples RELNOTES: None. PiperOrigin-RevId: 206046316
* Expose the JavaConfiguration get fields to Skylark for the android_sdk rule.Gravatar Googler2018-07-25
| | | | | RELNOTES: none. PiperOrigin-RevId: 206035881
* Allow the AndroidResourcesInfo to be created from Skylark.Gravatar Googler2018-07-25
| | | | | RELNOTES: none. PiperOrigin-RevId: 206035420
* Kill the deps mapGravatar cushon2018-07-25
| | | | PiperOrigin-RevId: 206025645
* Remove unused method "hasActionFilesystem()".Gravatar felly2018-07-25
| | | | | | RELNOTES: None PiperOrigin-RevId: 206021118
* Add new debug_prefix_map_pwd_is_dot CROSSTOOL featureGravatar Googler2018-07-25
| | | | | | | | | | | | This feature sets `-fdebug_prefix_map=$PWD=.` as an argument to Clang in order to standardize the paths to debug symbols (by making them relative to the exec root). Note that this needs to be implemented inside wrapped_clang instead of as an argument to the action itself for caching purposes, as PWD can change based on the action's executor. PiperOrigin-RevId: 206019016
* Support optional repository verificationGravatar Klaus Aehlig2018-07-25
| | | | | | | | | | | | | | | | Add an option to provide a file with a resolved value, that will be used to verify that the repositories mentioned in this file produce a correct directory tree. RELNOTES: newly added options --experimental_repository_hash_file and --experimental_verify_repository_rules allow to verify for repositories the directory generated against pre-recorded hashes. See documentation for those options. Work towards #5660. Change-Id: I2d8becb188d0fa51e890fb8f6139f321cca14b7b PiperOrigin-RevId: 206016792
* Add a --server_javabase startup option as an alias for the LHS --host_javabaseGravatar cushon2018-07-25
| | | | | | | | | | to avoid confusion between the LHS and RHS host_javabases. The LHS --host_javabase option should be considered deprecated and will eventually be removed. RELNOTES: Rename the startup flag --host_javabase to --server_javabase to avoid confusion with the build flag --host_javabase PiperOrigin-RevId: 206015757
* Use the single-string arg formatter for param file format.Gravatar tomlu2018-07-25
| | | | | | | This avoids bazel crashes for illegally formatted strings. Previously the code would assume that a correct string was passed with only minimal validation. RELNOTES: None PiperOrigin-RevId: 206012819
* Experimental UI: only write on flush for limited outputGravatar Klaus Aehlig2018-07-25
| | | | | | | | | | When there is a hard limit on the output of the experimental UI, change the behavior to only write to the underlying stream on flush. In this way, we can avoid semantically incomplete writes at the moment we run out of characters. Change-Id: I024c776ae2139d76d380bb89d13b8fe61d6cfe51 PiperOrigin-RevId: 206000817
* C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.BuilderGravatar plf2018-07-25
| | | | | | | | This is in preparation for deleting CcLinkParamsStore. Not all calls to setCcLinkparamsStore have been removed in this CL. RELNOTES:none PiperOrigin-RevId: 205998687
* Use a structured Exception type for the "unexpected short read" error ↵Gravatar nharmata2018-07-25
| | | | | | | detected by FileSystemUtils#readWithKnownFileSize. RELNOTES: None PiperOrigin-RevId: 205995852
* Remove Hazelcast from third_partyGravatar Philipp Wollermann2018-07-25
|
* Remove obsolete stuff related to JDK7 supportGravatar Philipp Wollermann2018-07-25
| | | | | | Closes #5626. PiperOrigin-RevId: 205991094
* Remove LoadingResultGravatar ulfjack2018-07-25
| | | | | | | | | | | Instead, refactor the code to use TargetPatternPhaseValue exclusively. This removes the need to convert from TargetPatternPhaseValue to LoadingResult, and prepares for interleaving. It also reduces the number of Skyframe calls which may speed up null builds a bit, as a followup for https://github.com/bazelbuild/bazel/commit/1067310e18cb9ac203110726de0be53bdc403cea. PiperOrigin-RevId: 205989338
* Remove Hazelcast dependencyGravatar Philipp Wollermann2018-07-25
| | | | | | | | | | The only remaining use was a testing REST backend in the LRE. I wrote a replacement for that using netty, which we use for our network stuff in Bazel, which means we can now get rid of Hazelcast. :) I'll remove the Hazelcast files in a separate change when this is merged. PiperOrigin-RevId: 205985996
* Add the thread name as metadata to the Json profileGravatar ulfjack2018-07-25
| | | | PiperOrigin-RevId: 205985818
* Remove AbstractQueueVisitor.runConcurrently and .activeParallelTasks whichGravatar Googler2018-07-25
| | | | | | | aren't used anymore. RELNOTES: None. PiperOrigin-RevId: 205984908
* Fake a JavaStrictCompilationArgsProvider if there's none.Gravatar twerth2018-07-25
| | | | | | | | | There were convoluted cases with multiple JavaInfo created from Skylark that didn't have the JavaStrictCompilationArgsProvider. If these were to be merged and later forwarded with exports we would miss them as dependencies. RELNOTES: None PiperOrigin-RevId: 205980933
* Skip invalidation entirely if the diff is emptyGravatar ulfjack2018-07-25
| | | | PiperOrigin-RevId: 205980620
* remote: fix race on download error. Fixes #5047Gravatar buchgr2018-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | For downloading output files / directories we trigger all downloads concurrently and asynchronously in the background and after that wait for all downloads to finish. However, if a download failed we did not wait for the remaining downloads to finish but immediately started deleting partial downloads and continued with local execution of the action. That leads to two interesting bugs: * The cleanup procedure races with the downloads that are still in progress. As it tries to delete files and directories, new files and directories are created and that will often lead to "Directory not empty" errors as seen in #5047. * The clean up procedure does not detect the race, succeeds and subsequent local execution fails because not all files have been deleted. The solution is to always wait for all downloads to complete before entering the cleanup routine. Ideally we would also cancel all outstanding downloads, however, that's not as straightfoward as it seems. That is, the j.u.c.Future API does not provide a way to cancel a computation and also wait for that computation actually having determinated. So we'd need to introduce a separate mechanism to cancel downloads. RELNOTES: None PiperOrigin-RevId: 205980446
* Increase sharding for SkylarkTestsGravatar laurentlb2018-07-25
| | | | | | | | This makes the tests run much faster. Fixes #5443 RELNOTES: None. PiperOrigin-RevId: 205980410
* Fix Guava version in compile.sh.Gravatar philwo2018-07-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 205975626
* Revert "Update truth dependency to 0.42"Gravatar Philipp Wollermann2018-07-25
| | | | | | | | Truth 0.42 adds a dependency on com.googlecode.java-diff-utils, which we currently don't have in Bazel. We have to discuss first, whether we actually want to add that library, too. This reverts commit 59b044c123b08c89c1c86532deec0500fb93db9b.
* Update Guava to 25.1Gravatar Philipp Wollermann2018-07-25
|
* C++: Remove AbstractCcLinkParamsStore from providers.Gravatar plf2018-07-25
| | | | | | | | | | | | | 3 providers had AbstractCcLinkParamsStore as a class field, now they wrap CcLinkingInfo instead. This is being rolled forward, first try caused a NullPointerException in go_wrap_cc rules that had the attribute use_default_import set to False. GoWrapCcConfiguredTargetTest now has a go_wrap_cc rule that has this attribute set to false and fails with the previous version of this CL. RELNOTES:none PiperOrigin-RevId: 205959266
* Prevent unnecessary file stats when looking at whether an include is in one ofGravatar Googler2018-07-25
| | | | | | | | | the declared directories. Especially when doing validation during input discovery, the discovery's over-approximation can lead to isDeclaredIn walking the full path to the root without finding a declared include directory. RELNOTES: None. PiperOrigin-RevId: 205958078
* Automated rollback of commit 6f1915114ec7af104a2649a454cc1519ce7806bf.Gravatar laurentlb2018-07-24
| | | | | | | | | | | | | | | | *** Reason for rollback *** Crash with NullPointerException *** Original change description *** C++: Remove AbstractCcLinkParamsStore from providers. 3 providers had AbstractCcLinkParamsStore as a class field, now they wrap CcLinkingInfo instead. RELNOTES:none PiperOrigin-RevId: 205885939
* Update truth dependency to 0.42Gravatar Jeff Lavallee2018-07-24
| | | | | | | Truth 0.42 includes Fact which is needed by an upcoming change to Subject Change-Id: I791daceed18953f31bd21b184e4349baae5e30ca
* Configured targets register created source artifacts with Skyframe.Gravatar shahan2018-07-24
| | | | PiperOrigin-RevId: 205876673
* update to embedded jdk to jdk10Gravatar buchgr2018-07-24
| | | | | RELNOTES: The JDK shipped with Bazel was updated to JDK10. PiperOrigin-RevId: 205865966
* Automated rollback of commit f309ad3be36363070e87eef0ee04b12f4956d601.Gravatar janakr2018-07-24
| | | | | | | | | | *** Reason for rollback *** Fixed duplicate derived inputs bug. Test is in diffbase. RELNOTES[INC]: If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args. PiperOrigin-RevId: 205863806
* ProtoSourcesProvider docs: Add link to FileDescriptorSet definitionGravatar Googler2018-07-24
| | | | | RELNOTES: None. PiperOrigin-RevId: 205850479
* Update commentsGravatar laurentlb2018-07-24
| | | | | | | Comments are misleading, as discussed on https://github.com/bazelbuild/bazel/pull/5305#issuecomment-396288826 RELNOTES: None. PiperOrigin-RevId: 205841782
* Delete --show_package_location, which has been deprecated / no-op for years.Gravatar felly2018-07-24
| | | | | | | Fixes #5592. RELNOTES: Deleting deprecated no-op flag --show_package_location PiperOrigin-RevId: 205834069
* Create the native headers jar in java_common.compile.Gravatar Irina Iancu2018-07-24
| | | | | | | | RELNOTES: java_common.compile creates the native headers jar accesible via JavaInfo.outputs.native_headers. Closes #5662. PiperOrigin-RevId: 205832180
* Minor readability cleanup.Gravatar twerth2018-07-24
| | | | | RELNOTES: None PiperOrigin-RevId: 205825362
* C++: Remove AbstractCcLinkParamsStore from providers.Gravatar plf2018-07-24
| | | | | | | | 3 providers had AbstractCcLinkParamsStore as a class field, now they wrap CcLinkingInfo instead. RELNOTES:none PiperOrigin-RevId: 205821081
* Open source SpawnExecutedEventGravatar ulfjack2018-07-24
| | | | | | | This will be used to compute the critical path using Spawns instead of Actions, which should be more accurate. PiperOrigin-RevId: 205817400
* Move LoadingPhaseCompleteEvent posting to TargetPatternPhaseFunctionGravatar ulfjack2018-07-24
| | | | | | | | | | | Also simplify LoadingPhaseCompleteEvent, and SkyframeExecutor, and remove LoadingCallback, which is unnecessary now that we only have a single implementation (previously LoadingPhaseRunner). This also removes some of the excessive Skyframe calls introduced by https://github.com/bazelbuild/bazel/commit/1067310e18cb9ac203110726de0be53bdc403cea, and prepares for interleaving target pattern eval and loading. PiperOrigin-RevId: 205813197
* Treat java_lite_proto_library and java_mutable_proto_library the same as weGravatar twerth2018-07-24
| | | | | | | treat java_proto_library. RELNOTES: None PiperOrigin-RevId: 205812269
* Windows,JNI: more tolerance for errorsGravatar Laszlo Csomor2018-07-24
| | | | | | | | | | | | | | | | | | | | | DeletePath and CreateJunction are now even more tolerant with errors, particularly the class of errors where access is denied. Also in this change: - remove DeletePathResult::kParentMissing, as this case is handled by CreateFileW's error handling later - do not error-check CreateDirectoryW; if failed, just proceed as if the directory already existed - print more debugging info where possible Change-Id: I1162dae2c6b7524f14d8892047f9eb51831470dd Closes #5611. Change-Id: I78fe6aed6d0b120815339c0923c8a903990921d9 PiperOrigin-RevId: 205796307
* Quiet more proto/unsafe warningsGravatar cushon2018-07-24
| | | | | | Fixes #5599 PiperOrigin-RevId: 205794997
* Use an interface to convert from nanos to millis since epochGravatar ulfjack2018-07-24
| | | | | | | | | | | The conversion approach we were previously using is not stable - the resulting offsets can differ based on what other things are going on on the same machine at the same time. By using an interface and passing it to the relevant places (and only computing the offset once), we ensure that all conversions are consistent with each other. PiperOrigin-RevId: 205787309