| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 194506134
|
|
|
|
| |
PiperOrigin-RevId: 194504697
|
|
|
|
|
|
|
| |
CppHelper.getToolchainFromPlatformConstraints declare that they require a cc
toolchain.
PiperOrigin-RevId: 194504473
|
|
|
|
| |
PiperOrigin-RevId: 194503531
|
|
|
|
|
|
| |
first one
PiperOrigin-RevId: 194491274
|
|
|
|
| |
PiperOrigin-RevId: 194487570
|
|
|
|
|
|
| |
--experimental_desugar_java8_libs
PiperOrigin-RevId: 194462758
|
|
|
|
|
| |
RELNOTES:
PiperOrigin-RevId: 194461881
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194459347
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194433721
|
|
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL puts an abstraction between the tests and obtaining their parameter files, allowing us to change the implementation without updating hundreds of lines of test code in the same CL.
Note that we can no longer sanely assert that the parameter file argument is inserted into the main command line, because the parameter file system controls both whether it is inserted and the name used. Those assertions have been removed where found.
RELNOTES: None
PiperOrigin-RevId: 194430947
|
|
|
|
| |
PiperOrigin-RevId: 194430205
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194429584
|
|
|
|
|
|
|
|
|
| |
These flags cannot be specified under any circumstances - the parser treats
them as absent, and they can't be named in config_setting, etc. - so listing
them here doesn't help anyone.
RELNOTES: None.
PiperOrigin-RevId: 194419952
|
|
|
|
| |
PiperOrigin-RevId: 194413337
|
|
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL puts an abstraction between the tests and obtaining their parameter files, allowing us to change the implementation without updating hundreds of lines of test code in the same CL.
Note that we can no longer sanely assert that the parameter file argument is inserted into the main command line, because the parameter file system controls both whether it is inserted and the name used. Those assertions have been removed where found.
RELNOTES: None
PiperOrigin-RevId: 194411047
|
|
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL puts an abstraction between the tests and obtaining their parameter files, allowing us to change the implementation without updating hundreds of lines of test code in the same CL.
Note that we can no longer sanely assert that the parameter file argument is inserted into the main command line, because the parameter file system controls both whether it is inserted and the name used. Those assertions have been removed where found.
RELNOTES: None
PiperOrigin-RevId: 194400303
|
|
|
|
|
|
|
|
| |
Different places in the link logic were in charge of expanding start/end lib archives, causing discrepancies. This CL gets rid of the special iteration in Link.java and makes LibrariesToLinkCollecter solely responsible for mapping static libraries to their object files on the link command line.
RELNOTES:
Fixing start/end lib expansion for linking. There were many cases where archive files were still being used with toolchains that support start/end lib. This change consolidates the places that make that decision so they can be more consistent.
PiperOrigin-RevId: 194400112
|
|
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL puts an abstraction between the tests and obtaining their parameter files, allowing us to change the implementation without updating hundreds of lines of test code in the same CL.
Note that we can no longer sanely assert that the parameter file argument is inserted into the main command line, because the parameter file system controls both whether it is inserted and the name used. Those assertions have been removed where found.
RELNOTES: None
PiperOrigin-RevId: 194400070
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this commit:
- split //src/test/shell:shell_utils_test into a
symlink-specific part and the rest
- use the Bash runfiles library
- add "windows_tests" and "all_windows_tests"
targets as we do in other platforms (e.g. in
//src:BUILD)
See https://github.com/bazelbuild/bazel/issues/4930
See https://github.com/bazelbuild/bazel/issues/4292
Change-Id: I111a7fed223f1f9b767dc6411389465f8da3e043
PiperOrigin-RevId: 194395011
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
b/78577719
*** Original change description ***
Change action construction to use built-in param file support.
We want to be able to control how and when param files are used, and manual construction of param files prevents this. It should also be less code overall.
For this CL, when param files are used is unchanged, their format and encoding is unchanged. The flag name is also unchanged, except in some cases it was changed from (eg.) "--flagfile foo" to "--flagfile=foo".
However, the name of the param file is now derived from the primary...
***
RELNOTES: None
PiperOrigin-RevId: 194389749
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Bash runfiles library now ignores
$RUNFILES_MANIFEST_ONLY, instead it checks if the
requested runfile exists either under
$RUNFILES_DIR or under the path that
$RUNFILES_MANIFEST_FILE associates it with.
In this sense, the library now reflects "reality"
(returns the file if it exists) rather than a
"promise" (returns paths based on faith in
envvars).
See https://github.com/bazelbuild/bazel/issues/4460
Change-Id: Idbcfede0757e4b8217313b234c94c88bfd780691
PiperOrigin-RevId: 194388639
|
|
|
|
| |
PiperOrigin-RevId: 194387085
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
skylark
This cl enabled skylark rules to compute the command line using feature
configuration, the same mechanism that native C++ rules use.
Working towards #4571.
RELNOTES: CppRules: C++ command lines and env variables for C++ actions can be
retrieved from feature configuration.
PiperOrigin-RevId: 194384637
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In StandaloneTestStrategy, copy as much information as SpawnResult makes
available to us through to both the TestResultData and BEP's
TestResult.ExecutionInfo protos. One immediate consequence is that the UI and
BEP can tell you whether a test result was cached remotely.
I changed Executor.getEventHandler to return an ExtendedEventHandler because it
makes this change easier to test.
Closes #5081.
Change-Id: I94fefdcd2e029c81085076736ad13a4bdf1bae8f
PiperOrigin-RevId: 194383009
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL adds necessary methods for the migration.
RELNOTES: None
PiperOrigin-RevId: 194379748
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Bazel client no longer supports MSYS paths.
The only exception is "/dev/null" which the client
treats as "NUL".
After this change you can no longer pass MSYS
paths as Bazel flag values on Windows.
See https://github.com/bazelbuild/bazel/issues/4319
Change-Id: I39d81843015c5a4014dd5953bac2e1c29dcd5bed
PiperOrigin-RevId: 194372504
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194369005
|
|
|
|
|
|
|
| |
additional compiler options.
RELNOTES: None.
PiperOrigin-RevId: 194363080
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
Closes #5036.
Usage with statically linked tests (works with clang 3.9 or later):
BAZEL_USE_LLVM_NATIVE_COVERAGE=1 GCOV=llvm-profdata-3.9 CC=clang-3.9 /tmp/bazel coverage --instrumentation_filter=src/main/cpp --dynamic_mode=off src/test/cpp:option_processor_test
(LLVM_COV_CMD="llvm-cov-3.9 show -format=html -output-dir=$(pwd)/report/ -instr-profile bazel-out/k8-fastbuild/testlogs/src/test/cpp/option_processor_test/coverage.dat bazel-out/k8-fastbuild/bin/src/test/cpp/option_processor_test" && cd bazel-os-bazel && $LLVM_COV_CMD)
Usage with dynamically linked tests (requires clang 4.0 or later):
BAZEL_USE_LLVM_NATIVE_COVERAGE=1 GCOV=llvm-profdata-4.0 CC=clang-4.0 bazel coverage --instrumentation_filter=src/main/cpp src/test/cpp:option_processor_test
(LLVM_COV_CMD="llvm-cov-4.0 show -format=html -output-dir=$(pwd)/report/ -instr-profile bazel-out/k8-fastbuild/testlogs/src/test/cpp/option_processor_test/coverage.dat bazel-out/k8-fastbuild/bin/src/test/cpp/option_processor_test $(cat bazel-out/k8-fastbuild/bin/src/test/cpp/option_processor_test.runfiles_manifest | cut -d' ' -f 2 | egrep "\.so$" | xargs -n 1 -I xxx echo -n "-object xxx ")" && cd bazel-os-bazel && $LLVM_COV_CMD)
PiperOrigin-RevId: 194357292
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194353580
|
|
|
|
| |
PiperOrigin-RevId: 194284627
|
|
|
|
| |
PiperOrigin-RevId: 194284174
|
|
|
|
|
|
| |
instead of one boolean each to save a byte in the encoded stream.
PiperOrigin-RevId: 194280646
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Design doc: https://docs.google.com/document/d/1JXqwwVHYosZOgmjN8xrfTalyhiUYJ99Qe2D0qBcqZ1c
The behaviour is gated on --defer_param_files (default off) and is controlled by --min_param_file_size.
This CL adds support for VirtualActionInputs to LocalSpawnRunner, and all remote runners already supports them. The sandboxed runners are not yet supported, but that can be added in a future CL.
This CL does not add support for spawn runner using different param file limits. This will require refactoring of the spawn strategies and runners to be viable.
RELNOTES: None
PiperOrigin-RevId: 194265291
|
|
|
|
|
|
|
|
|
|
|
| |
Compilations performed by java_common.compile now use the javacopts in the
java_toolchain by default, instead of requiring them to be explicitly retrived
using java_common.default_javac_opts, for consistency with the native rules.
java_common.compile(javac_opts=...) can still be used to pass additional javacopts.
RELNOTES: Make java_common.compile now uses java_toolchain javacopts by default; explicitly retrieving them using java_common.default_javac_opts is unnecessary.
PiperOrigin-RevId: 194254098
|
|
|
|
|
|
| |
so it can be shared internally as well.
PiperOrigin-RevId: 194253979
|
|
|
|
|
|
|
| |
The jdk8/jdk9 difference was a work-around for:
https://github.com/bazelbuild/bazel/commit/9666ecc4c6e27467515e362dc25a785dec69fc1b
PiperOrigin-RevId: 194253194
|
|
|
|
|
|
|
|
| |
We have some cases where clang is installed, but not gcc, and there is no convenience symlink for gcov to point to the corresponding clang tool. In this case, coverage won't work, but let's not error out. We can't tell here whether coverage is enabled or not.
Fixes #5066.
PiperOrigin-RevId: 194245346
|
|
|
|
|
|
|
| |
Ping #3977
RELNOTES: None
PiperOrigin-RevId: 194240625
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/e52c8418d37e902237c6676d06fcb4cad7fc4766.
RELNOTES: None.
PiperOrigin-RevId: 194240434
|
|
|
|
| |
PiperOrigin-RevId: 194236287
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194236052
|
|
|
|
| |
PiperOrigin-RevId: 194232982
|
|
|
|
|
|
|
| |
additional compiler options.
RELNOTES: None.
PiperOrigin-RevId: 194232650
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turns out the "unique" id returned by SpawnExecutionContext is only
unique within one SpawnRunner, but not across multiple SpawnRunner
classes.
We have to prefix the generated path with the name of the current
strategy in order to not run into conflicts when a build happens to use
multiple different sandbox strategies.
RELNOTES: None.
PiperOrigin-RevId: 194230475
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit prepares simplifying the Java runfiles
library, which itself prepares mergint the
manifest-based and directory-based logic so that
the Runfiles class could handle both at the same
time.
This commit only moves classes around:
- moves the ManifestBased and DirectoryBased
classes into Runfiles, as nested classes
- adds a createManifestBasedForTesting and
createDirectoryBasedForTesting method to create
the classes for testing
- moves the ManifestBasedTest and
DirectoryBasedTest into RunfilesTest
Otherwise this commit has no functional change.
Change-Id: I56b582c1a95793b0a871748697673b53a780f0fb
PiperOrigin-RevId: 194227675
|
|
|
|
|
|
|
|
|
| |
files
This change is due to Windows and macOS, where file paths are case-insensitive
RELNOTES:
PiperOrigin-RevId: 194223755
|
|
|
|
|
|
|
| |
WithFeatureSet class
RELNOTES: None.
PiperOrigin-RevId: 194218956
|
|
|
|
|
|
|
| |
Moving CompilationSupport out of for loop. All generated object-c files will be compiled in one CompilationHelper, which avoids object file path conflicts.
RELNOTES: None
PiperOrigin-RevId: 194215804
|