| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds the new magic value "auto" to --jobs and makes this the
default. When --jobs=auto, we determine the number of available CPU
threads and set a reasonable value for --jobs based on this number. I'm
explicitly not defining what "reasonable" means because we may want to
change the heuristics later on.
The goal here is to reduce the load on the system when running Bazel
while not adversely affecting build times significantly. Previous
versions of Bazel defaulted --jobs to 200, which could easily overload
the local machine with a lot of processes. This value was derived from
Blaze's default, which makes sense because most jobs are network-bound
due to distributed execution; however, in the Bazel case, this never
made sense and is actually harmful.
This change was initiated by problems observed on Macs where Bazel would
bring machines to their knees due to system resource overload. It's
likely that the overload is caused by too much RAM usage rather than
CPU, but both of these should go down with a more limited jobs value.
Should help alleviate issue #1160.
RELNOTES: The --jobs flag now defaults to "auto", which causes Bazel to
use a reasonable degree of parallelism based on the local machine's
capacity.
--
PiperOrigin-RevId: 150466088
MOS_MIGRATED_REVID=150466088
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of rolling its out action logic. Also remove support
for the 'min classpath' optimization.
JavaCompileAction is a subclass (instead of a SpawnAction instance)
only to allow tests to use the Java-specific getters that were added
to JavaCompilationAction.
--
PiperOrigin-RevId: 150463724
MOS_MIGRATED_REVID=150463724
|
|
|
|
|
|
|
|
| |
off the java critical path.
--
PiperOrigin-RevId: 150460041
MOS_MIGRATED_REVID=150460041
|
|
|
|
|
|
|
|
|
|
| |
Allow the local version of local remote build server to pick up
the temporary Docker override flags and start a command from
within a docker container.
--
PiperOrigin-RevId: 150456019
MOS_MIGRATED_REVID=150456019
|
|
|
|
|
|
|
|
| |
--
Change-Id: I9b1677b383f197e2884c7f68b6647cf8c641a863
Reviewed-on: https://cr.bazel.build/9411
PiperOrigin-RevId: 150445941
MOS_MIGRATED_REVID=150445941
|
|
|
|
|
|
|
|
|
|
|
|
| |
and remove support for -sourcepath through javacopts.
Progress on #2606.
Supporting -implicit:none by default will be done in an upcoming change.
--
PiperOrigin-RevId: 150445185
MOS_MIGRATED_REVID=150445185
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For a test result indicate if it was cached locally by the tool. Note
that this bit will not be set for tests cached by the remote execution.
Also clarify the meaning of the timing; it need not be set for locally
cached test results, but it may (and in this case reporting the timing
of the initial invocation of the cached test).
--
Change-Id: Ic83c4a58c1a85f6f4da82138999eaa545d8f60a6
Reviewed-on: https://cr.bazel.build/9376
PiperOrigin-RevId: 150442579
MOS_MIGRATED_REVID=150442579
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150440499
MOS_MIGRATED_REVID=150440499
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're using Azul Systems, Inc.'s Zulu® OpenJDK build[1], as it's a good
vanilla build of OpenJDK available for our three most important
platforms:
zulu8.20.0.5-jdk8.0.121-linux_x64.tar.gz
zulu8.20.0.5-jdk8.0.121-macosx_x64.zip
zulu8.20.0.5-jdk8.0.121-win_x64.zip
You can build & run a Bazel binary with an embedded JDK by simple doing:
bazel build //src:bazel_with_jdk
bazel-bin/src/bazel_with_jdk info
The "bazel license" command prints the license of the embedded OpenJDK.
We mirror the binaries and sources of the OpenJDK used for bundling on
this website:
https://bazel-mirror.storage.googleapis.com/openjdk/index.html
RELNOTES: Bazel can now be built with a bundled version of the OpenJDK.
This makes it possible to use Bazel on systems without a JDK, or where
the installed JDK is too old.
[1] http://www.azul.com/downloads/zulu/
--
PiperOrigin-RevId: 150440467
MOS_MIGRATED_REVID=150440467
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150439226
MOS_MIGRATED_REVID=150439226
|
|
|
|
|
|
|
|
| |
(repository name was added twice in a non-shorthand result).
--
PiperOrigin-RevId: 150437337
MOS_MIGRATED_REVID=150437337
|
|
|
|
|
|
|
|
|
|
|
|
| |
"bazel info".
java-runtime and java-vm print version info about Bazel's JVM.
java-home prints the path to Bazel's JVM.
character-encoding prints the default character encoding of Bazel's JVM.
--
PiperOrigin-RevId: 150437135
MOS_MIGRATED_REVID=150437135
|
|
|
|
|
|
|
|
|
| |
This should be safe as it has already been set to false in the rc files for
Blaze and Exoblaze.
--
PiperOrigin-RevId: 150436179
MOS_MIGRATED_REVID=150436179
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150435164
MOS_MIGRATED_REVID=150435164
|
|
|
|
|
|
|
|
| |
all embedded open-source components.
--
PiperOrigin-RevId: 150435047
MOS_MIGRATED_REVID=150435047
|
|
|
|
|
|
|
|
| |
in a following change.
--
PiperOrigin-RevId: 150434910
MOS_MIGRATED_REVID=150434910
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a unique TEST_TMPDIR for each running test on Windows, too.
The old behavior caused shell tests to share the same TEST_TMPDIR, which
caused conflicts when multiple tests were run in parallel.
Set Bazel's TEST_TMPDIR root on Windows to c:/temp by default in
TestStrategy. This avoids tripping the 260-character limit for paths.
We still have to keep the override in testenv.sh for the time being,
because Bazel's tests are often run with the latest released Bazel and
thus we have to wait for a new Bazel release before we can remove the
TEST_TMPDIR override from testenv.sh. Once that is done, the flag
--test_tmpdir should also magically start working on Windows.
Move the Python detection logic out of bazel_windows_example_test.sh
into testenv.sh. This is better than copying that code into every new
test's set_up method.
--
PiperOrigin-RevId: 150433265
MOS_MIGRATED_REVID=150433265
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150431342
MOS_MIGRATED_REVID=150431342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new class is a combination of SpawnHelper and our internal code; the
plan is to migrate all spawn strategies to the new class. The strict flag
should be enabled by default, but that's a breaking change, so we need to do
it later.
- Use it in SandboxStrategy.
- Add ActionInput.getExecPath to return a PathFragment; this avoids lots of
back and forth between path fragments and strings.
This is a step towards #1593.
--
PiperOrigin-RevId: 150427021
MOS_MIGRATED_REVID=150427021
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broken MSVC Bazel build on CI
https://github.com/bazelbuild/bazel/issues/2695
--
PiperOrigin-RevId: 150423895
MOS_MIGRATED_REVID=150423895
|
|
|
|
|
|
|
|
| |
context: https://bugs.openjdk.java.net/browse/JDK-8150111
--
PiperOrigin-RevId: 150390207
MOS_MIGRATED_REVID=150390207
|
|
|
|
|
|
|
|
|
|
| |
expressions for Android Lint.
RELNOTES: n/a
--
PiperOrigin-RevId: 150378522
MOS_MIGRATED_REVID=150378522
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150372383
MOS_MIGRATED_REVID=150372383
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150353881
MOS_MIGRATED_REVID=150353881
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change modifies DigestUtils to add a cache of (path, inode, mtime,
size) to the digest of the file for those digests that are computed by
reading the file contents.
The cache itself is optional because relying on file metadata to cache
the file digests could lead to correctness issues. Enabling the cache
is exposed via a new (undocumented) --cache_computed_file_digests flag
that we can use post-release to tune the built-in values if they prove
to be incorrect or problematic.
For Bazel, enable this cache unconditionally because the rest of
Bazel already relies on mtimes and other file metadata to determine
changes to files.
The rationale for this change is performance: once we have lost the
in-memory file metadata (e.g. because of a flag flip), Bazel has to
redigest all of the output files to recompute action cache keys. For
a pathological case of rebuilding a large app with 5GB of outputs and
then flipping the --[no]check_visibility flag on the command line, we
get the following numbers before this change:
____Elapsed time: 11.170s, Critical Path: 8.34s
____Elapsed time: 11.027s, Critical Path: 8.20s
____Elapsed time: 11.084s, Critical Path: 7.46s
____Elapsed time: 11.051s, Critical Path: 6.61s
____Elapsed time: 11.211s, Critical Path: 7.81s
____Elapsed time: 10.884s, Critical Path: 8.20s
____Elapsed time: 11.385s, Critical Path: 8.12s
____Elapsed time: 11.723s, Critical Path: 8.18s
____Elapsed time: 11.327s, Critical Path: 7.73s
____Elapsed time: 11.028s, Critical Path: 7.89s
And after this change:
____Elapsed time: 4.294s, Critical Path: 0.27s
____Elapsed time: 4.376s, Critical Path: 0.83s
____Elapsed time: 8.083s, Critical Path: 0.52s
____Elapsed time: 4.302s, Critical Path: 0.64s
____Elapsed time: 4.282s, Critical Path: 0.37s
____Elapsed time: 4.219s, Critical Path: 0.61s
____Elapsed time: 4.214s, Critical Path: 0.97s
____Elapsed time: 4.185s, Critical Path: 0.71s
____Elapsed time: 7.962s, Critical Path: 4.30s
____Elapsed time: 4.149s, Critical Path: 1.03s
--
PiperOrigin-RevId: 150351444
MOS_MIGRATED_REVID=150351444
|
|
|
|
|
|
|
|
| |
This was printing, fairly unhelpfully `ERROR: Process exited with status 127.` when the .sh file did not exist.
--
PiperOrigin-RevId: 150344684
MOS_MIGRATED_REVID=150344684
|
|
|
|
|
|
|
|
|
| |
Construct the command line flags in a single step. This is a follow-up to
commit 58a5a7d5d765979eb06e7515a6935ea5fe34fb3b.
--
PiperOrigin-RevId: 150341925
MOS_MIGRATED_REVID=150341925
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
this flag isn't needed with unknown commit
*** Original change description ***
Add --activity_name_file flag and modify --start flag in incremental_install. This is a first step
to add the ability for mobile-install to wait for the debugger before starting the app.
--
PiperOrigin-RevId: 150340712
MOS_MIGRATED_REVID=150340712
|
|
|
|
|
|
|
|
| |
group functions, constants and rules.
--
PiperOrigin-RevId: 150326696
MOS_MIGRATED_REVID=150326696
|
|
|
|
|
|
|
|
| |
Fixes #2270.
--
PiperOrigin-RevId: 150324978
MOS_MIGRATED_REVID=150324978
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, emphasize that that both, the static and dynamic part of
the configuration has to be collected to get the environment to be used
by actions.
--
Change-Id: I035def947d06dbd8f58460b5bf293b35a8ae038c
Reviewed-on: https://cr.bazel.build/9373
PiperOrigin-RevId: 150319122
MOS_MIGRATED_REVID=150319122
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 150314355
MOS_MIGRATED_REVID=150314355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix 3 bugs in blaze_util_windows:
- off-by-one error in the loop ensuring the std
handles are all open
- don't auto-close stdout's HANDLE after querying
the console window's size
- error-handling for when stdout is redirected
thus ::GetStdHandle returns an invalid handle
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 150310578
MOS_MIGRATED_REVID=150310578
|
|
|
|
|
|
|
|
|
|
| |
This should have been part of commit a068bd16d4dfa78516b85812177c1ccfec430fd1 which in itself causes problems if the Blaze version used changes because the language-specific header actions are then erroneously cached.
Ideally, we'd add the set of build info headers into the key, but that's not available in computeKey(). The next best thing would be to reify them as artifacts, but that's a little too intrusive for the urgency of the issue.
--
PiperOrigin-RevId: 150299218
MOS_MIGRATED_REVID=150299218
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
Cherry picks:
+ a28b54033227d930672ec7f2714de52e5e0a67eb:
Fix Cpp action caching
+ 6d1d424b4c0da724e20e14235de8012f05c470f8:
Fix paths of binaries in .deb packages.
+ 0785cbb672357d950e0c045770c4567df9fbdc43:
Update to guava 21.0 and Error Prone version 2.0.18-20160224
+ 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
Update to latest javac and Error Prone
+ 867d16eab3bfabae070567ecd878c291978ff338:
Allow ' ', '(', ')' and '$' in labels
+ 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
Pass through -sourcepath to the JavaBuilder
+ 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
PathFragment comparisons are now platform-aware
+ ed7795234ca7ccd2567007f2c502f853cd947e50:
Flag to import external repositories in python import path
+ 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
Suppress error for non-exhaustive switches
+ e8d1177eef9a9798d2b971630b8cea59471eec33:
Correctly returns null if an environment variables is missing
+ 869d52f145c077e3499b88df752cebc60af51d66:
Fix NPE in Android{S,N}dkRepositoryFunction.
+ d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
Select the good guava jars for JDK7 build
+ 92ecbaeaf6fa11dff161254df38d743d48be8c61:
Windows: Assist JNI builds with a target for jni_md.h.
+ 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
Add java_common.create_provider to allow creating a
java_common.provider
+ 8c00f398d7be863c4f502bde3f5d282b1e18f504:
Improve handling of unknown NDK revisions in
android_ndk_repository.
+ b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
Add the appropriate cxx_builtin_include_directory entries for
clang to the Android NDK crosstool created by
android_ndk_repository.
Incompatible changes:
- Depsets (former sets) are converted to strings as "depset(...)"
instead of
"set(...)".
- Using --symlink_prefix is now applied to the output
symlink (e.g. bazel-out) and the exec root symlink (e.g.
bazel-workspace).
- Bazel now uses the test's PATH for commands specified as
--run_under; this can affect users who explicitly set PATH to
a more
restrictive value than the default, which is to forward the
local PATH
- It's not allowed anymore to compare objects of different types
(i.e. a string to an integer) and objects for which comparison
rules are not
defined (i.e. a dict to another dict) using order operators.
New features:
- environ parameter to the repository_rule function let
defines a list of environment variables for which a change of
value
will trigger a repository refetching.
Important changes:
- android_ndk_repository now supports Android NDK R13.
- Android resource shrinking is now available for android_binary
rules. To enable, set the attribute 'shrink_resources = 1'. See
https://bazel.build/versions/master/docs/be/android.html#android_b
inary.shrink_resources.
- resolve_command/action's input_manifest return/parameter is now
list
- For increased compatibility with environments where UTS
namespaces are not available, the Linux sandbox no longer hides
the hostname of the local machine by default. Use
--sandbox_fake_hostname to re-enable this feature.
- proto_library: alias libraries produce empty files for descriptor
sets.
- Adds pkg_rpm rule for generating RPM packages.
- Allow CROSSTOOL files to have linker flags specific to static
shared libraries.
- Make it mandatory for Java test suites in bazel codebase, to
contain at least one test.
- Support for Java 8 lambdas, method references, type annotations
and repeated annotations in Android builds with
--experimental_desugar_for_android.
- Removed .xcodeproj automatic output from objc rules. It can still
be generated by requesting it explicitly on the command line.
- Flips --explicit_jre_deps flag on by default.
- Activate the "dbg", "fastbuild", and "opt" features in the objc
CROSSTOOL.
- Remove support for configuring JDKs with filegroups; use
java_runtime and java_runtime_suite instead
- android_ndk_repository api_level attribute is now optional. If not
specified, the highest api level in the ndk/platforms directory
is used.
|
|
|
|
|
|
|
|
| |
This is prone to deadlock.
--
PiperOrigin-RevId: 150263255
MOS_MIGRATED_REVID=150263255
|
|
|
|
|
|
|
|
| |
for darwin builds.
--
PiperOrigin-RevId: 150252792
MOS_MIGRATED_REVID=150252792
|
|
|
|
|
|
|
|
|
|
| |
These libraries don't produce data binding outputs on resource processing (since
there's nothing to process). Their only role is to pass through the outputs of
their deps.
--
PiperOrigin-RevId: 150251921
MOS_MIGRATED_REVID=150251921
|
|
|
|
|
|
|
|
| |
The default has been v1 since late October.
--
PiperOrigin-RevId: 150250180
MOS_MIGRATED_REVID=150250180
|
|
|
|
|
|
|
|
| |
scanner tool to ensure that the correct headers are detected without building any assumptions into the tool.
--
PiperOrigin-RevId: 150238621
MOS_MIGRATED_REVID=150238621
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 150236330
MOS_MIGRATED_REVID=150236330
|
|
|
|
|
|
|
|
| |
--
Change-Id: I3221e27e99c740b8ff2bdec8c242cc5cf30c16b5
Reviewed-on: https://cr.bazel.build/9375
PiperOrigin-RevId: 150229108
MOS_MIGRATED_REVID=150229108
|
|
|
|
|
|
|
|
|
|
|
| |
* Extract merging methods to a static class
* Extract output methods to a static class
* Extract manifest processing methods to a class
* Move ExecutorCloserService to the top level
--
PiperOrigin-RevId: 150219121
MOS_MIGRATED_REVID=150219121
|
|
|
|
|
|
|
|
|
| |
subclasses of crosstool tests, with tests that only work in the legacy case
kept in that subclass.
--
PiperOrigin-RevId: 150213251
MOS_MIGRATED_REVID=150213251
|
|
|
|
|
|
|
|
| |
RELNOTES: Repository context's execute() function can print stdout/stderr while running. To enable, pass quiet=False.
--
PiperOrigin-RevId: 150206218
MOS_MIGRATED_REVID=150206218
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for Enterprise, Professional, and Community editions of Microsoft Visual Studio 2017.
In the Community edition, the working directory changes after vcvarsall.bat is called. Not sure why.
Closes #2658.
--
Reviewed-on: https://github.com/bazelbuild/bazel/pull/2658
PiperOrigin-RevId: 150203876
MOS_MIGRATED_REVID=150203876
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support drive roots as --output_user_root values,
so "d:\" and "d:/" will now work. However "d:"
doesn't work yet because that's shorthand for the
current working directory on "D:".
See https://github.com/bazelbuild/bazel/issues/2683
--
PiperOrigin-RevId: 150203657
MOS_MIGRATED_REVID=150203657
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builds of py_binary targets were failing with --features=thin_lto
during the link because the C++ source files were compiled into
bitcode, but the link (which is set up by GooglePythonSemantics.java) did
not have support for ThinLTO actions and attempted to do a native link of
the bitcode objects.
--
PiperOrigin-RevId: 150201765
MOS_MIGRATED_REVID=150201765
|
|
|
|
|
| |
PiperOrigin-RevId: 150197521
MOS_MIGRATED_REVID=150197521
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reasoning: It never worked anyway, because Bazel didn't set the
JOB_OBJECT_LIMIT_BREAKAWAY_OK limit on its job. This is why running
Bazel in batch mode inside a shell integration test on Windows caused a
"CreateProcess() failed: access denied" error.
By no longer using CREATE_BREAKAWAY_FROM_JOB, this will instead cause us
to use nested jobs, which is exactly the right thing to do:
- If our parent dies, we and our children still get reliably killed.
- But if *only* we die, then just our children will be reliably killed.
If we're on an older Windows that doesn't support nested jobs and are
running inside an existing job, we should assume that our parent handles
process management - for example like Bazel, which runs all spawned
processes in their own job.
Also remove the CREATE_NEW_PROCESS_GROUP flag in Bazel's batch mode,
because I can't see how this makes sense for a non-daemon process.
--
PiperOrigin-RevId: 150194586
MOS_MIGRATED_REVID=150194586
|