aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Enable proguarded Android builds with --experimental_desugar_java8_libs in BazelGravatar kmb2018-05-16
| | | | | | RELNOTES: Bazel supports including select Java 8 APIs into Android apps targeting pre-Nougat Android devices with --experimental_desugar_java8_libs PiperOrigin-RevId: 196833987
* remote: recursively delete incomplete downloaded output directory.Gravatar Jakob Buchgraber2018-05-16
| | | | | | | | Fixes #5047 Closes #5209. PiperOrigin-RevId: 196832678
* Properly quote $(location ) expansion for the shellGravatar Klaus Aehlig2018-05-16
| | | | | | | | | | | ...by using the ShellEscaper rather than the ad-hoc "escaping" in LocationExpander. Fixes #5190. At least to the extend that a context-independent quoting can work. Change-Id: I858662861a2504139c19d773690aef2befc23948 PiperOrigin-RevId: 196832574
* In TestsInSuiteValue, replace Target member with Label. This makesGravatar cpeyser2018-05-16
| | | | | | TestsInSuiteValue serializable. PiperOrigin-RevId: 196831698
* Support .afdo profiles in fdo_profileGravatar rosica2018-05-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 196825564
* Expose local_proguard_specs to Skylark.Gravatar Googler2018-05-16
| | | | | RELNOTES: none PiperOrigin-RevId: 196824775
* Make inclusion of the zipper executable in CcToolchain depend solely on ↵Gravatar rosica2018-05-16
| | | | | | | | | | whether FDO optimization is used (--fdo_optimize or --fdo_profile) As part of the work of removing usage of c++ toolchain from CppConfiguration, CppConfiguration#isLLVMCompiler method needs to be removed. Currently, CppConfiguration#shouldIncludeZipperInToolchain (former CppConfiguration#isLLVMOptimizedFdo) method uses the CppConfiguration#isLLVMCompiler method to determine whether the compiler is LLVM and conditionally includes the zipper if the compiler is LLVM and FDO optimization is in place. Instead of rerouting the information on the compiler and FDO profile through FeatureFlagInfo, we make the inclusion of the zipper executable depend only on usage of FDO optimization. PiperOrigin-RevId: 196819907
* Remove unneeded exec_compatible_with from local_sh_toolchainGravatar Klaus Aehlig2018-05-16
| | | | | | | | | | Since that restriction is not necessary at the moment, we can as well not compute it in the first place. Potentially to be cherry-picked for 0.14.0, see #5056. Change-Id: Ic2d4ec1b037ce464e85e243b69bedd483bc515ac PiperOrigin-RevId: 196819791
* Filtering the legacy important_outputs field in the BEP by source, middlemanGravatar ulfjack2018-05-16
| | | | | | | | This change makes the field match the semantics of the legacy mechanism that is not open source. This is intended for migration only and the field should not be used otherwise (that is why the field is deprecated). PiperOrigin-RevId: 196817282
* test failure: print stacktrace on I/O errorGravatar Laszlo Csomor2018-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Print the stacktrace of unexpected I/O errors in StandaloneTestStrategy, to ease diagnosing the root cause of the exception. See https://github.com/bazelbuild/bazel/issues/4924 Without the stacktrace, all we see in BuildKite is, for example: ``` ERROR: Caught I/O exception: java.io.IOException: C:/users/b/_bazel_b/bnp8s_vg/execroot/io_bazel/_tmp/b6bda2f0385d1152d3a7f550c6cc1938/_bazel_b/install/23a47abea50baae4d7e032437c1cecc9/_embedded_binaries/embedded_tools/jdk/bin/java.exe (Permission denied) ERROR: C:/build/buildkite-worker-windows-java8-lfl8-1/bazel/google-bazel-presubmit/src/test/py/bazel/BUILD:71:1: Couldn't build file src/test/py/bazel/bazel_windows_test/test.log: failed: unexpected I/O exception: C:/users/b/_bazel_b/bnp8s_vg/execroot/io_bazel/_tmp/b6bda2f0385d1152d3a7f550c6cc1938/_bazel_b/install/23a47abea50baae4d7e032437c1cecc9/_embedded_binaries/embedded_tools/jdk/bin/java.exe (Permission denied) ``` The above log contains no information on what exactly tried accessing java.exe and how, and why it failed. With a stacktrace I'm hoping to shed light on the culprit. Change-Id: I4f3851cd1bc1b2b348217de5b41069591a8f4446 Closes #5207. Change-Id: I792f4a36c1e31ca6332db2dc2d37bd8e597050b3 PiperOrigin-RevId: 196815410
* Rewrite lcov path munging to make the paths all relativeGravatar Ulf Adams2018-05-16
| | | | | | | | | | | | | This makes coverage work with sandboxing, and gets rid of a previous workaround. The only downside is that it requires running genhtml in the exec root in order to be able to resolve relative pahts to source files, like so: (GENHTML_CMD="genhtml -o $(pwd)/report/ -p "$(readlink -f bazel-project)" $(readlink -f bazel-testlogs)/path/to/coverage.dat" && cd bazel-project && $GENHTML_CMD) Closes #5043. PiperOrigin-RevId: 196814568
* http_archive: Support workspace_file and workspace_file_contentsGravatar Klaus Aehlig2018-05-16
| | | | | | | ...to be fully compatible with the native rules. Change-Id: Ie340f73ec530ef0c8f50215a331f28f523398db8 PiperOrigin-RevId: 196801227
* Do not autodetect C++ toolchain when BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is ↵Gravatar hlopko2018-05-16
| | | | | | | | | | | | present This is useful e.g. when all C++ builds happen remotely and there's no C++ toolchain installed on the host machine. Fixes #5133. RELNOTES: None. PiperOrigin-RevId: 196798471
* Expose cc_common.create_compile_build_variablesGravatar hlopko2018-05-16
| | | | | | | | | | | | | | | This cl enabled skylark rules to create build variables used for C++ compile actions (in a limited form, e.g. build variables for modules are not exposed etc). Working towards #4571. This is an encore of https://github.com/bazelbuild/bazel/commit/c4fc6201fdfa71993e2e9e295a946150e6990c75 after fixing memory regression (CompileBuildVariables.getSafePathStrings fixed to return ImmutableList, which has smaller memory footprint). RELNOTES: None PiperOrigin-RevId: 196797581
* C++: Renames CcExecutionDynamicLibrariesInfo to CcExecutionDynamicLibrariesGravatar plf2018-05-16
| | | | | | | Since it's not a provider, it doesn't need the Info suffix anymore. RELNOTES:none PiperOrigin-RevId: 196793557
* Migrate some serialization tests to use SerializationTester rather than ↵Gravatar janakr2018-05-15
| | | | | | | | AbstractObjectCodecTest. I saw these tests causing errors in one version of the sequel unknown commit when testing detection of junk data, but not with this clean-up. Also use the String codec provided in the context in AutoCodecProcessorTest. PiperOrigin-RevId: 196756537
* Add --ignore_all_rc_files startup options.Gravatar ccalvarin2018-05-15
| | | | | | | | | | | | | This overrides --bazelrc and --[no]master_bazelrc regardless of order. Like --bazelrc and --[no]master_bazelrc, it cannot be mentioned in an rc file, this would be a contradiction. This flag is useful for testing, and for having a version-agnostic way to turn off all rc files, such as in the canonical command line reporting. Now that blazerc and bazelrc are separate, this is necessary. If explicit values for --bazelrc or --master_bazelrc are provided which are now ignored, Bazel will warn the user. #4502 Alternatives considered - We could avoid this flag but would need to have some well-documented, reusable list of the startup flags that effectively come to the same effect. This would be necessary in our integration tests and in the CommandLineEvent and other places where rc files need to be completely disabled for correctness. We decided that this startup option was more straightforward and usable for both users and Bazel devs: it shouldn't be used when more fine-grained control is needed, but provides warnings if users are likely to be confused by the outcome. RELNOTES: None. PiperOrigin-RevId: 196750704
* Optimizes performance of ActionFS staging and eliminates ActionFS updates.Gravatar shahan2018-05-15
| | | | | | | | | Extracts a class, InputArtifactData to hold the input data instead of using a raw map. This provides the flexibility needed to support both ActionFS and existing code so ActionFS does not need to rekey the input data. Uses the smaller, getDeclaredIncludeSrcs instead of getAllowedDerivedInputs when possible for staging optional inputs in ActionFS. PiperOrigin-RevId: 196736703
* Migrate Aspect to skylarkbuildapiGravatar cparsons2018-05-15
| | | | | RELNOTES: None. PiperOrigin-RevId: 196726540
* Migrate several compilation-related cpp definitions to skylarkbuildapiGravatar cparsons2018-05-15
| | | | | RELNOTES: None. PiperOrigin-RevId: 196722758
* Remove redundant @SkylarkModule annotation on SkylarkActionFactory.ArgsGravatar cparsons2018-05-15
| | | | | RELNOTES: None. PiperOrigin-RevId: 196722413
* Change TestSuiteExpansionValue to contain Labels instead of Targets.Gravatar cpeyser2018-05-15
| | | | PiperOrigin-RevId: 196719433
* Potentially allow children of a dirty node to be missing from the graph. ↵Gravatar janakr2018-05-15
| | | | | | Also pass the GraphInconsistencyReciever into SkyframeExecutor as a parameter. PiperOrigin-RevId: 196716642
* Remove vestigial java_plugin.data attributeGravatar cushon2018-05-15
| | | | | RELNOTES: Remove vestigial java_plugin.data attribute PiperOrigin-RevId: 196707434
* Move --track_incremental_state and --keep_state_after_build to ↵Gravatar felly2018-05-15
| | | | | | CommonCommandOptions to better facilitate certain kinds of benchmarking. PiperOrigin-RevId: 196695342
* Implement a limit for named_set_of_file eventsGravatar ulfjack2018-05-15
| | | | | | | | | | | This adds a command-line option which can be used to force Bazel to split up very large events, e.g., events with hundreds of thousands of entries. This is rare, but happens occasionally. It would be better to control the maximum event size directly, but that is significantly more difficult to do here. PiperOrigin-RevId: 196690600
* Replace --experimental_android_enforce_strict_deps_for_binaries_under_test ↵Gravatar cushon2018-05-15
| | | | | | with a package whitelist PiperOrigin-RevId: 196688645
* Add option --experimental_discard_actions_after_execution in order to turn ↵Gravatar janakr2018-05-15
| | | | | | | | it off after a release. Discarding actions hasn't been shown to have a significant positive effect on heap memory usage, after careful research by mschaller@. It's holding back other projects (threading Fileset metadata through) and adding complexity, so it's time to kill it. Out of an abundance of caution, I'll keep actions in memory via a flag flip, then, if it sticks, I'll change the default, and then I'll unwire everything. PiperOrigin-RevId: 196682768
* Adds a ?null check and return false? code block in equals() method ↵Gravatar Googler2018-05-15
| | | | | | overridden by classes which would?ve otherwise thrown an NPE. PiperOrigin-RevId: 196680390
* sh_configure.bzl: FreeBSD is also a known platformGravatar Klaus Aehlig2018-05-15
| | | | | Change-Id: I51ffe838d8c0e067f8e5ab3a6aef18e1ad063638 PiperOrigin-RevId: 196666303
* C++: Deletes CcLinkParamsInfoGravatar plf2018-05-15
| | | | | | | | This class is not necessary anymore. We can use CcLinkParamsStoreImpl directly which has been renamed to CcLinkParamsStore. RELNOTES:none PiperOrigin-RevId: 196656488
* Allow more characters in labels.Gravatar twerth2018-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly addresses #374. Specifically allow !%^`"'&;<>?[]{|} in target and package names. It's actually simpler now to declare what we don't allow. In target names: 0-31 (control characters) 58 ':' (colon) 92 '\' (backslash) 127 (delete) In package names: 0-31 (control characters) 58 ':' (colon) 64 '@' (at-sign) 92 '\' (backslash) 127 (delete) - '\' is a path segment separator on Windows, and allowing it can lead to silent output file conflicts and - therefore - data corruption. We may be able to allow it in the future, but I didn't want to make that call. - ':' is a special character that Bazel interprets as the package name / target name separator. - '@' in package names can probably be allowed; at the beginning of a label it indicates a workspace name, but not within a segment. We actually have some tests that disallow it specifically, but those can probably just be deleted; however, it does require a bit of investigation, so I decided to delay that change. It is possible that we don't correctly escape filenames in all cases. Also note that the shell may require escaping for specific characters, and that Bazel treats a single '*' (star) target name specially when given on the command line. RELNOTES: Bazel now allows almost all 7-bit ASCII characters in labels. PiperOrigin-RevId: 196650651
* http.bzl: drop outdated commentGravatar Klaus Aehlig2018-05-15
| | | | | | | | Since cdc99afc1a03ff8fbbbae088d358b7c029e0d232 label arguments are prefetched. So it is no longer necessary to access them early. Change-Id: I6d30bae3ac655387641ffd98f9b9aa95d2f1ece7 PiperOrigin-RevId: 196632853
* Temporarily disable def_parser_test on WindowsGravatar Yun Peng2018-05-15
| | | | Change-Id: I02b6384272de91dce3df5bbc56424338ba914e90
* Slightly refactor SpawnAction to improve env handlingGravatar ulfjack2018-05-15
| | | | | | | This is in preparation for fixing env handling as well as cache key (to use env) computations in subclasses of SpawnAction. PiperOrigin-RevId: 196626495
* DynamicCodec tweaks to make it into a super fast String serializer.Gravatar shahan2018-05-14
| | | | | | (3-8x faster than StringCodec). PiperOrigin-RevId: 196615858
* Ease the configuration-related restrictions of several more tests.Gravatar mstaib2018-05-14
| | | | | | | | | Use update() and other methods which properly respect the trimming transition over those which don't. Avoid using the target configuration if the configuration actually used by a target is available. RELNOTES: None. PiperOrigin-RevId: 196588405
* Set JAVA_HOME for bazel_with_jdk_testGravatar cushon2018-05-14
| | | | | | | | The local JDK is now the default --javabase and needs to be available for these tests, see: https://github.com/bazelbuild/bazel/commit/849df36c5ad31ebe8791c4228321c38c6d0ae56c PiperOrigin-RevId: 196575260
* Automated rollback of commit c4fc6201fdfa71993e2e9e295a946150e6990c75.Gravatar mstaib2018-05-14
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Caused a memory regression *** Original change description *** Expose cc_common.create_compile_build_variables This cl enabled skylark rules to create build variables used for C++ compile actions (in a limited form, e.g. build variables for modules are not exposed etc). Working towards #4571. RELNOTES: None PiperOrigin-RevId: 196566686
* Fix some code font issuesGravatar ronshapiro2018-05-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 196561473
* Augment comments about blaze exit code classifications.Gravatar Googler2018-05-14
| | | | | RELNOTES: None PiperOrigin-RevId: 196553226
* Pull caching up to BuildConfigurationValue$Key$Codec. Almost all ↵Gravatar janakr2018-05-14
| | | | | | | | BuildOptions$DiffForReconstruction serializations are reached in this way, so we get better efficiency. Also, it was already a custom codec, so less new handrolling. Also use serialization framework for FragmentClassSet, instead of doing serialization directly. Default FragmentClassSet should be a constant, so it will serialize down to a byte or three. Future changes can make all the classes constants as well, if we're getting misses on them. PiperOrigin-RevId: 196546279
* Remove swiftstdlibtoolwrapperGravatar thomasvl2018-05-14
| | | | | | | 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
* Permit serialization arising from ErrorInfo#encode to wait on a future. ThisGravatar cpeyser2018-05-14
| | | | | | | | prevents Bazel from crashing on an ErrorInfo with an exception from ActionExecutionFunction, which can contain an action, and therefore contain a NestedSet. PiperOrigin-RevId: 196533301
* Only use fingerprint and checksum for equality and hashCode in ↵Gravatar janakr2018-05-14
| | | | | | BuildOptions$OptionsDiffForReconstruction. The fingerprint uniquely identifies the "baseline" BuildOptions object and the checksum uniquely identifies the "overlay", so we don't need to incorporate the rest of the data. PiperOrigin-RevId: 196532013
* Fix broken HTMLGravatar laurentlb2018-05-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 196527806
* Don't default to --release 9 when running on a JDK 9 host_javabaseGravatar cushon2018-05-14
| | | | PiperOrigin-RevId: 196518906
* Extract logic for dealing with CROSSTOOL values and build variables into ↵Gravatar rosica2018-05-14
| | | | | | | separate class RELNOTES: None. PiperOrigin-RevId: 196517537
* C++: Renames CcRunfilesInfo to CcRunfilesGravatar plf2018-05-14
| | | | | | | Since it's not a provider, it doesn't need the Info suffix anymore. RELNOTES:none PiperOrigin-RevId: 196505329
* C++: Renames CcCompilationContextInfo to CcCompilationContextGravatar plf2018-05-14
| | | | | | | Since it's not a provider, it doesn't need the Info suffix anymore. RELNOTES:none PiperOrigin-RevId: 196498526