| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 205060182
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
`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
|
|
|
|
| |
PiperOrigin-RevId: 205047383
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 205046100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: none.
PiperOrigin-RevId: 205032841
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 205011761
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
| |
Change-Id: Ib1a29a927fa6fd3f49e03efa3b73e1547df6cacd
PiperOrigin-RevId: 204993474
|
|
|
|
|
|
|
|
|
|
|
| |
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 ...".
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204983634
|
|
|
|
|
| |
RELNOTES: none.
PiperOrigin-RevId: 204976789
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204974291
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204969740
|
|
|
|
|
| |
Change-Id: I13645199a21991b1458264f9d9ac2db2736066b2
PiperOrigin-RevId: 204963740
|
|
|
|
|
|
|
|
| |
idempotency.
RELNOTES: None.
PiperOrigin-RevId: 204957400
|
|
|
|
|
| |
Change-Id: I2195a3f7d60e9835bc00d6f151ea91271fdccf6f
PiperOrigin-RevId: 204954233
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204953629
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204948309
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204927047
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add instructions for community maintained packages.
Ref : Github issue #5332
@jin Is this how you want it?
Closes #5582.
PiperOrigin-RevId: 204919383
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
to the include scanner and slightly reshuffle code.
RELNOTES: None.
PiperOrigin-RevId: 204906167
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 204889082
|
|
|
|
| |
PiperOrigin-RevId: 204882046
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204817013
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204809750
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204801047
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
|
| |
parameters of the skylark attr module.
RELNOTES: None.
PiperOrigin-RevId: 204797954
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204788478
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Temporary solution finding the SkylarkCallable fields using reflection,
mirroring the existing handling of ClassObject.
PiperOrigin-RevId: 204779295
|