| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
To match the label declarations in git.bzl, use `allow_single_file` for
workspace and build file labels.
Per https://docs.bazel.build/versions/master/skylark/lib/attr.html#label this restricts the labels to specify only a single file.
Closes #5561.
PiperOrigin-RevId: 204773387
|
|
|
|
|
|
|
| |
This is a part of the https://github.com/bazelbuild/bazel/issues/4571 effort.
RELNOTES: None
PiperOrigin-RevId: 204754855
|
|
|
|
|
|
|
|
|
|
| |
referencing the main repository using its name caused bazel to treat it as a separate external repository.
Closes #5586.
Fixes #3115.
RELNOTES: None
PiperOrigin-RevId: 204752150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-hermetic events that happen as part of repository rules).
Defining representation for Execute events for workspace logging.
In the future:
- Add more events
- Allowing to specify log file rather than dumping to INFO
- Log levels, full or alerts only
RELNOTES: None
PiperOrigin-RevId: 204748436
|
|
|
|
|
|
| |
environment properly.
PiperOrigin-RevId: 204738902
|
|
|
|
|
|
|
|
|
|
|
| |
This was providing runtime libraries. This provider is redundant because the
same libraries are in CcLinkParamsStore.
Note to sheriff: Shouldn't break anything. If any, breakages would most likely be in Go test rules. I will look at the nightly tomorrow anyway. The breakages in the linked TGP re-run are not caused by this change, later re-runs have unrelated changes.
TESTED=[]
RELNOTES:none
PiperOrigin-RevId: 204738136
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- CcLinkingInfo has a getter for CcLinkParams.
- Artifacts and linkopts of CcLinkParams are accessible.
- CcCompilationInfo constructor now accepts defines and include dirs.
- CcCompilation now has getters for headers, defines and include dirs.
CcCompiilationInfo(
headers=depset([Artifacts]),
defines=depset([Strings]),
include_dirs=depet([Strings])
CcCompilationInfo.headers
CcCompilationInfo.defines
CcCompilationInfo.include_dirs
--
cc_common.merge([CcLinkingInfos]) returns CcLinkingInfo
--
CcLinkingInfo.static_shared_params
CcLinkingInfo.static_no_shared_params
CcLinkingInfo.no_static_shared_params
CcLinkingInfo.no_static_no_shared_params
--
CcLinkParams.libraries
CcLinkParams.linkopts
CcLinkParams.dynamic_libraries_for_runtime
RELNOTES:none
PiperOrigin-RevId: 204700779
|
|
|
|
|
|
|
| |
are difficult or impossible to verify by annotation processor.
RELNOTES: None.
PiperOrigin-RevId: 204540521
|
|
|
|
|
|
|
|
|
| |
files which define new provider types and instantiate Labels.
Also improve docstring usage in attr definitions by doing whitespace trimming.
RELNOTES: None.
PiperOrigin-RevId: 204537623
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204533485
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204531667
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/b39c69394c5e7991ca8d04efac2142c22947a7c5
RELNOTES: None
PiperOrigin-RevId: 204522278
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 204514591
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 204514384
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204505003
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204492527
|
|
|
|
|
|
|
| |
This doesn't actually exist, but if the name isn't found in the uploader map then it defaults to "local".
RELNOTES: None
PiperOrigin-RevId: 204483720
|
|
|
|
|
|
|
| |
This old provider will be deprecated, and removing documentation for this type is of higher priority as it conflicts with the documentation for "actions", another skylark type.
RELNOTES: None.
PiperOrigin-RevId: 204480354
|
|
|
|
|
|
|
| |
Previously, any absolute label (starting with double slash) would be converted to an absolute path, instead of a path relative to the current workspace directory.
RELNOTES: None.
PiperOrigin-RevId: 204472080
|
|
|
|
|
|
|
| |
Java code.
RELNOTES: None
PiperOrigin-RevId: 204471346
|
|
|
|
|
|
|
| |
test hooks.
RELNOTES: None
PiperOrigin-RevId: 204468647
|
|
|
|
|
|
| |
RELNOTES:
No longer define G3_VERSION_INFO for c++ linkstamp compiles, as it was a duplicate of G3_TARGET_NAME.
PiperOrigin-RevId: 204466459
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 204463998
|
|
|
|
|
|
|
| |
It was not opensourced, and even internally was not used. And we hate having internal-only code.
RELNOTES: None.
PiperOrigin-RevId: 204441702
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CreateJunction and DeletePath are now more
resilient to errors:
- CreateJunction opens the junction path to check
its target requesting fewer rights and with
greater sharing permission. This way it can
check junction targets even if the junction name
is opened by another process with no sharing.
- DeletePath attempts to call FindFirstFileW if
GetFileAttributesW fails with
ERROR_ACCESS_DENIED. There's hardly any info
about this error mode online, except for a code
comment in the .NET CoreFX library. (See new
code comments in this commit.)
Also:
- Change the error codes for DeletePath.
- Wrap the DeletPath error codes in a struct for
better readability.
Fixes https://github.com/bazelbuild/bazel/issues/5433
Change-Id: I5b6e0f27b5b22c1cf00da90104495eda84178283
Closes #5590.
Change-Id: I5b6e0f27b5b22c1cf00da90104495eda84178283
PiperOrigin-RevId: 204438994
|
|
|
|
|
|
|
|
| |
available.
The owning labels are the labels of the top-level configured targets that requested this artifact to be built (there may be many such targets). In cases where the artifact is added not through a configured target (build-info artifacts and coverage artifacts), the label of the artifact's owner is used.
PiperOrigin-RevId: 204432951
|
|
|
|
|
|
|
|
|
| |
ResolvedFile objects.
While this does not eliminate the need for stat operation yet, it gets rid of one usage of the stat result (and is also a self contained change)
RELNOTES: None
PiperOrigin-RevId: 204417559
|