aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* For --checkHashMismatch=ERROR, emit all errors instead of stopping at the ↵Gravatar cushon2018-04-26
| | | | | | first one PiperOrigin-RevId: 194491274
* Allow class prefix names to be blacklisted from DynamicCodec use.Gravatar janakr2018-04-26
| | | | PiperOrigin-RevId: 194487570
* Make mobile-install shard for extra .dex file produced with ↵Gravatar kmb2018-04-26
| | | | | | --experimental_desugar_java8_libs PiperOrigin-RevId: 194462758
* Emit jdeps proto, that is, the used jars on the regular classpath.Gravatar cnsun2018-04-26
| | | | | RELNOTES: PiperOrigin-RevId: 194461881
* Replace ConfigurationTransition with PatchTransition in a few places.Gravatar mstaib2018-04-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 194459347
* RuleTransitionFactory returns NoTransition instead of null.Gravatar mstaib2018-04-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 194433721
* Abstract away the param file write action from tests.Gravatar tomlu2018-04-26
| | | | | | | | | | | 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
* Remove unused method.Gravatar jcater2018-04-26
| | | | PiperOrigin-RevId: 194430205
* CppDebugPackageProvider is useful for more than just C++, so rename it.Gravatar Googler2018-04-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 194429584
* Remove INTERNAL flags from help flags-as-proto.Gravatar mstaib2018-04-26
| | | | | | | | | 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
* Adds support for remote files.Gravatar shahan2018-04-26
| | | | PiperOrigin-RevId: 194413337
* Abstract away the param file write action from tests.Gravatar tomlu2018-04-26
| | | | | | | | | | | 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
* Abstract away the param file write action from tests.Gravatar tomlu2018-04-26
| | | | | | | | | | | 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
* Consolidating start/end lib archive expansionGravatar Googler2018-04-26
| | | | | | | | 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
* Abstract away the param file write action from tests.Gravatar tomlu2018-04-26
| | | | | | | | | | | 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
* tests,shell: enable some shell tests on WindowsGravatar Laszlo Csomor2018-04-26
| | | | | | | | | | | | | | | | 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
* Automated rollback of commit c5c6ef83936cf90fd11038a84637e691beb47288.Gravatar tomlu2018-04-26
| | | | | | | | | | | | | | | | | | | | | *** 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
* Bash,runfiles: ignore RUNFILES_MANIFEST_ONLYGravatar Laszlo Csomor2018-04-26
| | | | | | | | | | | | | | | | | | 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
* Fix skyframe target pattern evaluator thread usageGravatar ulfjack2018-04-26
| | | | PiperOrigin-RevId: 194387085
* Expose cc_common.get_environment_variables and cc_common.get_command_line to ↵Gravatar hlopko2018-04-26
| | | | | | | | | | | | | 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
* Add execution information to standalone test results.Gravatar Benjamin Peterson2018-04-26
| | | | | | | | | | | | | | | 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
* Prepare to abstract away the param file write action from tests.Gravatar tomlu2018-04-26
| | | | | | | | | 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
* windows,client: no longer support Unix-style pathsGravatar Laszlo Csomor2018-04-26
| | | | | | | | | | | | | | 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
* Add a helpful note for the args argument of binary rules.Gravatar Googler2018-04-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 194369005
* Add an extra argument to CcCompilationHelper#fromCommon() that contains ↵Gravatar lberki2018-04-26
| | | | | | | additional compiler options. RELNOTES: None. PiperOrigin-RevId: 194363080
* Prototype support for llvm coverageGravatar Ulf Adams2018-04-26
| | | | | | | | | | | | | | | 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
* Automated rollback of commit 404483d99bca4edc0600e72cacfcc36404fd4653.Gravatar hlopko2018-04-25
| | | | | | RELNOTES: None. PiperOrigin-RevId: 194353580
* Remove some references to JDK 7, which is not longer supportedGravatar cushon2018-04-25
| | | | PiperOrigin-RevId: 194284627
* Fix typo in gcloud kms decrypt command.Gravatar philwo2018-04-25
| | | | PiperOrigin-RevId: 194284174
* Serialize NestedSet sizes that get special treatement (empty set, singleton)Gravatar cpeyser2018-04-25
| | | | | | instead of one boolean each to save a byte in the encoded stream. PiperOrigin-RevId: 194280646
* Support deferred param files.Gravatar tomlu2018-04-25
| | | | | | | | | | | | | 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
* Make java_common.compile's javacopt handling consistent with native Java rulesGravatar cushon2018-04-25
| | | | | | | | | | | 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
* Delete query how-to goowiki and migrate external query how-to page to html ↵Gravatar juliexxia2018-04-25
| | | | | | so it can be shared internally as well. PiperOrigin-RevId: 194253979
* Consolidate compatible_javacopts definitionGravatar cushon2018-04-25
| | | | | | | The jdk8/jdk9 difference was a work-around for: https://github.com/bazelbuild/bazel/commit/9666ecc4c6e27467515e362dc25a785dec69fc1b PiperOrigin-RevId: 194253194
* Only print a warning if gcov cannot be found, not an errorGravatar ulfjack2018-04-25
| | | | | | | | 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
* Detect build-in include directories for C and C++, not only for C++Gravatar hlopko2018-04-25
| | | | | | | Ping #3977 RELNOTES: None PiperOrigin-RevId: 194240625
* Update the documentation in the wake of ↵Gravatar lberki2018-04-25
| | | | | | | https://github.com/bazelbuild/bazel/commit/e52c8418d37e902237c6676d06fcb4cad7fc4766. RELNOTES: None. PiperOrigin-RevId: 194240434
* Prevent Skylark actions from setting arbitrary execution infoGravatar ulfjack2018-04-25
| | | | PiperOrigin-RevId: 194236287
* Document that getuid/getgid/getpid can throw exceptions.Gravatar philwo2018-04-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 194236052
* Serialize singleton NestedSets directly in NestedSetCodecWithStore.Gravatar cpeyser2018-04-25
| | | | PiperOrigin-RevId: 194232982
* Add an extra argument to CcCompilationHelper#fromCommon() that contains ↵Gravatar lberki2018-04-25
| | | | | | | additional compiler options. RELNOTES: None. PiperOrigin-RevId: 194232650
* sandbox: Generate actually unique sandbox paths.Gravatar philwo2018-04-25
| | | | | | | | | | | | | 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
* java,runfiles: merge classesGravatar Laszlo Csomor2018-04-25
| | | | | | | | | | | | | | | | | | | | | | 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
* Make output name case-insensitive while calculating output names for object ↵Gravatar pcloudy2018-04-25
| | | | | | | | | files This change is due to Windows and macOS, where file paths are case-insensitive RELNOTES: PiperOrigin-RevId: 194223755
* Replace usage of proto class CToolchain.WithFeatureSet with equivalent ↵Gravatar Googler2018-04-25
| | | | | | | WithFeatureSet class RELNOTES: None. PiperOrigin-RevId: 194218956
* Refactor generated objc sources compilation in ProtobufSupport.javaGravatar pcloudy2018-04-25
| | | | | | | 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
* Change action construction to use built-in param file support.Gravatar tomlu2018-04-25
| | | | | | | | | | | 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 output of the action (instead of manually controlled). RELNOTES: None PiperOrigin-RevId: 194209601
* Change action construction to use built-in param file support.Gravatar tomlu2018-04-25
| | | | | | | | | | | 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 output of the action (instead of manually controlled). RELNOTES: None PiperOrigin-RevId: 194208049
* ExperimentalEventHandler: properly complete buildGravatar Klaus Aehlig2018-04-25
| | | | | | | | | | | | When completing the build and doing the final flush of the incomplete stdout/stderr lines, remove any existing progress bar first (and redraw afterwards) to avoid interference. Also, upon receiving the AfterCommandEvent, just call completeBuild instead of trying to do the same manually again. Change-Id: If375be798a5e66558676f0ffb845fb64279584f8 PiperOrigin-RevId: 194203925
* Remove no-op check from AndroidCommon, add missing rule validation to aar_importGravatar kmb2018-04-24
| | | | PiperOrigin-RevId: 194191933