aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Allow private headers to appear in directory artifactsGravatar hlopko2018-06-26
| | | | | | | | | | | | | | Before, Bazel expected that it can compile whatever appeared in cc_library.srcs directory artifacts. That is true for C/C++ source files, and for headers when the C++ toolchain supported header parsing/processing (which used CppCompileAction). When the toolchain doesn't support header parsing/processing, Bazel would crash. Addresses issue #5092. One part of it. Fixes #5372. RELNOTES: None. PiperOrigin-RevId: 202114286
* remote: enable previously ignored testsGravatar Jakob Buchgraber2018-06-26
| | | | | | | | | | | | | | | the tests had been disabled for flakyness due to timeouts. I think the right solution is remove the individual test timeouts as on a highly loaded machine fine grained timeouts typically don't make much sense. After removing the individual test timeouts no more flakyness was found in 1000 runs. Closes #5465. PiperOrigin-RevId: 202113697
* Release 0.15.0 (2018-06-26)Gravatar Bazel Release System2018-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Baseline: b93ae42e8e693ccbcc387841a17f58259966fa38 Cherry picks: + 4b80f2455e7e49a95f3a4c9102a67a57dad52207: Add option to enable Docker sandboxing. + 6b1635279e8b33dc1ac505ac81825e38f8797a14: Allow disabling the simple blob caches via CLI flag overrides. + 4ec0a7524913ab2c4641368e3f8c09b347351a08: Use BUILD.bazel instead of BUILD for external projects Incompatible changes: - Bazel now always runs binaries in with "bazel run" in interactive mode. The "--nodirect_run" command line option is now a no-op. - "bazel run --noas_test" is not supported anymore. - Indentation on the first line of a file was previously ignored. This is now fixed. New features: - C++,runfiles: to access data-dependencies (runfiles) in C++ programs, use the runfiles library built into Bazel. For usage info, see https://github.com/bazelbuild/bazel/blob/master/tools/cpp/runfiles /runfiles.h Important changes: - Bazel now allows almost all 7-bit ASCII characters in labels. - Remove vestigial java_plugin.data attribute - Bazel supports including select Java 8 APIs into Android apps targeting pre-Nougat Android devices with --experimental_desugar_java8_libs - Flag `--incompatible_disable_glob_tracking` is removed. - SkyQuery's rbuildfiles now returns targets corresponding to broken packages. - Introduce build support for providing cache prefetch hints. - Update the skylark DefaultInfo documentation to spell out runfiles, data_runfiles and default_runfiles - An internal action for symlinking runfiles will use Command instead of a Spawns. This should have no functional chages; the only user visible consequence should be that the internal action is no longer be included in statistics when calculating processes count. - --batch is deprecated - execution strategies line no longer handles differently the case where all processes have the same strategy. - The --experimental_remote_spawn_cache flag is now enabled by default, and remote caching no longer needs --*_strategy=remote flags (it will fail if they are specified). - android_binary.aapt_version='aapt2' now supports en_XA and ar_XB - Added --apple_enable_auto_dsym_dbg flag. - non_propagated_deps has been removed from objc_library and apple_binary. - For Android projects, Bazel now supports building fonts as resources. See https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml for more information on the feature. - 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.
* process runner for junit integration test frameworkGravatar Irina Chernushina2018-06-26
| | | | | | Closes #5435. PiperOrigin-RevId: 202100672
* C++: Remove call to initializeCcCompilationContext.Gravatar plf2018-06-26
| | | | | | | | | To get a CcCompilationInfo instance from Skylark it will either have to be through its constructor (not yet fully implemented) which will not schedule any actions or through a call to compile() which does schedule actions. RELNOTES:none PiperOrigin-RevId: 202099841
* buildkite: disable determinism test on presubmitGravatar buchgr2018-06-26
| | | | | | | | | it consistently takes over 10 minutes for little benefit on presubmit. we'll continue to run it on postsubmit for every commit. RELNOTES: None PiperOrigin-RevId: 202094016
* Prefetch inputs in bazel workers.Gravatar Googler2018-06-26
| | | | PiperOrigin-RevId: 202092962
* Fix missing newline after repository_cache value in info command output.Gravatar Googler2018-06-25
| | | | PiperOrigin-RevId: 202023187
* Explicitly specify @SkylarkCallable parameters for cpp skylark modules.Gravatar cparsons2018-06-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 202015490
* Explicitly specify @SkylarkCallable parameters for several skylarkbuildapi ↵Gravatar cparsons2018-06-25
| | | | | | | interfaces. RELNOTES: None. PiperOrigin-RevId: 201972439
* C++: Remove unnecessary runfiles providers.Gravatar plf2018-06-25
| | | | PiperOrigin-RevId: 201969238
* Clarify that depset order is deterministicGravatar brandjon2018-06-25
| | | | | | | In response to https://github.com/bazelbuild/rules_scala/issues/531 RELNOTES: PiperOrigin-RevId: 201966809
* Go back to handling conditional breakpoints server side.Gravatar brendandouglas2018-06-25
| | | | | | | | I should have left it as it was -- doing it client-side is just too slow. ENUM_VALUE_OK=This proto has never yet been used PiperOrigin-RevId: 201957138
* Explicitly specify @SkylarkCallable parameters for apple skylarkbuildapi ↵Gravatar cparsons2018-06-25
| | | | | | | interfaces. RELNOTES: None. PiperOrigin-RevId: 201956915
* C++: Remove CcLinkParamsStore parameter from CcLinkingInfo.Gravatar plf2018-06-25
| | | | | | | | | | I will remove the CcLinkParamsStore class in a separate CL. For now, make sure the API doesn't expose this class. The only Skylark use was in cc_import which is migrated in this CL. RELNOTES:none PiperOrigin-RevId: 201948058
* http_archive: remove noisy debug printsGravatar Jeremy Nimmer2018-06-25
| | | | | | | | | | | | Commit bd16ab9454e624a26c53a0f3fb892e20fb1c36e6 documents that these statements are no longer required to achieve prefetching (as of commit cdc99afc1a03ff8fbbbae088d358b7c029e0d232). Given that many `http_archive` calls will need at least a `build_file`, these debugging prints generate an incredible amount of spam in projects with many external archives. I looked over the rest of the `build_defs/repo` files and none of them have any tracing debug prints, except for `git.bzl` which guards it with an `attr.verbose`. I could rework this to add a verbosity flag if you wish, but it doesn't seem merited for http fetching (unlike git, which is relatively more expensive and can be flaky). Relates to #2700. Closes #5446. PiperOrigin-RevId: 201947174
* Make @bazel_tools//tools/build_defs/cc/action_names.bzl work for bazel osx testsGravatar hlopko2018-06-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 201941079
* Windows: Native launcher now works with unicode.Gravatar Yun Peng2018-06-25
| | | | | | | | | | | | | | The native launcher can now launch Java and Bash binary in directory with non-English characters. Unfortunately, python doesn't support running python zip file under directory with non-English characters. eg. python ./??/bin.zip will still fail. See https://github.com/bazelbuild/bazel/issues/4473 Change-Id: I77fe9cdaabffc2e0d25c7097da5c0c9333a9c4a3 PiperOrigin-RevId: 201939391
* Fix typo in http.bzlGravatar Loo Rong Jie2018-06-25
| | | | | | | | #5407 Closes #5450. PiperOrigin-RevId: 201933209
* Windows,client: extract embedded binaries fasterGravatar Laszlo Csomor2018-06-25
| | | | | | | | | | | | | | | | | | | | When extracting embedded binaries, the client now caches which directories it has already created and won't attempt creating them again. This saves some time on Windows: from 16.3 sec on average down to 13.2 sec. (n=10 runs, always starting Bazel with a new --output_user_root and shutting down afterwards.) On Linux I see only a marginal speedup, not significant enough to claim credit for it. :) See https://github.com/bazelbuild/bazel/issues/5444 Closes #5448. PiperOrigin-RevId: 201933181
* re-enable android ndk test on postsubmitGravatar buchgr2018-06-25
| | | | | RELNOTES: None PiperOrigin-RevId: 201925111
* Windows,Bazel client: check embedded tools fasterGravatar Laszlo Csomor2018-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Bazel client on Windows is now 50% faster to check the embedded tools than it was before. Results: - Linux: 20 ms -> 6 ms - Windows: 294 ms -> 133 ms Measurements were done with n=10 runs and a hot server, using blaze::GetMillisecondsMonotonic(). Previously the client performed the same tasks multiple times while trying to determine if a path was a good extracted binary. (E.g. converted the path to Windows format multiple times, checked if it was a directory twice, opened the path twice.) Now the client performes these tasks only once, e.g. it converts path once and stats only once. See https://github.com/bazelbuild/bazel/issues/5444 Closes #5445. PiperOrigin-RevId: 201913758
* Make @SkylarkCallable.name mandatory.Gravatar cparsons2018-06-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 201748802
* ToolchainContext directly implements SkylarkValue and SkylarkIndexable.Gravatar John Cater2018-06-22
| | | | | Change-Id: I355b138e143771fd826ab03951df821ea7d58ac5 PiperOrigin-RevId: 201740564
* Explicitly specify @SkylarkCallable parameters for android skylarkbuildapi ↵Gravatar cparsons2018-06-22
| | | | | | | interfaces. RELNOTES: None. PiperOrigin-RevId: 201735466
* Delete an unused methodGravatar cushon2018-06-22
| | | | PiperOrigin-RevId: 201723154
* Remove Label.parseAbsolute(string, boolean). The goal is to get rid of all ↵Gravatar dannark2018-06-22
| | | | | | | label methods that don't explicitly pass a repository mapping. RELNOTES: None PiperOrigin-RevId: 201717665
* Automated rollback of commit 28a999cff60fa5a8c9ca045ab2b202d83a0e0583.Gravatar kaipi2018-06-22
| | | | | | | | | | | | *** Reason for rollback *** see b/109887056 *** Original change description *** Stop objc_proto_library from returning the generated sources. PiperOrigin-RevId: 201709908
* Add some debugging info to ArtifactFactory, and allow tests to access the ↵Gravatar janakr2018-06-22
| | | | | | ArtifactResolverSupplier in SkyframeExecutor. PiperOrigin-RevId: 201705857
* Expose aspect actions from Skylark.Gravatar tomlu2018-06-22
| | | | | | | | | | | Like with providers, consumers get a merged view of all actions from the merged configured target (all other aspects + the base target). I had to rejig the aspect value / configured aspect to be symmetric with rule configured targets. I do not expect significant memory bloat from this. All lists / maps already existed, only extra fields have been added. RELNOTES: Expose aspect actions provider to Skylark. PiperOrigin-RevId: 201697923
* Automated rollback of commit 5a9befc5602e71f7512074c303afbdcff5617cca.Gravatar twerth2018-06-22
| | | | | | | | RELNOTES: None *** Reason for rollback *** PiperOrigin-RevId: 201686843
* Add a method in FileArtifactValue to create a new instance given an existing ↵Gravatar felly2018-06-22
| | | | | | FileStatus. PiperOrigin-RevId: 201683773
* Automatic ClangTidyReadability code cleanup.Gravatar Googler2018-06-22
| | | | PiperOrigin-RevId: 201680493
* buildkite: test Bazel on Ubuntu 18.04Gravatar buchgr2018-06-22
| | | | | | | | I have added Buildkite workers running on Ubuntu 18.04 LTS. We should test Bazel on it. RELNOTES: None PiperOrigin-RevId: 201677421
* Add ConfiguredTargetValueAccessor.Gravatar twerth2018-06-22
| | | | | | | | This will be necessary for the action graph query which operates on ConfiguredTargetValue's. RELNOTES: None PiperOrigin-RevId: 201657526
* Remove --batch option from bazel_windows_example_test.shGravatar pcloudy2018-06-22
| | | | | RELNOTES: None PiperOrigin-RevId: 201653054
* Split target pattern eval, config creation, and analysis into a new class.Gravatar twerth2018-06-22
| | | | | | | This is in preparation for interleaving them. RELNOTES: None PiperOrigin-RevId: 201652267
* Log "Worker configuration has changed, restarting worker pool..." regardless ↵Gravatar Googler2018-06-22
| | | | | | | | of the --worker_verbose setting. This message is important because it can catch cases where people are unknowingly running consecutive builds with different options, leading to much slower builds. In this regard it is a lot like "Build options have changed, discarding analysis cache". PiperOrigin-RevId: 201648554
* Move HashFunction out of FileSystem, and turn it into a class, instead of an ↵Gravatar ccalvarin2018-06-21
| | | | | | | | | enum. Now that we aren't using enum names for the hash functions, we also accept the standard names, such as SHA-256. RELNOTES: None. PiperOrigin-RevId: 201624286
* Audit usages of Label.getRelative and update to Label.getRelativeWithRemappingGravatar dannark2018-06-21
| | | | | RELNOTES: None PiperOrigin-RevId: 201617188
* Add bazel rules for referencing android.test APIs when using android-28.Gravatar Googler2018-06-21
| | | | | | The android.test classes have been moved from the android.jar in android-28. This CL attempts to add a rule for accessing them. PiperOrigin-RevId: 201607890
* Remove unused vfs deps.Gravatar dannark2018-06-21
| | | | | RELNOTES: None PiperOrigin-RevId: 201594295
* Remap labels that include a repository name that appear in $(location x).Gravatar dannark2018-06-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 201588988
* Remove deprecated flag "skylark_incremental_res" from mobile-install command.Gravatar Googler2018-06-21
| | | | | | | RELNOTES[INC]: The mobile-install --skylark_incremental_res flag is no longer available, use the --skylark flag instead. PiperOrigin-RevId: 201574876
* Automated rollback of commit 5728af65e8b89b9dd3a5ac2b717c93ec5333ca18.Gravatar hlopko2018-06-21
| | | | | | RELNOTES: None. *** Reason for rollback *** PiperOrigin-RevId: 201573394
* Remove several uses of @SkylarkCallable.mandatoryPositionalsGravatar cparsons2018-06-21
| | | | | | | mandatoryPositionals is going away soon. While it is less verbose than the alternative, it does not allow for documentation to be specified (nor type-checking), and is thus inferior to the alternative. Killing mandatoryPositionals will also make the interpreter code cleaner. RELNOTES: None. PiperOrigin-RevId: 201566377
* Rename the implicit attribute used to store toolchain dependencies.Gravatar jcater2018-06-21
| | | | PiperOrigin-RevId: 201565941
* Create a method for initializing build API libraries using object instances ↵Gravatar cparsons2018-06-21
| | | | | | | | | instead of object classes. This allows the caller to, for example, initialize the global library before adding it to a global frame. The skylark interpreter will no longer require that global libraries have a zero-arg constructor. RELNOTES: None. PiperOrigin-RevId: 201563608
* Take into account repository mapping when processing labels inside BUILD ↵Gravatar dannark2018-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | files within external repositories. For example: a/BUILD genrule( name = "a", srcs = ["@x//:x.txt"], outs = ["result.txt"], cmd = "echo hello > \$(location result.txt)" ) If the main workspace file references that repository with a rule: local_repository( name = "other_repo", path = "../a", repo_mapping = {"@x" : "@y"} ) Then when a/BUILD is evaluated, the string "@x//:x.txt" will be turned into a Label "@y//:x.txt" RELNOTES: None PiperOrigin-RevId: 201562148
* If a dictionary is used as a general set, the keys should be mapped to ↵Gravatar Googler2018-06-21
| | | | | | | | | | `True` instead of `None`. dict has a get() method that defaults to `None`. Checking for a key in the dictionary with get() will always return `None` in the given example. Using `True` is better. RELNOTES: None. PiperOrigin-RevId: 201551896