aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Change the KeyValueConsumer to extend BiConsumer for improved consumer usage.Gravatar corysmith2017-10-20
| | | | | RELNOTES: None PiperOrigin-RevId: 172754760
* Replace Futures.dereference with the appropriate async method.Gravatar Googler2017-10-20
| | | | | | Futures.dereference is being deprecated and deleted, because it has a race condition where cancellation is not propagated. PiperOrigin-RevId: 172748120
* bazelrc: remove experimental_ui optionsGravatar Klaus Aehlig2017-10-20
| | | | | | | | | | Now that the experimental_ui is enabled by default in commit 784bb52613feb484221c3aa6756de, we do not need to enable it in the (recommended) bazelrc file anymore. While there, also move the default number of actions shown in the experimental_ui to the flag default. Change-Id: I74673a0d677b6d832c9fb5e2983f97c0dcbc44e4 PiperOrigin-RevId: 172736977
* Set the platform name in the build event stream to the CPU instead of the ↵Gravatar lberki2017-10-20
| | | | | | | | | toolchain identifier. This is necessary because we don't want BuildConfiguration to depend on BUILD and CROSSTOOL files anymore and this is possible because the toolchain ID was conceived as a unique identifier for the configuration in the build event stream, which it isn't anyway, and this way it's at least more human-readable. RELNOTES: None. PiperOrigin-RevId: 172725386
* Windows,JNI: use wstrings onlyGravatar Laszlo Csomor2017-10-20
| | | | | | | | | | | | | | | | | | | | In this commit: - fix the Windows JNI library to only use UTF-16 strings Converting between multi-byte strings (UTF-8) and wstrings (UTF-16) always carries the risk of incorrectly handling the strings. It also takes time, even if not much. Not converting the strings but using the raw Java strings (which are in fact UTF-16 strings) simplifies the code and allows using non-ASCII paths (at least in the JNI module, even if Bazel as a whole doesn't support non-ASCII characters). Change-Id: I827fbe92a1bbefac049a1e34ac1738c965ed2e9c PiperOrigin-RevId: 172715277
* Remove OS/Xcode versions (and thus package loading) from ↵Gravatar lberki2017-10-20
| | | | | | | | | | | AppleConfiguration.Loader. Fixes #3424. RELNOTES[INC]: Selecting on "xcode_version" and "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_flag": $VALUE}). PiperOrigin-RevId: 172714477
* [Bazel] Change default place where {java,cc}_proto_library look for their ↵Gravatar carmi2017-10-20
| | | | | | | | | external repo dependencies. This fixes https://github.com/cgrushko/proto_library/issues/4. RELNOTES: [Bazel] {java,cc}_proto_library now look for dependencies in @com_google_protobuf, instead of in @com_google_protobuf_$LANG PiperOrigin-RevId: 172685722
* Loop in top-level transition logic to configurable query to give more ↵Gravatar juliexxia2017-10-20
| | | | | | accurate results. Some refactoring done to get custom query code out of BuildView and into resolvers. PiperOrigin-RevId: 172647838
* Fix src/test/shell/bazel:srcs_test to add missing srcs filegroup.Gravatar allevato2017-10-20
| | | | PiperOrigin-RevId: 172639055
* Fixed android desugar tests to refer to existing guava filegroup insteadGravatar John Cater2017-10-18
| | | | | | | of directly using the jar file. Change-Id: Id862bb30bec46e0998cf95e44c51a6f6ab14ab7e PiperOrigin-RevId: 172619240
* Add directory entries to the resource_files.zip because robolectric relies ↵Gravatar dannark2017-10-18
| | | | | | | on this to properly index the merged resources and assets. RELNOTES:None PiperOrigin-RevId: 172615228
* Windows: fix failing testsGravatar Laszlo Csomor2017-10-18
| | | | | | | | | | //src/test/py/bazel:bazel_external_repository_test //src/test/py/bazel:launcher_test Fixes https://github.com/bazelbuild/bazel/issues/3917 Change-Id: Ib864d7bd51984cec782a61f849eea90533763d0d PiperOrigin-RevId: 172606993
* Push NodeEntry#keepEdges down to InMemoryNodeEntry. It's not needed on the ↵Gravatar janakr2017-10-18
| | | | | | general interface. PiperOrigin-RevId: 172606623
* Skylint: show a better error message if a file is not foundGravatar fzaiser2017-10-18
| | | | | RELNOTES: none PiperOrigin-RevId: 172599144
* Don't reference static method from instance variable.Gravatar dannark2017-10-18
| | | | | RELNOTES: None PiperOrigin-RevId: 172597986
* Flip the default value of --experimental_toolchain_id_in_output_directory to ↵Gravatar lberki2017-10-18
| | | | | | | | false and make the option a no-op. RELNOTES[INC]: C++ toolchain identifiers are not in the name of the output directory anymore. PiperOrigin-RevId: 172594237
* Add c++-module-codegen to known action typesGravatar hlopko2017-10-18
| | | | | | | Builds using c++-module-codegen actions stopped working after https://github.com/bazelbuild/bazel/commit/5518ce1f0d9a5a12dbf54ba3a6bc2e10d1cae979. This cl fixes that. RELNOTES: None PiperOrigin-RevId: 172587344
* Speed up test suite by creating one action per file.Gravatar laurentlb2017-10-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 172581098
* Skylint: change the end location of missing function docstring warnings.Gravatar fzaiser2017-10-18
| | | | | | | The end location now ends before the first statement of the function. RELNOTES: none PiperOrigin-RevId: 172578911
* Add Skylark code that exports the current Xcode version and the Apple SDK ↵Gravatar lberki2017-10-18
| | | | | | | | | | | versions as flags. This will serve to replace AppleConfiguration#lateBoundOptionDefaults(). That one has to go away so that AppleConfiguration doesn't need to know the contents of the xcode_config rule anymore. Progress towards #3424. RELNOTES: None. PiperOrigin-RevId: 172569961
* Internal changeGravatar twerth2017-10-18
| | | | PiperOrigin-RevId: 172569624
* Add memory profiler.Gravatar tomlu2017-10-18
| | | | | | | | | | | This adds two dump command, bazel dump --rules and bazel dump --skylark_memory. dump --rules outputs a summary of the count, action count, and memory consumption of each rule and aspect class. dump --skylark_memory outputs a pprof-compatible file with all Skylark analysis allocations. Users can then use pprof as per normal to analyse their builds. RELNOTES: Add memory profiler. PiperOrigin-RevId: 172558600
* Wire in testOnly bit down to ErrorProneOptions, so it can be used from Checkers.Gravatar Googler2017-10-18
| | | | | RELNOTES: None PiperOrigin-RevId: 172545302
* Actions now have the option of returning an ActionResult, containing a ↵Gravatar ruperts2017-10-18
| | | | | | | (possibly empty) set of SpawnResults created during execution of the Action. RELNOTES: None. PiperOrigin-RevId: 172529328
* Remove feature to allow expansion flags to have values.Gravatar ccalvarin2017-10-18
| | | | | | | | | It was added as a potential fix for --config (an expansion flag with values), but this would have required forcing the parser to know the config's expansions at parsing time, which is not currently possible. Instead, we will use the new addition of option-location tracking to make sure we expand options at a the correct place, even if the expansion is triggered after the fact. This is mostly a straight forward undoing of https://github.com/bazelbuild/bazel/commit/7c7255ec8d6da20526c2c4078c57aadaf3dd3612, except where the context has changed. Notably, implicit requirements are effectively treated like expansion flags, so special casing in OptionDescription could be removed. RELNOTES: None. PiperOrigin-RevId: 172514997
* Fall back on basic StringCodec if FastStringCodec isn't availableGravatar michajlo2017-10-18
| | | | | | | Also adds a method which can be used to tell if this behavior actually applied, for more performance-sensitive users. PiperOrigin-RevId: 172512011
* Make cc_toolchain put the files comprising the toolchain into its FileProvider.Gravatar lberki2017-10-18
| | | | | | | Note that cc_toolchain_suite is not changed this way, but that rule doesn't currently serve as a proxy for cc_toolchain (unlike java_runtime_suite for java_runtime), so that's OK. RELNOTES: None. PiperOrigin-RevId: 172502279
* Migrate ResourceProcessorBusyBox Android actions to using SHELL_QUOTED param ↵Gravatar apell2017-10-18
| | | | | | | files. RELNOTES: None. PiperOrigin-RevId: 172485548
* Migrate all users of OptionsParser.enableParamsFileSupport to use the ↵Gravatar apell2017-10-18
| | | | | | | ShellQuotedParamsFilePreProcessor. This covers all of the tools packaged in the ResourceProcessorBusyBox. RELNOTES: None. PiperOrigin-RevId: 172485486
* PiperOrigin-RevId: 172480513Gravatar juliexxia2017-10-18
|
* Start process of making auto_cpu_environment_group non-experimental.Gravatar jcater2017-10-18
| | | | | | | | Adds a legacy flag so clients can continue to use both experimental_auto_cpu_environment_group and auto_cpu_environment_group until uses can be cleaned up. PiperOrigin-RevId: 172470616
* Only run cpp_darwin_integration_test on darwinGravatar hlopko2017-10-18
| | | | | | | | | | | | This test assumes linking and loading behavior only present on darwin, it doesn't make sense to run this test on other platforms. But our CI does. This cl makes the test pass without executing anythign when run on a non-darwin platform. E.g. of failure: http://ci.bazel.io/blue/organizations/jenkins/bazel-tests/detail/bazel-tests/1088/pipeline/26 RELNOTES: None. PiperOrigin-RevId: 172446997
* Skylint: don't warn for unused initialization with 'None'.Gravatar fzaiser2017-10-18
| | | | | | | | | | | | | | | | | | | | It's good practice to place a "declaration" of a variable in a location that dominates all its uses, especially so if you want to document the variable. Hence we want no warning saying this declaration is unused. Example: var = None # don't warn about the unused declaration here if condition: var = 0 else: var = 1 As noted in the code, this also has the undesired side-effect of suppressing the warning here: var = None # doesn't warn either but ideally should var = 0 Fixing the latter problem is not worth the increased code complexity, in my opinion. RELNOTES: none PiperOrigin-RevId: 172442402
* build_windows_jni: fix @cd callGravatar Laszlo Csomor2017-10-18
| | | | | | | | | | | | In cmd.exe it's not enough to `cd` into a directory to change the shell's current working directory: you also have to change to the right drive. Fixes https://github.com/bazelbuild/bazel/issues/3906 Change-Id: I4dd1a17e8b6b4a0db8fb7a56239ed78de3efae95 PiperOrigin-RevId: 172437822
* Stream rest cache file uploads.Gravatar Benjamin Peterson2017-10-18
| | | | | | | | | | | | | | | This means we no longer keep large action inputs or outputs in memory during upload. I adjusted the SimpleBlogStore interface to require clients to pass in the InputStream length. That allows us to always set Content-length on uploads. It's polite to do so, so that the server may, e.g., preallocate space for the blob. Fixes https://github.com/bazelbuild/bazel/issues/3250. Change-Id: I944c9dbc35fa2fa80dce523b0133ea9757bb3973 PiperOrigin-RevId: 172433522
* Enable experimental UI by default.Gravatar twerth2017-10-18
| | | | | RELNOTES: Enable experimental UI by default. PiperOrigin-RevId: 172432464
* Remove the target_apple_env and the apple_host_system_env methods from ↵Gravatar lberki2017-10-18
| | | | | | | | | | ctx.fragments.apple . Progress towards #3424. RELNOTES[INC]: the target_apple_env and apple_host_system_env methods on ctx.fragments.apple are not supported anymore. The same information is accessible through apple_common.target_apple_env and apple_common.apple_host_system_env . They need the Xcode configuration as an argument, which can be obtained by declaring an implicit dependency on it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_config")) and then calling e.g. apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_common.XcodeVersionConfig]). PiperOrigin-RevId: 172430475
* Fixing #3834, making sure test.log always exists.Gravatar olaola2017-10-18
| | | | | | | | Even if the test action produced no output, which it really shouldn't, Bazel should create an empty test.log file. TESTED=unit tests RELNOTES: Fixes #3834 PiperOrigin-RevId: 172412615
* Removing local fallback on failed action commands.Gravatar olaola2017-10-18
| | | | | | | | We should only fall back if a remote execution error occurred, not if the command itself failed. TESTED=better unit tests RELNOTES: None PiperOrigin-RevId: 172406687
* Relax SplitTransitionProvider interface to use AttributeMapGravatar cparsons2017-10-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 172394552
* Extend from an abstract base class to avoid duplication of utility methods ↵Gravatar ruperts2017-10-18
| | | | | | | in RuleErrorConsumers RELNOTES: None. PiperOrigin-RevId: 172387755
* Track Option placement within a priority category.Gravatar ccalvarin2017-10-18
| | | | | | | | | An option has precedence over previous options at the same enum-valued priority. Track its placement in this ordering explicitly. This will allow after-the-fact expansion of expansion options such that they correctly take precedence or not compared to other mentions of the same flag. This is needed to fix --config's expansion. RELNOTES: None. PiperOrigin-RevId: 172367996
* Make BazelJavaCompiler aware of the platform classloaderGravatar cushon2017-10-18
| | | | PiperOrigin-RevId: 172365313
* Optimize trusted MutableList constructionGravatar michajlo2017-10-18
| | | | | | | | | | | | Cuts back a lot of unnecessary copying. All construction is funneled through copyOf and wrapUnsafe. copyOf is the traditional construction mechanism, taking defensive copies of the input and determining if GlobList information needs to be retained. wrapUnsafe takes full ownership of the supplied ArrayList, allowing us to skip a lot of copies in trusted situations. This is particularly useful for common built in functions which return a list, range() being one common example. RELNOTES: None PiperOrigin-RevId: 172361367
* Delayed rollforward of commit 8fb311b4dced234b2f799c16c7d08148619f4087.Gravatar kush2017-10-18
| | | | | | | | | | | | | | | This was rolled back due to Tensorflow breakage but the patch I exported to gerrit (https://bazel-review.googlesource.com/c/bazel/+/18590) passed Tensorflow (https://ci.bazel.io/job/bazel/job/presubmit/52/Downstream_projects/). Confirmed with jcater@ that the "newly failing" projects in the Global Tests are known issues. I think we can check this in now. Additionally I had attempted to reproduce any tensorflow issues with this by building and testing TensorFlow locally with this patch, and all tests which passed with the released bazel had also passed with this patch. ================= Original change description ========================== Reinstate idleness checks where the server self-terminates when it's idle and there is either too much memory pressure or the workspace directory is gone. Arguably, it should kill itself when the workspace directory is gone regardless of whether it's idle or not, but let's first get us back to a known good state, then we can think about improvements. RELNOTES: None. PiperOrigin-RevId: 172361085
* Fall back to guessing available memory on Linux machines running kernels ↵Gravatar Googler2017-10-18
| | | | | | | older than 3.14-rc1 (2014-02-02). RELNOTES: N/A PiperOrigin-RevId: 172356826
* Accept command lines from tools invoking Bazel.Gravatar ccalvarin2017-10-18
| | | | | | | | | | | For tools that wrap Bazel in some way, the original way that the tool was invoked can be a useful piece of information to track when logging what Bazel did and why. In order to output this information in the same way that Bazel outputs its command lines, we accept --tool_command_line in the structure command line format that Bazel uses in the BEP. These structured command lines are protos that we expect as a base64 encoded byte array. For simple scripts that wish to use this feature without compiling the proto, we will also accept any old string (that cannot be interpreted as a base64 encoding) as a single "chunk" in a structured command line. This is experimental for now and users should not get attached to the format. We will remove the experimental_ prefix when it is stable. RELNOTES: None. PiperOrigin-RevId: 172341216
* Make tests independent of the default value for --experimental_uiGravatar Klaus Aehlig2017-10-18
| | | | | | | | | In preparation of experimental UI becoming the default UI for bazel, change some tests that depend on specifics of the current UI to explicitly specify the UI to use. Change-Id: If976c3eccd19c4a523c7eb1b4c4355ab2e5f9371 PiperOrigin-RevId: 172340189
* Make tests more independent of default valuesGravatar Klaus Aehlig2017-10-18
| | | | | | | | | | | | Some tests depend on the target pattern evaluation strategy used. Make them specify the target pattern evaluator they need. Same, if the tests depend on a particular human-readable output stream. While there, also increase shard count for the bazel_repository_cache_test to speed it up. RELNOTES: None PiperOrigin-RevId: 172328801
* Actions now have a temp envvar.Gravatar László Csomor2017-10-16
| | | | | | | | | | | | | | | | | | | | | Every build and test action that creates a Spawn will now have platform-specific environment variables for temp directories: - on Windows: TMP and TEMP - on Linux/Darwin: TMPDIR This is particularly important on Windows where e.g. Java programs cannot create temp directories unless there's a valid TMP or TEMP environment variable set. Fixes: - https://github.com/bazelbuild/bazel/issues/1590 - https://github.com/bazelbuild/bazel/issues/2349 - https://github.com/bazelbuild/bazel/issues/2870 Change-Id: Ib758307daf6b3a51b0f71ae5e65e5bb564dad643 PiperOrigin-RevId: 172326371