| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
* Refactor Chunker constructor to a builder to reduce constructor overload.
* Pass digest into this where we have it
* Redo ensureInputsPresent to not lose the missing digests during processing so we can pass them to the Chunker constructor.
RELNOTES: None
PiperOrigin-RevId: 207297915
|
|
|
|
|
|
|
| |
Create binary directly then convert to proto format.
RELNOTES: None
PiperOrigin-RevId: 207273767
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 207171755
|
|
|
|
|
|
|
| |
shrinking without tool attributes.
RELNOTES:
PiperOrigin-RevId: 207132534
|
|
|
|
| |
PiperOrigin-RevId: 206960449
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 206960066
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 206949407
|
|
|
|
|
|
|
| |
formatted apk
RELNOTES: None
PiperOrigin-RevId: 206945173
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward with the correct attribute handling.
*** Original change description ***
Automated rollback of commit 8fe0f45852a620a078013310989396caed273342.
*** Reason for rollback ***
Breaks a couple of builds due to a bad merge.
*** Original change description ***
Add apk converted to proto and all attributes from CompiledResources to ResourcesZip.
Add new proto format for tool attributes stored in the AndroidDataXml for storing them in the resources.zip.
RELNOTES:None
PiperOrigin-RevId: 206786645
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks a couple of builds due to a bad merge.
*** Original change description ***
Add apk converted to proto and all attributes from CompiledResources to ResourcesZip.
Add new proto format for tool attributes stored in the AndroidDataXml for storing them in the resources.zip.
RELNOTES:None
PiperOrigin-RevId: 206774364
|
|
|
|
|
|
|
|
|
| |
ResourcesZip.
Add new proto format for tool attributes stored in the AndroidDataXml for storing them in the resources.zip.
RELNOTES:None
PiperOrigin-RevId: 206765679
|
|
|
|
|
| |
RELNOTES:None
PiperOrigin-RevId: 206762523
|
|
|
|
|
| |
RELNOTES: Execution Log Parser can now, when printing it out, filter the log by runner type
PiperOrigin-RevId: 206602183
|
|
|
|
|
|
|
|
| |
/cc @laszlocsomor
Closes #5655.
PiperOrigin-RevId: 206319221
|
|
|
|
|
|
|
|
|
|
| |
The only remaining use was a testing REST backend in the LRE.
I wrote a replacement for that using netty, which we use for our network stuff in Bazel, which means we can now get rid of Hazelcast. :)
I'll remove the Hazelcast files in a separate change when this is merged.
PiperOrigin-RevId: 205985996
|
|
|
|
|
|
|
|
|
|
| |
Make these tests run on Windows, but currently does not pass.
/cc @laszlocsomor
Closes #5652.
PiperOrigin-RevId: 205658932
|
|
|
|
|
| |
RELNOTES: Fixed compatibility with aar_import when using aapt2. AAPT2 is now supported for Android app builds without resource shrinking. To use it, pass the `--android_aapt=aapt2` flag or define android_binary.aapt_version=aapt2.
PiperOrigin-RevId: 205136160
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
idempotency.
RELNOTES: None.
PiperOrigin-RevId: 204957400
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 204492527
|
|
|
|
|
| |
RELNOTES:None
PiperOrigin-RevId: 204170706
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #5534.
Skylint was operating under assumption that all lvalues have a single
bound identifier, which is not true for `IndexExpression`s like
```
d["foo"] += "bar"
```
As a result, Skylint would crash. This change makes it handle cases without
bound identifiers gracefully.
Ideally `IndexExpression` assigments should be analyzed too, but it's a more
involved change.
Closes #5535.
PiperOrigin-RevId: 204109060
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- MSVC does not have `errx` functions, so use `diag_errx` etc. instead.
- Fix format when trying to print `size_t`, use `%zu` so that the function will handle 32/64-bit `size_t` according to target system automatically.
- Adding/guarding a few includes for MSVC.
- MSVC does not have `ssize_t`, so replace it with `ptrdiff_t`
#2241
/cc @laszlocsomor
Closes #5499.
PiperOrigin-RevId: 204074420
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refocus synchronization mechanism to cope with file descriptor set fork-
induced races to more tightly constrain concurrent fork/exec pairs. This
problem has been observed in bazel proper repeatedly, exhibiting as the
iconic ETXTBSY - Text file busy in wide worker pool builds and tests.
Evidence that this was discovered by @buchgr is in the comment and change
to the embedded ExecutionService implementation, and the description of
the race and the need for the synchronization was lifted from that scope
to the JavaSubprocessFactory. This factory is a singleton and represents
the gateway to all worker process execution, and serves as the correct
lock primitive to ensure that file descriptor sets are not duplicated
across forks, which gave rise to this issue.
To test this, I demonstrated a reproducer presented at
https://bugs.java.com/view_bug.do?bug_id=8068370
with 2.4% of invocations in that pathological case exhibiting the issue.
With a functionally equivalent change - synchronizing around a
processBuilder.start() call - as the only modification to the reproducer,
no further failures of any kind were observed, over several hundred runs.
Closes #5556.
PiperOrigin-RevId: 203947224
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Follow-up to commit 59f17d6e0550bf63a0b6ef182e2d63474e058ede.
Use try-with-resources to ensure Reader objects
are closed eagerly.
Eagerly closing Readers avoids hanging on to
file handles until the garbage collector finalizes
the object, meaning Bazel on Windows (and
other processes) can delete or mutate these files.
Hopefully this avoids intermittent file deletion
errors that sometimes occur on Windows.
See https://github.com/bazelbuild/bazel/issues/5512
RELNOTES: none
PiperOrigin-RevId: 203771262
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewrite the CreateJunction function in the Windows
JNI library.
The new implementation's improvements:
- succeeds if the junction already exists with the
desired target; hopefully this will fix issue
https://github.com/bazelbuild/bazel/issues/5433
- tolerant to concurrent filesystem modifications,
e.g. if the junction's path suddenly disappears,
the function reports the error correctly
Fixes https://github.com/bazelbuild/bazel/issues/5433
Change-Id: I58a2314a00f6edaa7c36c35ba54616168b44eb7d
Closes #5528.
Change-Id: I9f5dc9237b70a433d0d8c2578a826de3d462d110
PiperOrigin-RevId: 203744515
|
|
|
|
|
|
|
| |
Fix https://github.com/bazelbuild/bazel/issues/5516
RELNOTES: None
PiperOrigin-RevId: 203448188
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use try-with-resources to ensure OutputStreams
that we open via FileSystem.OutputStream(path)
are closed.
Eagerly closing OutputStreams avoids hanging on to
file handles until the garbage collector finalizes
the OutputStream, meaning Bazel on Windows (and
other processes) can delete or mutate these files.
Hopefully this avoids intermittent file deletion
errors that sometimes occur on Windows.
See https://github.com/bazelbuild/bazel/issues/5512
RELNOTES: none
PiperOrigin-RevId: 203342889
|
|
|
|
|
|
|
|
|
|
|
|
| |
`setbuffer` is not available on MSVC, use C-standard `setvbuf` from `stdio.h` instead.
`setbuffer` was introduced in https://github.com/bazelbuild/bazel/commit/b4cf5e32a94024c1bfdc6ca432677c31306a3fb5.
#2241 /cc @laszlocsomor
Closes #5500.
PiperOrigin-RevId: 203083781
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 202644613
|
|
|
|
|
|
|
|
|
|
| |
Class with virtual functions must have virtual destructor. Subclasses should annotate overriden functions as `override`.
Found by Clang's `-Winconsistent-missing-override`.
Closes #5474.
PiperOrigin-RevId: 202445230
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update all runfiles libraries to have the same
header comment format, including the build rule
to depend on the namespace / header / module to
import
- Fix runfiles_test.cc to include the right files
(recent refactoring commit has split
src/main/cpp/util/path.cc from
file_[platform].cc)
- Change exported variable
_rlocation_isabs_pattern in runfiles.bash to be
upper-case, so it is visibly a variable and not
a function.
See https://github.com/bazelbuild/bazel/issues/4460
Change-Id: I17e18308506ab9f5c9f410ef6bc6b9df912d42a9
Closes #5481.
Change-Id: I17e18308506ab9f5c9f410ef6bc6b9df912d42a9
PiperOrigin-RevId: 202291629
|
|
|
|
|
|
|
| |
As //tools/defaults will be deprecated soon. All usages of //tools/defaults:jdk and //tools/defaults:java_toolchain should be replaced by corresponding targets in //tools/jdk/BUILD package
RELNOTES:none
PiperOrigin-RevId: 202114489
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES:None
PiperOrigin-RevId: 200766836
|
|
|
|
|
|
|
|
| |
For now, the tool simply displays the log as text.
TESTED=ran it
RELNOTES: A tool to parse the Bazel execution log.
PiperOrigin-RevId: 200718299
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert most `COMPILER_MSVC` to `_WIN32` (as they apply to Windows platform, not MSVC compiler). Only `src/tools/singlejar/zip_headers.h` and `src/main/cpp/util/md5.h` actually need `_MSC_VER`.
`COMPILER_MSVC` in `third_party/protobuf` are not removed. They can be fixed by updating dependency to newer version.
/cc @meteorcloudy
Closes #5350.
Change-Id: Ibc131abfaf34a0cb2bd338549983ea9d28eaabfe
PiperOrigin-RevId: 200019793
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`die` passes parameters to `vfprintf`. Passing `std::string` to this function might crash the program.
Found by Clang on Windows.
/cc @meteorcloudy
Closes #5339.
Change-Id: Iff7aa766770771262f91990774ff4d8de1fbeb5c
PiperOrigin-RevId: 199630717
|
|
|
|
|
|
|
|
|
|
|
| |
Leave functions that make file accesses in the file library, and general blaze utilities in the blaze_util file, but move the functions that boil down to string manipulation and path formatting to their own file. (With the exception of getCWD, since absolute path syntax is relevant here.)
Doing this largely to consolidate all Windows path control into a single place, so that it's easier to notice inconsistencies. For instance, ConvertPath currently makes Windows paths absolute, but not Posix paths, and MakeAbsolute relies on this behavior. In addition, JoinPath assumes Posix path syntax, which leads to some odd looking paths. These will be fixed in a followup change.
(Found these issues while working on #4502, trying to fix the windows-specific system bazelrc.)
RELNOTES: None.
PiperOrigin-RevId: 199368226
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces concurrent downloads of action outputs
for remote caching/execution. So far, for an action we would
download one output after the other which isn't as bad as it
sounds as we would typically run dozens or hundreds of actions
in parallel. However, for actions with a lot of outputs or graphs
that allow limited parallelism we expect this change to positively
impact performance.
Note, that with this change the AbstractRemoteActionCache will
attempt to always download all outputs concurrently. The actual
parallelism is controlled by the underlying network transport.
The gRPC transport currently enforces no limits on the concurrent
calls, which should be fine given that all calls are multiplexed
on a single network connection. The HTTP/1.1 transport also
enforces no parallelism by default, but I have added the
--remote_max_connections=INT flag which allows to specify an upper
bound on the number of network connections to be open concurrently.
I have introduced this flag as a defensive mechanism for users
who's environment might enforce an upper bound on the number of open
connections, as with this change its possible for the number of
concurrently open connections to dramatically increase (from
NumParallelActions to NumParallelActions * SumParallelActionOutputs).
A side effect of this change is that it puts the infrastructure
for retries and circuit breaking for the HttpBlobStore in place.
RELNOTES: None
PiperOrigin-RevId: 199005510
|
|
|
|
|
|
| |
This CL aslo enables a presubmit check for correct formatting of all bzl files in //third_party/bazel.
PiperOrigin-RevId: 198857055
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents an invalid flag like `resources:assets:AndroidManifest.xml:::local.bin` to match, as with the case in https://github.com/bazelbuild/bazel/issues/5214
where the R.txt file is missing (shouldn't happen, but let's be defensive)
Error message:
```
.. invalid DependencyAndroidData: bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-compat-25.0.0/res:bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/assets/support-compat-25.0.0/assets:bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.0.0_processed_manifest/AndroidManifest.xml:::bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.0.0_symbols/local.bin is not in the format 'resources[#resources]:assets[#assets]:manifest:r.txt(:symbols.zip?):symbols.bin'
```
RELNOTES: None.
PiperOrigin-RevId: 198724816
|
|
|
|
|
| |
RELNOTES: android_binary.aapt_version='aapt2' now supports en_XA and ar_XB
PiperOrigin-RevId: 198555305
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Much earlier, I made a change that allowed passing assets without resources to
aapt packaging. Do the same for aapt2 packaging too.
The busybox seems to be expecting compiled symbols, so compile assets and pass
the compiled version in. (Compiling assets doesn't save any time, but doesn't
cost much either, and means that we'll eventually be able to phase out the
parsed form entirely. Adapting the Busybox to take parsed assets would probably
work too, but getting the code to handle it would be really messy.)
RELNOTES: none
PiperOrigin-RevId: 198417111
|
|
|
|
| |
PiperOrigin-RevId: 197946783
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, if there are non-suppressed errors during aapt2 processing, Bazel does not print them.
This helps with debugging https://github.com/bazelbuild/bazel/pull/5222
With this, I get:
```
ERROR: /usr/local/google/home/jingwen/code/android_scratch_project/examples/android/java/bazel/BUILD:16:1: Processing Android resources for //examples/android/java/bazel:hello_world failed (Exit 1)
May 21, 2018 5:31:01 PM com.google.devtools.build.android.ResourceProcessorBusyBox main
SEVERE: java.io.IOException: Is a directory
Target //examples/android/java/bazel:hello_world failed to build
```
instead of just:
```
ERROR: /usr/local/google/home/jingwen/code/android_scratch_project/examples/android/java/bazel/BUILD:16:1: Processing Android resources for //examples/android/java/bazel:hello_world failed (Exit 1)
Target //examples/android/java/bazel:hello_world failed to build
```
RELNOTES: None.
PiperOrigin-RevId: 197493881
|
|
|
|
|
|
| |
RELNOTES: Bazel supports including select Java 8 APIs into Android apps targeting pre-Nougat Android devices with --experimental_desugar_java8_libs
PiperOrigin-RevId: 196833987
|
|
|
|
|
|
|
| |
It is a left over from long ago, and nothing should be using it as the
swift support is now via skylark rules and no longer native code.
PiperOrigin-RevId: 196541787
|