aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Rename CrosstoolInfo.java to CcToolchainConfigInfo.javaGravatar rosica2018-07-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 205060182
* C++: Removes check for host configurationGravatar plf2018-07-18
| | | | | | | | | | | | | The C++ Skylark API is protected by a flag and whitelist. The flag's value should be true by default for non-Bazel. This is set with an invocation policy. In Bazel the default value is false. When this was checked in I couldn't find a way to use the default value in the host configuration, so when checking the flag we ignored the value for these cases. In this CL we copy the target config value to the host config. RELNOTES:none PiperOrigin-RevId: 205059612
* If a dictionary is used as a general set, the keys should be mapped to ↵Gravatar Googler2018-07-18
| | | | | | | | | | `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: 205052981
* Added completion for Starlark builtins.Gravatar Googler2018-07-18
| | | | PiperOrigin-RevId: 205047383
* Remove a few unused fields from CrosstoolInfo.Gravatar lberki2018-07-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 205046100
* bazel,tests: allow empty TMPDIR in testGravatar Laszlo Csomor2018-07-18
| | | | | | | | | | | | | | | | | | | | | Allow the `$TMPDIR` to be empty in //src/test/shell/bazel:bazel_rules_test. This used to be the case before commit https://github.com/bazelbuild/bazel/commit/f814454ff5477418ca44696efb5c71339368efa4 Bazel only guarantees to set TMPDIR for locally executed tests, but not (to my knowledge) for remote execution. Fixes https://github.com/bazelbuild/bazel/issues/5607 Change-Id: I2e97c13d137f94c7f668b7a6c7fc5020a19e4a0b Closes #5610. Change-Id: I2e97c13d137f94c7f668b7a6c7fc5020a19e4a0b PiperOrigin-RevId: 205039105
* [singlejar] Change off_t and ssize_t to C standard ptrdiff_tGravatar Loo Rong Jie2018-07-18
| | | | | | | | | | | | | | MSVC does not have `ssize_t` type. MSVC does have `off_t`, but is defined as 32-bit `long` due to legacy reason, this will prevent us from handling large file. Changing `off_t` and `ssize_t` to C standard `ptrdiff_t` for portability and consistency. Changing one instance of `S_ISDIR(st.st_mode)` to `(st.st_mode & S_IFDIR) == S_IFDIR` as MSVC does not have `S_ISDIR` macro. /cc @laszlocsomor Closes #5538. PiperOrigin-RevId: 205038203
* RepositoryCache: support hard linkningGravatar Klaus Aehlig2018-07-18
| | | | | | | | | Instead of copying files found in a cache hit, support adding a hard link. This should save disk space if the same files from cache are used in many workspaces. Fixes #5568. Change-Id: Ie8192f9669d8420283e18e0813f3160a515ba8fe PiperOrigin-RevId: 205034815
* Expose the UsesDataBindingProvider to Skylark (as UsesDataBindingInfo).Gravatar Googler2018-07-17
| | | | | RELNOTES: none. PiperOrigin-RevId: 205032841
* Android NDK r17 supportGravatar Jingwen Chen2018-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Full NDK changelog](https://github.com/android-ndk/ndk/wiki/Changelog-r17) Changes related to Bazel's NDK toolchain/CROSSTOOL generation: - Removed support for targeting mips, mips64, armeabi. - Bumped bundled clang version to 6.0.2. - The default STL is now libc++. If Bazel detects that r17 is being used, it aliases `@androidndk//:default_toolchain` to `@androidndk//:toolchain-libcpp`, instead of `@androidndk//:toolchain-gnu-libstdcpp`. - Removed tests that build against armeabi, mips, mips64. - Stop passing `-fno-integrated-as` into the compiler by default. TODO: - [x] Java tests - [x] ~Support for wrap.sh to use with ASANs~ Implementing in follow up PR. - [ ] Fix or disable remote caching with android_ndk_integration_test https://github.com/bazelbuild/bazel/issues/4663 Fixes https://github.com/bazelbuild/bazel/issues/4742 RELNOTES: Added support for Android NDK r17. The default STL is now `libc++`, and support for targeting `mips`, `mips64` and `ARMv5` (`armeabi`) has been removed. Closes #5371. Change-Id: Id1ded004c3a80ea62f307746dc3ad6f633f2df2e PiperOrigin-RevId: 205013758
* Expose AndroidFeatureFlagSetProvider to SkylarkGravatar Googler2018-07-17
| | | | | RELNOTES: None PiperOrigin-RevId: 205011761
* Automated rollback of commit d491bf10f42e213292382c98a1dc439537f00f43.Gravatar janakr2018-07-17
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Still bugs lurking. See linked bug. *** Original change description *** Automated rollback of commit eb587075b0d6ffab1cf9e69ede1b7e547905e547. *** Reason for rollback *** Depot has been fixed. 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: 204997569
* Move target pattern work to new util classGravatar John Cater2018-07-17
| | | | | Change-Id: Ib1a29a927fa6fd3f49e03efa3b73e1547df6cacd PiperOrigin-RevId: 204993474
* Revert "Support RAII in wrapped_clang"Gravatar bbaren2018-07-17
| | | | | | | | | | | This reverts commit 202658759, which does not correctly propagate Clang error codes. PiperOrigin-RevId: 204991287 Notes: The commit message should begin "This reverts commit f24958a11e3a54f563429aadc12bce033be047fa ...".
* Expose AndroidSdkProvider to Skylark (as AndroidSdkInfo).Gravatar Googler2018-07-17
| | | | | RELNOTES: None. PiperOrigin-RevId: 204983634
* Update the AndroidProguardInfo provider so that it can be created from Skylark.Gravatar Googler2018-07-17
| | | | | RELNOTES: none. PiperOrigin-RevId: 204976789
* Expose ProguardSpecProvider to skylark.Gravatar Googler2018-07-17
| | | | | RELNOTES: None PiperOrigin-RevId: 204974291
* Add anchor tags to external.md page for actual linkability!Gravatar dannark2018-07-17
| | | | | RELNOTES: None PiperOrigin-RevId: 204969740
* Move constraint value lookup to a new utility function.Gravatar John Cater2018-07-17
| | | | | Change-Id: I13645199a21991b1458264f9d9ac2db2736066b2 PiperOrigin-RevId: 204963740
* Make default method stubbing resilient to core library renaming, to preserve ↵Gravatar kmb2018-07-17
| | | | | | | | idempotency. RELNOTES: None. PiperOrigin-RevId: 204957400
* Move platform lookup to new dedicated helper class.Gravatar John Cater2018-07-17
| | | | | Change-Id: I2195a3f7d60e9835bc00d6f151ea91271fdccf6f PiperOrigin-RevId: 204954233
* Expose AndroidLibraryResourceClassJarProvider to skylark.Gravatar Googler2018-07-17
| | | | | RELNOTES: None PiperOrigin-RevId: 204953629
* NDK cpusupport: link against dlGravatar Gregor Jasny2018-07-17
| | | | | | | | | | The cpusupport code uses functions like dlopen, dlclose that require linking with libdl. Adding that library to the linkopts makes cpusupport self-contained. Closes #5559. PiperOrigin-RevId: 204948982
* Add doc about repo_mappingGravatar dannark2018-07-17
| | | | | RELNOTES: None PiperOrigin-RevId: 204948309
* Default to doing decoupled data processing in Android configurationGravatar asteinb2018-07-17
| | | | | | | | Also, fix a few NPEs this apparently exposes by having android_test and android_binary mobile_install explicitly specify merged resources. RELNOTES: none PiperOrigin-RevId: 204933164
* Expose AndroidCcLinkParamsProvider to Skylark as AndroidCcLinkParamsInfo.Gravatar Googler2018-07-17
| | | | | RELNOTES: None PiperOrigin-RevId: 204927047
* Add flags for disabling legacy crosstool fieldsGravatar hlopko2018-07-17
| | | | | | | | | | | | This cl adds following flags: * --experimental_disable_legacy_cc_compilation_api * --experimental_disable_legacy_cc_linking_api * --experimental_disable_linking_mode_flags * --experimental_disable_compilation_mode_flags * --experimental_disable_legacy_crosstool_fields RELNOTES: None PiperOrigin-RevId: 204924599
* Adds documentation for community supported platformsGravatar Rishabh Chakrabarti2018-07-17
| | | | | | | | | | | | Add instructions for community maintained packages. Ref : Github issue #5332 @jin Is this how you want it? Closes #5582. PiperOrigin-RevId: 204919383
* [Skylark] Make range function lazy.Gravatar Taras Tsugrii2018-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | range used to use MutableList which would eagerly allocate an array list with all range elements, which is not efficient for very large ranges or when only a small number of its elements are used. This implementation uses a constant amount of RAM and computes a value for each requested index. For the following Skylark snippet: ``` def check_content(t): if t == []: return t return False def modulo(n): return n % 797 N = 10000000 [check_content(i) for i in range(N)] [check_content(i) for i in range(N)] [modulo(i) for i in range(N)] [modulo(i) for i in range(N)] ``` the total runtime goes from ``` $ time bazel-bin/src/main/java/com/google/devtools/skylark/Skylark test.bzl bazel-bin/src/main/java/com/google/devtools/skylark/Skylark test.bzl 93.09s user 1.67s system 316% cpu 29.930 total ``` to ``` $ time bazel-bin/src/main/java/com/google/devtools/skylark/Skylark test.bzl bazel-bin/src/main/java/com/google/devtools/skylark/Skylark test.bzl 31.45s user 0.86s system 179% cpu 17.974 total ``` which reflects the reduced system time (fewer allocations) and performance. Closes #5240. PiperOrigin-RevId: 204918577
* fix deadlock in the bes upload. Fixes #5402Gravatar buchgr2018-07-17
| | | | | | | | | | | The synchronized block in sendBuildEvent is not needed at all, since all the logic in there is local to the method and thread safe. See the issue for more details. RELNOTES: None PiperOrigin-RevId: 204915541
* bes: fix bug where the bes upload would lose eventsGravatar buchgr2018-07-17
| | | | | | | | | | | | If a local file upload fails, then the build event gets lost. This was the case because of a bug in the implementation where local file upload errors are retried by the BES retrier. This is the root cause for the "Non-consecutive sequence number" errors we have been seeing recently. RELNOTES: None PiperOrigin-RevId: 204906550
* Pull out a class to hold the data that is transferred from a compilation actionGravatar Googler2018-07-17
| | | | | | | to the include scanner and slightly reshuffle code. RELNOTES: None. PiperOrigin-RevId: 204906167
* PiperOrigin-RevId: 204896222Gravatar Googler2018-07-17
|
* Release 0.15.2 (2018-07-17)Gravatar Bazel Release System2018-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 + 2ff8c5fd919ad7316d06c6303e8d7b51315d4c61: Release 0.15.0 (2018-06-26) + 8ff87c164f48dbabe3b20becd00dde90c50d46f5: Fix autodetection of linker flags + c4622ac9205d2f1b42dac8c598e83113d39e7f11: Fix autodetection of -z linker flags + d3228b61f633cdc5b3f740b641a0836f1bd79abd: remote: limit number of open tcp connections by default. Fixes #5491 Important changes: - In remote caching we limit the number of open TCP connections to 100 by default. The number can be adjusted by specifying the --remote_max_connections flag.
* Windows,Bazel client: multithreaded file writingGravatar Laszlo Csomor2018-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Bazel client on Windows now writes extracted binaries to disk in parallel. On all other systems it writes them serially (as before). This change makes blaze.cc:ActuallyExtractData() about 3x faster when using a HDD. (In previous experiments I saw no speedup with multi-threaded writing on machines with an SSD.) The Windows-specific code uses the native Threadpool API of Windows, creating a pool of at least 8 and at most 16 threads. (This seems to be a good balance between speed and thread count.) The OS manages everything about the pool; Bazel submits callbacks and the pool executes them asynchronously. blaze.cc:ActuallyExtractData() speed, before: - Windows: 6.48s (avg) / 6.38s (median) - Linux (Debian): 4.78s (avg) / 4.79s (median) blaze.cc:ActuallyExtractData() speed, after: - Windows (8-16 threads): 2.05s (avg) / 2.01s (md) - Windows (1 thread): 5.77s (avg) / 5.74s (median) See https://github.com/bazelbuild/bazel/issues/5444 Change-Id: I7211f3d28eb8b9837352c16ff8df0411d5a9ebe1 Closes #5600. Change-Id: I7a74d62a563c92948a4dfa8ad5ac83eae018db10 PiperOrigin-RevId: 204891217
* [singlejar] Add port library for various MSVC hacksGravatar Loo Rong Jie2018-07-17
| | | | | | | | | | | | A small `port` library with various MSVC hacks. This is needed for future PRs. For non-Windows platforms, `port.cc` will produce an empty object file. #2241 /cc @laszlocsomor Closes #5501. PiperOrigin-RevId: 204889516
* Expose BUILD and Starlark symbols.Gravatar Googler2018-07-17
| | | | PiperOrigin-RevId: 204889082
* Improve error reporting for BuildEventService{Module,Transport}Gravatar lpino2018-07-17
| | | | PiperOrigin-RevId: 204882046
* External repositories: disallow use of unexported repository rulesGravatar Klaus Aehlig2018-07-17
| | | | | | | | | | | Treat repository rules the same way as build rules: they may only be used, if exported by a Skylark file. It has never been intended to create external repositories by anonymous rules, and, in fact, for properly recording resolved information, it is necessary that all repository rules used can be referred to by an accessible name. Change-Id: Ib9259d58be66b033721a6f591656c45889f49931 PiperOrigin-RevId: 204872735
* git_repository: remove .git directoryGravatar Klaus Aehlig2018-07-17
| | | | | | | | | | | While we do not expect any targets to actually depend on the contents of the .git subdirectory of an external repository, it is still a non-reproducible part of an external git repository, blocking all attempts to demonstrate reproducibility of that the given rule. Change-Id: Id1e08013a8ca33d4b4c4b053b9423f75d771dfc1 PiperOrigin-RevId: 204872242
* Automated rollback of commit eb587075b0d6ffab1cf9e69ede1b7e547905e547.Gravatar janakr2018-07-16
| | | | | | | | | | *** Reason for rollback *** Depot has been fixed. 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: 204827477
* Fix comments.Gravatar Googler2018-07-16
| | | | | RELNOTES: None PiperOrigin-RevId: 204817013
* Expose AndroidPreDexJarProvider to Skylark as AndroidPreDexJarInfo.Gravatar Googler2018-07-16
| | | | | RELNOTES: None PiperOrigin-RevId: 204809750
* AndroidIdeInfoProvider exposed to Skylark (as AndroidIdeInfo).Gravatar Googler2018-07-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 204801047
* Automated rollback of commit 44c53dcf661ef7c0fdf484c26d3eedf7d2be7593.Gravatar jingwen2018-07-16
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Failing on Windows: https://buildkite.com/bazel/bazel-bazel/builds/3409#825fcb71-bf05-4e59-98a3-1272957d6588 *** Original change description *** Add //examples/... to postsubmit CI pipeline While fixing https://github.com/bazelbuild/bazel/issues/3663, I figured that it'll be great to build_test all of the targets in //examples/..., on top of the Android ones. Tested manually on Ubuntu, macOS and Windows machines. Fixes https://github.com/bazelbuild/bazel/issues/3663 Closes #5108. PiperOrigin-RevId: 204800755
* Add --incompatible_disable_deprecated_attr_params to disable some deprecated ↵Gravatar cparsons2018-07-16
| | | | | | | parameters of the skylark attr module. RELNOTES: None. PiperOrigin-RevId: 204797954
* Ensure BEP file output stream is flushed promptly.Gravatar Googler2018-07-16
| | | | | | | | | | | | | | | | | | Tulsi uses BEP json output in its UI, to simulate Bazel terminal outptut. This means we have to promptly flush the stream. It's sufficient to do flushing at the granularity of whole events, not any specific count of bytes, since whole events are what's being consumed by the user. To balance IO throughput and interactivity, let's flush at a regular sub-second interval. (The alternative solution of using a stream with smaller buffer could still end up with small-sized event descriptions buffered arbitrarily long; and abandoning buffering altogether would be suboptimal for throughput when writing a long sequence of small build events.) RELNOTES: None. PiperOrigin-RevId: 204790794
* Make AndroidAssetsInfo createable from Skylark.Gravatar Googler2018-07-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 204788478
* Add //examples/... to postsubmit CI pipelineGravatar Jingwen Chen2018-07-16
| | | | | | | | | | | | While fixing https://github.com/bazelbuild/bazel/issues/3663, I figured that it'll be great to build_test all of the targets in //examples/..., on top of the Android ones. Tested manually on Ubuntu, macOS and Windows machines. Fixes https://github.com/bazelbuild/bazel/issues/3663 Closes #5108. PiperOrigin-RevId: 204785212
* Skylark debugger: show contents of SkylarkValue objects when serializing.Gravatar brendandouglas2018-07-16
| | | | | | | Temporary solution finding the SkylarkCallable fields using reflection, mirroring the existing handling of ClassObject. PiperOrigin-RevId: 204779295