| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
PiperOrigin-RevId: 169087881
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the classpath is too long, the launcher creates a jar file to pass
the classpath value. This change makes the jar file's name random.
It fixed the bug that when running multiple instances of the same java binary,
they all try to create the same classpath jar file. For example, when
running java_test with shard_count > 1.
Also, we delete the classpath jar file after the program finishes, so
that we don't leave any garbages behind.
Change-Id: I67926b3ef76dcb1806797e977ecaa7c6763c5cf2
PiperOrigin-RevId: 169087032
|
|
|
|
|
|
|
|
|
| |
...by quoting the delimiter of the here-documents, instead of the
documents themselves. This is possible as the here-documents are
constants in that test (not depending on the test setup).
Change-Id: If272060ce9f6384821e4bd0bd9033925bd1efe9c
PiperOrigin-RevId: 169080394
|
|
|
|
| |
PiperOrigin-RevId: 169067125
|
|
|
|
| |
PiperOrigin-RevId: 169060289
|
|
|
|
|
|
|
|
|
|
| |
When printing envvars, use "${FOO:-}" instead of
"${FOO}", so the test won't fail if an envvar is
undefined.
See https://github.com/bazelbuild/bazel/issues/3618
PiperOrigin-RevId: 169059836
|
|
|
|
|
|
| |
Makes it easier to do Skylark param file support which uses a format string.
PiperOrigin-RevId: 169019600
|
|
|
|
|
|
|
| |
Exempt RuleConfiguredTarget in this change because that's liable to touch
a billion files.
PiperOrigin-RevId: 168929827
|
|
|
|
|
|
|
|
| |
Rules should now be configured directly with patch transitions.
This brings down our transition interfaces to: Transition, ConfigurationTransition, SplitTransition, PatchTransition.
PiperOrigin-RevId: 168927364
|
|
|
|
|
|
| |
This also migrates the example to the new rules_apple ios_application rule, since the native Bazel rule is being deleted.
PiperOrigin-RevId: 168902357
|
|
|
|
|
|
|
| |
first.
Change-Id: I3d78418d2c51d09e3862fbab1854ae73a0b3253c
PiperOrigin-RevId: 168889865
|
|
|
|
| |
PiperOrigin-RevId: 168883984
|
|
|
|
|
|
| |
the c++ toolchain type through an implicit attribute.
PiperOrigin-RevId: 168864540
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 168862724
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We get UnparsedValues after ... parsing the options. So that doesn't
make sense. What was meant was that it wasn't converted to the final
value.
In an effort to make this distinction more clear, this change will
make the terminology more consistent. The `--foo=bar` step is
"parsing" and the `bar -> Object` step is "converting" (it is, in
fact, done by Converters).
RELNOTES: None.
PiperOrigin-RevId: 168852847
|
|
|
|
|
|
|
| |
But not for Bazel because of #3719
RELNOTES: None
PiperOrigin-RevId: 168836686
|
|
|
|
| |
PiperOrigin-RevId: 168835640
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks clang_tidy.
*** Original change description ***
Introduce -c source_file -o output_file build variables
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
RELNOTES: None.
PiperOrigin-RevId: 168834576
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Working towards: https://github.com/bazelbuild/bazel/issues/3311
When building dynamic library on Windows, Bazel builds an import library
and a DLL.
Bazel provides a feature called windows_export_all_symbols, if this
feature is enabled(and no_windows_export_all_symbols is not) for a
cc_library, then Bazel parses object files of that cc_library to generate
a DEF file that will be used during linking time to export symbols from
DLL. This feature can be specified at crosstool, package, target and
command line level.
A few differences from Unix platforms:
1. We don't build the shared library on Windows by default, users have to
specifiy --output_groups=dynamic_library for building dynamic libraries.
This output group is also available on other platforms.
2. By default, cc_test is dynamically linked on Unix, but it will be
statically linked on Windows by default. (meaning the default value of
linkstatic in cc_test is 1 on Windows, and 0 on other platforms)
3. For global data symbols, __declspec(dllimport) must still be used in
source files.
Remaining issues:
1. Extensions for import library and DLL are not correct yet.
2. DLLs are not guaranteed to be available during runtime yet.
3. Diamond problem
If a cc_library A is specified as linkstatic=0, then no dynamic library
will be built for it, so if another cc_library B depends on it, A will
be statically linked into B, and if a cc_binary C depends on B, A will
also be statically linked into C and B will be dynamically linked to C.
This is wrong because A is duplicated in both B and C.
It is essentially a diamond problem describled in C++ Transitive Library.
(https://docs.google.com/document/d/1-tv0_79zGyBoDmaP_pYWaBVUwHUteLpAs90_rUl-VY8/edit?usp=sharing)
Hopefully, we can avoid this by using cc_shared_library rule in future.
Change-Id: I23640d4caf8afe65d60b1522af6368536d7a8408
PiperOrigin-RevId: 168829958
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168815084
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Bazel building itself on FreeBSD, also #3739.
*** Original change description ***
Introduce empty "toolchain_category" rule for labels that will be used as
categories of toolchains for the purpose of toolchain selection.
Up to now, we've used the native toolchain_type rule for this purpose. That rule depends on a number of configuration fragments that supply build variables - we don't want toolchains to need to depend on those fragments as well. E.g. toolchain_type depends on JvmConfiguration, but we would like toolchains to work with --experimental_disable_jvm.
PiperOrigin-RevId: 168810566
|
|
|
|
| |
PiperOrigin-RevId: 168802886
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 168781738
|
|
|
|
| |
PiperOrigin-RevId: 168771952
|
|
|
|
|
|
|
|
|
| |
android_local_test and java_test/java_binary do not need to flatten their nested sets because they do not have a jar mapping.
android_test and android_binary still flatten because of desugaring.
RELNOTES: None
PiperOrigin-RevId: 168771671
|
|
|
|
|
| |
RELNOTES: Tiny all() and any() documentation fix.
PiperOrigin-RevId: 168767065
|
|
|
|
|
|
| |
This is necessary for the upcoming Skylark implementation of param files.
PiperOrigin-RevId: 168744486
|
|
|
|
|
|
|
| |
Add additional tooling for removing android_resources
RELNOTES: none
PiperOrigin-RevId: 168741510
|
|
|
|
|
|
|
|
| |
support into the bargain).
Equality checking isn't that important since there's only one instance per Blaze server, but it keeps serialization semantics reasonable.
PiperOrigin-RevId: 168735669
|
|
|
|
|
|
| |
This involves rather tediously rolling up each artifact type in its own individual nested set.
PiperOrigin-RevId: 168729120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new flag, --use_top_level_targets_for_symlinks.
Configuration-specific convenience symlinks (i.e., (prefix)bin,
(prefix)genfiles, (prefix)testlogs) previously pointed at the one top-level
target configuration. If there were multiple top-level target configurations,
which could only happen when --experimental_multi_cpu was used, then no symlinks
would be created, though they would not be deleted either.
With the flag on, the output directories of the configurations actually used by
the top-level targets (after rule class transitions etc.) are compared. If all
targets with non-null configurations have the same configuration (or, more
specifically, if all targets with non-null configurations have configurations
with the same output directory), then a symlink is created pointing at it.
Otherwise, the symlink is deleted, to avoid confusion with stale symlinks from
old builds.
Known changes in behavior WITHOUT the flag turned on:
* In the --experimental_multi_cpu case, non-configuration-specific
convenience symlinks (i.e., (prefix)(workspace) and (prefix)out) will always
be created, even though they previously wouldn't have been created at all in
this case. (should be harmless)
* In the --experimental_multi_cpu case, configuration-specific convenience
symlinks will be created if all configs have the same output directory.
(should be safe, or specifically, should never happen because multi-cpu
would necessarily change the output path, but shouldn't hurt anything even if
it did)
* In the --experimental_multi_cpu case, configuration-based convenience
symlinks will be deleted if some configs have a different output directory.
(slightly more noticeable since that will be every build using
experimental_multi_cpu, but then, it is experimental)
RELNOTES: None.
PiperOrigin-RevId: 168720843
|
|
|
|
|
|
|
|
|
| |
Fixes #3526
Closes #3725.
Change-Id: Ice068542e574661f9dff199f88a1e56fea191de3
PiperOrigin-RevId: 168720424
|
|
|
|
| |
PiperOrigin-RevId: 168703757
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168703540
|
|
|
|
|
|
|
|
| |
If a test command is aborted as no tests are found, still generate a BuildComplete
event in the sequence of build events to properly report the exit status.
Change-Id: Id811a116b309a26e67332947b3a5c66363b1ce9c
PiperOrigin-RevId: 168703240
|
|
|
|
| |
PiperOrigin-RevId: 168699077
|
|
|
|
|
|
| |
flags as a text protobuf.
PiperOrigin-RevId: 168695297
|
|
|
|
| |
PiperOrigin-RevId: 168692738
|
|
|
|
|
|
|
|
|
|
|
|
| |
NetUtil.getShortHostName can take seconds on mac and on windows (like, 20!),
since it performs reverse dns lookup. We already cached hostname for the
BazelWorkspaceStatusModule, let's cache it for entire bazel server. Also make
sure that users of the method understand it's cached.
Fixes #3586.
RELNOTES: None.
PiperOrigin-RevId: 168691615
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 168691489
|
|
|
|
|
|
| |
platform-related rules
PiperOrigin-RevId: 168690846
|
|
|
|
|
|
|
|
| |
Stop breaking the value apart to be recombined later. Also stop using OptionValueDescriptions as though we have a final option when expanding flags for invocation policy. These values are explicitly the output from parsing the expansion strings, not yet converted or combined with other values of the same flag.
After this change, only UnparsedOptionValueDescription should be used when strings of flags are parsed, and OptionValueDescription should be used when the final version of a flag is created or used.
PiperOrigin-RevId: 168688063
|
|
|
|
|
|
|
|
|
| |
raise a warning/error depending on --experimental_allow_android_library_deps_without_srcs (defaulted to true for a warning).
Previously, users of generated android_library rules with this specific attribute combination do not see the warning message because the message comes from a Skylark macro. Once this is in, users having such a rule (even in their transitive, generated dependencies) will see the warning message.
RELNOTES: Deprecated: Using the android_library.deps attribute to implicitly export targets to dependent rules. If your code is using this feature, Bazel will raise a warning. To fix, please use android_library.exports to explicitly specify exported targets. Run with --experimental_allow_android_library_deps_without_srcs=false to ensure forward compatibility when this feature is removed in a future release.
PiperOrigin-RevId: 168686765
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168683400
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168682943
|
|
|
|
|
|
|
| |
In preparation for linking the parsed and unparsed values of options, consolidate and standardize our representation of the flag values as we received them (what is meant by "unparsed" values in this case). This was being done separately in ParseOptionResult, which, with extra context added, is being folded into UnparsedOptionValueDescription. We now track how an option was provided and where it came from for all option parsing.
RELNOTES: None.
PiperOrigin-RevId: 168682082
|
|
|
|
|
|
| |
RELNOTES: The Build Event Protocol's File.uri field is now properly
encoded according to RFC2396.
PiperOrigin-RevId: 168674865
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
RELNOTES: None.
PiperOrigin-RevId: 168671507
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to checking the function parameter documentation,
skylint now also checks whether the return value is documented in a
'Returns:' section in the docstring.
The same restrictions as for parameters apply:
- Private functions need no documentation
- If a function has a single line docstring, it need not document the
return value.
In addition, I improved the docstring parsing:
- Previously, the beginning and end of a section (e.g. 'Args:',
'Returns:') were determined by line breaks. Now, they're determined by
indentation and missing line breaks are reported. This change should
make the docstring parser more robust.
- Additional indentation is not warned against anymore.
There are many situations where it makes sense, like example code.
Both of these changes were motivated by the results of the linter on
Skylark files "in the wild".
RELNOTES: none
PiperOrigin-RevId: 168660248
|