aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Remove EventHandler from SkylarkCustomCommandLine.Gravatar tomlu2018-03-27
| | | | | | | | | EventHandler is scoped to a commond, but SkylarkCustomCommandLine can outlive a single command. This constitutes a memory leak. Any error messages caused by command line evaluation are still propagated to the user via a CommandLineExpansionException. RELNOTES: None PiperOrigin-RevId: 190650016
* Compute the list of test output files in TestRunnerActionGravatar ulfjack2018-03-27
| | | | | | This allows us to slightly simplify the renaming logic in StandaloneTestStrategy. PiperOrigin-RevId: 190645674
* Get rid of ConfiguredTarget#getConfiguration() call in ↵Gravatar janakr2018-03-27
| | | | | | ConfiguredTargetFunction. The dep always has the right configuration, even in the case of an AliasConfiguredTarget. PiperOrigin-RevId: 190642982
* Remove the --allow_configurable_attributes startup option.Gravatar ccalvarin2018-03-27
| | | | | | | It was removed from the java code 4 years ago, mentioning it causes the server to crash at startup. RELNOTES: None. PiperOrigin-RevId: 190636455
* Get rid of a few more #getConfiguration() calls. We're now passing a ↵Gravatar janakr2018-03-27
| | | | | | ConfiguredTargetAndData into TargetCompleteEvent, which seems reasonable. PiperOrigin-RevId: 190634162
* Fix and rollforward of "Convert SkylarkRuleImplementationFunctions functions ↵Gravatar cparsons2018-03-27
| | | | | | | | | to use @SkylarkCallable instead." expand_location.targets needed to be a named parameter. RELNOTES: None. PiperOrigin-RevId: 190624472
* Ensure Runner name is always set.Gravatar Googler2018-03-27
| | | | | RELNOTES: None. PiperOrigin-RevId: 190617155
* Use JUnit assertions instead of Truth assertions.Gravatar cpovirk2018-03-27
| | | | | | | | | | The format of Truth's failure messages is about to change, which would break these tests. Alternatively, I could modify these tests to accept both the old and new Truth message formats, but ideally most tests wouldn't rely on the exact message format at all. (That suggests that an even better approach might be to just throw an exception whose message is a fixed string. That would avoid relying even on JUnit's message format, unlikely as I think that is to change.) RELNOTES: None. PiperOrigin-RevId: 190617095
* C++: Fixes Blaze crashing on CLIF in toolchains that don't need PICGravatar plf2018-03-27
| | | | | | | | | | | | | | | | | | | | For CLIF it doesn't matter whether we use PIC or no-PIC, the important thing is we get an output protobuf. Before https://github.com/bazelbuild/bazel/commit/35773928532c132e3229b490ad98f4ebfd3e5770, using no-PIC was hardcoded. In this CL it was decided to generate PIC instead because the toolchains used by CLIF targets appeared to all have needsPic. In b/73955395 it has been shown not to be the case. In this CL I'm changing the logic again to use no-PIC for CLIF and to circumvent the logic that checks what the configuration and the toolchain say. At the same time, SWIG also used the method setGenerateNoPic() after the variable onlySingleOutput was removed in https://github.com/bazelbuild/bazel/commit/4e9c9f93b15dd2594097644c6b9ca5a579c712fb. In this CL I use the enum to apply PIC and no-PIC in the same cases as before for SWIG. This CL also refactors the methods and boolean variables used to determine whether to use PIC or not, hopefully making it clearer. RELNOTES:none PiperOrigin-RevId: 190615548
* Add toolchain definitions for autoconfigured cc_toolchain entries.Gravatar jcater2018-03-27
| | | | PiperOrigin-RevId: 190611069
* Support for empty_files and empty_dirs in pkg.Gravatar Pawe? Zuzelski2018-03-27
| | | | | | | | | | | | Backport recent changes to build_tar tool in bazelbuild/rules_docker: https://github.com/bazelbuild/rules_docker/pull/310 - add --empty_file and --empty_dir flags to build_tar.py, allowing creation of empty files and dirs with specified mode. - expose those flags as empty_files and empty_dirs parameters to pkg_tar rule. Closes #4837. PiperOrigin-RevId: 190610460
* Only allow regular files and directories spawn outputs to be uploaded to a ↵Gravatar Benjamin Peterson2018-03-27
| | | | | | | | | | | | | | | | | | | | remote cache. The remote cache protocol only knows about regular files and directories. Currently, during action output upload, symlinks are resolved into regular files. This means cached "executions" of an action may have different output file types than the original execution, which can be a footgun. This CL bans symlinks from cachable spawn outputs and fixes https://github.com/bazelbuild/bazel/issues/4840. The interface of SpawnCache.CacheHandle.store is refactored: 1. The outputs parameter is removed, since that can be retrieved from the underlying Spawn. 2. It can now throw ExecException in order to fail actions. Closes #4902. Change-Id: I0d1d94d48779b970bb5d0840c66a14c189ab0091 PiperOrigin-RevId: 190608852
* Remove third_party/gtest, we now have the remote dependency @googletest instead.Gravatar Chloe Calvarin2018-03-27
| | | | Change-Id: I65379afbee65d321c31a48a9e1c8afae0cb99c34
* Remove optional_*_flag fields from crosstoolGravatar hlopko2018-03-27
| | | | | | | | | They are not used anyway. optional_compiler_flag will be removed once internal migration is finished. RELNOTES: CppRules: Remove optional_*_flag fields from CROSSTOOL, they are not used, and could be expressed using features. PiperOrigin-RevId: 190600731
* Automated rollback of commit 1f8ba946a3c20413ff0a95235b20d7cc1b4964f0.Gravatar twerth2018-03-27
| | | | | | *** Reason for rollback *** PiperOrigin-RevId: 190600296
* Simplify the release scripts in preparation of rewriting them in PythonGravatar Philipp Wollermann2018-03-27
| | | | | | | | These are the scripts I'm currently using for the Bazel 0.12.0 release. Closes #4908. PiperOrigin-RevId: 190598268
* Remove global_whole_archive_open feature from osx crosstoolsGravatar hlopko2018-03-27
| | | | | | | Build variable global_whole_archive is not exposed in bazel anymore. RELNOTES: None PiperOrigin-RevId: 190598137
* Automated rollback of commit 8c864137d46cf6c3714fb47799a34e4859aa2f13.Gravatar lpino2018-03-27
| | | | | | | | | | | | *** Reason for rollback *** Breaks Bazel on Windows: https://buildkite.com/bazel/bazel-bazel/builds/1041 *** Original change description *** Fix a warning about comparing signed and unsigned values PiperOrigin-RevId: 190593548
* Avoid using ObjectFilePathHelper in CompilationSupport.javaGravatar pcloudy2018-03-27
| | | | | RELNOTES: None. PiperOrigin-RevId: 190591828
* Isolate C++ compile build variablesGravatar hlopko2018-03-27
| | | | | | | | | | | | | | This is a preparation work to expose Variables instance for all compile actions to Skylark. I didn't do linking variables in this cl, because this cl is already too big. But they're coming shortly in a separate cl. This is also in line with our goal to make build variables more discoverable and better document. RELNOTES: None. PiperOrigin-RevId: 190591080
* Fix a warning about comparing signed and unsigned valuesGravatar cushon2018-03-27
| | | | PiperOrigin-RevId: 190580907
* Remove FastStringCodecGravatar michajlo2018-03-26
| | | | | | Currently unnecessary PiperOrigin-RevId: 190568226
* stub simple core library bridge methods that only differ in return typeGravatar kmb2018-03-26
| | | | | | RELNOTES: None. PiperOrigin-RevId: 190559240
* Simplify Executor.getSpawnActionContext() by removing mnemonic: spawn is enough.Gravatar Googler2018-03-26
| | | | | RELNOTES: None PiperOrigin-RevId: 190544948
* Don't assert that configurations are actually equal in ↵Gravatar janakr2018-03-26
| | | | | | ConfiguredTargetAndData debugging check. PiperOrigin-RevId: 190533522
* Separate out single-extension matching in FileType to reduce garbage.Gravatar janakr2018-03-26
| | | | PiperOrigin-RevId: 190532114
* Enable params files for DexMapper.Gravatar ahumesky2018-03-26
| | | | | RELNOTES: None PiperOrigin-RevId: 190516662
* Fix incorrect int() exampleGravatar brandjon2018-03-26
| | | | | | | Also add tests for leading "+" in int(<string>) form. RELNOTES: None PiperOrigin-RevId: 190507678
* Remove final third_party/gtest reference.Gravatar ccalvarin2018-03-26
| | | | | | | Missed this in https://github.com/bazelbuild/bazel/commit/8e9f4a8591d65c7972aea3957c57601570e0a39b. RELNOTES: None. PiperOrigin-RevId: 190506543
* Get rid of some more #getConfiguration calls.Gravatar janakr2018-03-26
| | | | PiperOrigin-RevId: 190502786
* Prohibit using Java serialization for protos.Gravatar cpeyser2018-03-26
| | | | PiperOrigin-RevId: 190500851
* Automated rollback of commit 316cd7da6f6b003b853ccf7d144f395a9a557400.Gravatar janakr2018-03-26
| | | | | | | | *** Reason for rollback *** Roll-forward with fix (equality and hashcode for relevant classes). Also add a bit more debugging info in case of failure. PiperOrigin-RevId: 190492934
* Simplified ActionContextConsumer by having it operate on a new class which ↵Gravatar Googler2018-03-26
| | | | | | holds a variety of strategy/context maps. PiperOrigin-RevId: 190491357
* Add AspectCodec. Can't be @AutoCodec because we don't want to serialize the ↵Gravatar janakr2018-03-26
| | | | | | full content of native aspects. PiperOrigin-RevId: 190489694
* As promised in an earlier commit, remove subinclude machinery from ↵Gravatar nharmata2018-03-26
| | | | | | | | | PackageFactory, Package, PackageFunction, and also all things that make use of Package#getSubincludeLabels. This code is completely dead, and has been for a while. RELNOTES: None PiperOrigin-RevId: 190486792
* Redo FileType @AutoCodec: it is risky to assume that all subclasses are ↵Gravatar janakr2018-03-26
| | | | | | | | totally described by their extensions, since many are not. Instead, explicitly @AutoCodec those that are, and leave the rest to be individually handled. This also allows us to do equality checking. There is a slight memory penalty here, but there are ~100s of FileTypes in a large build, so it should be negligible. PiperOrigin-RevId: 190477427
* During NestedSet deserialization, maintain a list of known children outside ofGravatar cpeyser2018-03-26
| | | | | | | the global digestToChild map. Since digestToChild contains weak references, this is required to ensure the children are not GCed. PiperOrigin-RevId: 190476243
* Deprecate TransitiveInfoCollection#getConfiguration(), adding two new ↵Gravatar janakr2018-03-26
| | | | | | | | methods, TransitiveInfoCollection#getConfigurationKey() and ConfiguredTarget#getConfigurationChecksum(). These methods currently delegate to #getConfiguration(), but in the future they won't. I hope to get rid of #getConfigurationChecksum(), but I may have to fold the checksum into BuildConfigurationValue.Key or leave it as a separate field in ConfiguredTarget. Transform a representative (random?) selection of #getConfiguration calls, to show that it's pretty much possible everywhere. PiperOrigin-RevId: 190474978
* Make a bunch more stuff serializable, especially anonymous classes and ↵Gravatar janakr2018-03-26
| | | | | | lambdas. Give a bit more information in JavaSerializableCodec when serialization fails on an anonymous class or lambda. PiperOrigin-RevId: 190472245
* Big round of sandbox fixes / performance improvements.Gravatar Philipp Wollermann2018-03-26
| | | | | | | | | | | | | | | | - The number of stat() syscalls in the SymlinkedSandboxedSpawn was way too high. Do less, feel better. - When using --experimental_sandbox_base, ensure that symlinks in the path are resolved. Before this, you had to check whether on your system /dev/shm is a symlink to /run/shm and then use that instead. Now it no longer matters, as symlinks are resolved. - Remove an unnecessary directory creation from each sandboxed invocation. Turns out that the "tmpdir" that we created was no longer used after some changes to Bazel's TMPDIR handling. - Use simpler sandbox paths, by using the unique ID for each Spawn provided by SpawnExecutionPolicy instead of a randomly generated temp folder name. This also saves a round-trip from our VFS to NIO and back. Clean up the sandbox base before each build to ensure that the unique IDs are actually unique. ;) - Use Java 8's Process#isAlive to check whether a process is alive instead of trying to get the exitcode and catching an exception. Closes #4913. PiperOrigin-RevId: 190472170
* Add DONE_CHECKING as a reason for requesting nodes.Gravatar shreyax2018-03-26
| | | | | | | | Split registering the unique new deps of a node between those where we're enqueueing a known dependency from a prior build and one where we're adding a new dependency. Replace prefetchBatch with getBatchAsync and add createIfAbsentBatchAsync. PiperOrigin-RevId: 190471980
* Fix typo in linkGravatar brandjon2018-03-26
| | | | | RELNOTES: None PiperOrigin-RevId: 190470599
* Convert SkylarkRuleImplementationFunctions functions to use @SkylarkCallable ↵Gravatar cparsons2018-03-26
| | | | | | | instead. RELNOTES: None. PiperOrigin-RevId: 190463597
* pkg.bzl: adapt to upcoming incompatible changesGravatar Klaus Aehlig2018-03-26
| | | | | | | | Prepare pkg.bzl to be compliant with upcoming Skylark changes. With this change, one can use pkg_tar even if using --all_incompatible_changes. Change-Id: Iff0ed50bda1f93d9f606b783295b049bdf15d242 PiperOrigin-RevId: 190443156
* Set BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY when running ↵Gravatar lberki2018-03-26
| | | | | | | tests, too. RELNOTES: None. PiperOrigin-RevId: 190439262
* Automated rollback of commit f873447a073c8f7374e9f8a74ae42784df3f80e1.Gravatar twerth2018-03-26
| | | | | | | | | | | | *** Reason for rollback *** Breaks proto_library_regtest: http://b/76229470 *** Original change description *** @AutoCodec SelectorList and SkylarkFileType. PiperOrigin-RevId: 190434996
* Remove the unused label //tools/defaults:coverage .Gravatar lberki2018-03-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 190434178
* Make "blaze run --direct_run" wrap the command in a shell.Gravatar lberki2018-03-26
| | | | | | | This mimics "--nodirect_run". Apparently, a lot of people depend on this :( RELNOTES: None. PiperOrigin-RevId: 190433808
* BEP: also report the built artifacts in case of a testGravatar Klaus Aehlig2018-03-26
| | | | | | | | If a test target is built and testing is requested, nevertheless report what was built. Change-Id: Ida25f5f73fd4b5e102f2f4923acc555088495a8a PiperOrigin-RevId: 190431506
* Make the script written blaze "blaze run --direct_run --script_path" not ↵Gravatar lberki2018-03-26
| | | | | | | | | overwrite the environment of their caller. Admittedly, doing that was a bad idea in the first place. RELNOTES: None. PiperOrigin-RevId: 190430189