aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Remove OS/Xcode versions (and thus package loading) from ↵Gravatar lberki2017-10-26
| | | | | | | | | | | | | AppleConfiguration.Loader. This is a roll-forward of https://github.com/bazelbuild/bazel/commit/f9a379157d1e992390c5b6f0b75ef853e0870689, which was rolled back in https://github.com/bazelbuild/bazel/commit/0446714686119dd97f8d1f99290f98db91a65e44. Fixes #3424 (again!) RELNOTES[INC]: Selecting on "xcode_version" and "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi... PiperOrigin-RevId: 173505814
* RELNOTES: Document interaction between test_suite and target exclusionsGravatar Googler2017-10-26
| | | | PiperOrigin-RevId: 173466491
* Rename FakeSubincludeTarget to more appropriate name FakeLoadTarget (thanks ↵Gravatar juliexxia2017-10-26
| | | | | | | @ccalvarin) RELNOTES: None. PiperOrigin-RevId: 173463794
* Automated rollback of commit 5d9e8c1062e893b8acadba52db92364950ce760c.Gravatar mschaller2017-10-26
| | | | | | | | | | | | | *** Reason for rollback *** Calling toString on value, when it's really a SelectorList, can result in an IllegalStateException. *** Original change description *** Improve error messaging for AbstractAttributeMapper RELNOTES: None. PiperOrigin-RevId: 173441312
* Accept build IDs by flag.Gravatar ccalvarin2017-10-26
| | | | | | | | | | | We accepted these by environment variable largely because setting it via invocation policy would require changing invocation policy for each command, which had caused the Bazel server to restart, loosing incremental state. This is fixed: changing invocation policy no longer causes Bazel to restart its servers, so accept these as normal options. We will soon no longer accept these flags by environment variable, but will accept both for a transition period, so that nobody relying on these values is broken by a single release. To inform users of this environment variable, anyone setting the environment variable without the flag will receive a warning but the value will be kept. The following release will no longer accept an environment variable. Note on format: invocation_id we accept only clean UUIDs, but for build_request_id, to help differentiate otherwise undifferentiable id types, we accept arbitrary prefixes before the UUID. The user is responsible for picking prefixes that are sane. RELNOTES: None. PiperOrigin-RevId: 173432904
* Add a deprecation warning to the check_fileset_dependencies_resursively flag.Gravatar kush2017-10-26
| | | | | RELNOTES: none PiperOrigin-RevId: 173432000
* Windows,JNI,logging: improve error messagesGravatar Laszlo Csomor2017-10-26
| | | | | | | | | | | | | | In this commit: - introduce the MakeErrorMessage function, which creates a structured error message with file and line information of the error's origin - update all error messages in the Windows JNI library - simplify GetLastErrorMessage to just convert an error code to string, without prepending a cause Change-Id: Ia8162bfdaee37d4b7ccb3a46d6c8a861b0a1bd94 PiperOrigin-RevId: 173402968
* Trim function params in TemplateExpanderGravatar ulfjack2017-10-25
| | | | | | | | | | | There is a MacOS integration test that checks that we're trimming before looking up labels, but it only checks for genrules, which aren't using this code path yet. This was changed in https://github.com/bazelbuild/bazel/commit/1a8d6b888ce532f5e053ecab37874740ce61e37f and we could see breakages in non-genrule usage if a release picks up that change but not this. PiperOrigin-RevId: 173393718
* Do not create instance of ExternalPackageBuilderGravatar Damien Martin-Guillerez2017-10-25
| | | | | | | | This class is a legacy remains of an actual builder and this is a first step to clean that up. Change-Id: Id54360641e9f779259c3819fdde286643928cca4 PiperOrigin-RevId: 173378325
* Make --workspace_status_command accept relative pathGravatar Yun Peng2017-10-25
| | | | | | | Fixed https://github.com/bazelbuild/bazel/issues/3962 Change-Id: I772a409f03b9cc2c0e69e4f51d8a7b95688138a4 PiperOrigin-RevId: 173374845
* remote: remove maximum blob size check.Gravatar Jakob Buchgraber2017-10-25
| | | | | | | | | It's a left over. It has already been removed for file downloads and uploads and is now still used for the action cache up- and downloads. Change-Id: Ic65ad0d34cfda75774131094de916e78b8835ff0 PiperOrigin-RevId: 173364883
* BEP: correctly report unbuilt targets if --nobuild is givenGravatar Klaus Aehlig2017-10-25
| | | | | | | | | If bazel is asked to only analyze a target, but not do any builds, correctly report this as the cause why the obtained configured targets were never completed. Change-Id: I6308f8c222861dc0205a63664d5ea9861dd38b6a PiperOrigin-RevId: 173364084
* Improve error messaging for AbstractAttributeMapperGravatar cparsons2017-10-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 173315354
* Clarify sanity check error messageGravatar brandjon2017-10-25
| | | | | RELNOTES: None PiperOrigin-RevId: 173302354
* Move CppConfiguration#getStaticRuntimeLibsLabel and #getDynamicRuntimeLibsLabelGravatar cpeyser2017-10-25
| | | | | | to CcToolchainProvider. PiperOrigin-RevId: 173301847
* Split out command line handling into its own file.Gravatar ccalvarin2017-10-25
| | | | | | | | | This code is pretty self-contained: the command dispatcher needs to do options processing all at once, before initializing the command's environment. Splitting it out into its own file makes this more obviously a single step, which is less error prone. For changing --config, we will need to gate the behavior on the value of a startup option. This change will make it easier to isolate the new behavior from the old, since everything does not have to be kept in the same class. RELNOTES: None. PiperOrigin-RevId: 173288367
* Move CppConfiguration#getAbi and #getAbiGlibcVersion to CcToolchainProvider.Gravatar cpeyser2017-10-25
| | | | PiperOrigin-RevId: 173287598
* Extend TemplateExpander to handle $(func param) expansionGravatar ulfjack2017-10-25
| | | | | | | Rewrite the Expander to use the new functionality; also rewrite the Skylark expand_location function to use it. PiperOrigin-RevId: 173280839
* Add unused, optional source_properties attribute to android_sdk.Gravatar ajmichael2017-10-25
| | | | | RELNOTES: None PiperOrigin-RevId: 173258794
* PiperOrigin-RevId: 173251680Gravatar lpino2017-10-24
|
* Parser: fix incorrect end location for statement suites.Gravatar fzaiser2017-10-24
| | | | | | | This used to be annoying for Skylint. RELNOTES: none PiperOrigin-RevId: 173249428
* BEP: correctly close stream in case of a circular dependencyGravatar Klaus Aehlig2017-10-24
| | | | | | | | | If the build is aborted due to a cyclic dependency, correctly report so in the build event protocol. In particular, close the stream of events. Change-Id: Iff86213904a99c6af6a1da90fb229bba8e51c91f PiperOrigin-RevId: 173247825
* Windows, jni: Don't close stdout/stderr in nativeWaitFor functionGravatar Yun Peng2017-10-24
| | | | | | | | | | | | | | | | | | | | | | | | These two close operations were added to work around #1708, but caused #2675. We found the root cause of the hanging problem in #1708 is a race condition when creating Windows processes: When Bazel trys to create two processes, one for a local command execution, one for starting the worker process. The worker process might accidentally inherits handles opened when creating the local command process, and it holds those handles as long as it lives. Therefore, ReadFile function hangs when handles for the write end of stdout/stderr pipes are released by the worker. The solution is to make Bazel native createProcess JNI function explicitly inheirts handles as needed, and use this function to start worker process. Related: http://support.microsoft.com/kb/315939 Fixed https://github.com/bazelbuild/bazel/issues/2675 Change-Id: I1c9b1ac3c9383ed2fd28ea92f528f19649693275 PiperOrigin-RevId: 173244832
* Automated rollback of commit 5cca89f970bcaddb98972055f2d9539e9d225e67.Gravatar pcloudy2017-10-24
| | | | | | | | | | | | | *** Reason for rollback *** Break CI Windows nightly build: https://github.com/bazelbuild/bazel/issues/3927 https://ci.bazel.io/blue/organizations/jenkins/Global%2Fbazel-tests/detail/bazel-tests/314/pipeline/31 *** Original change description *** Remove synchronization from FileSystem implementations. PiperOrigin-RevId: 173243523
* Automated rollback of commit e9b10399f6a148a3d20442f2c5020b05fa891873.Gravatar twerth2017-10-24
| | | | | | | | | | | | *** Reason for rollback *** Breaks ~2k ios targets, see b/68179560 *** Original change description *** Move hard-coded compilation-mode-specific flags in ObjcConfiguration. PiperOrigin-RevId: 173239463
* Improve --config expansion logging under --announce_rcGravatar ccalvarin2017-10-24
| | | | | | | | To make the source of options more clear before migration, improve the output provided with --announce_rc. This means separating the log messages we have for unconditional rc-options and --config options. The unconditional log statement has not changed. When expanding --config options, log the following in the order that the options are parsed: INFO: Found applicable config definition <command>:<configName> in file <rcfile>: <the options config expands to> RELNOTES: Improve --config logging when --announce_rc is present. PiperOrigin-RevId: 173185451
* Remove unnecessary EvalException from UserDefinedFunction contructorGravatar michajlo2017-10-24
| | | | | RELNOTES: None PiperOrigin-RevId: 173156016
* Optimize recursive call detectionGravatar michajlo2017-10-24
| | | | | | | No need to contruct a list for each function call RELNOTES: None PiperOrigin-RevId: 173144689
* Implement custom executable API.Gravatar dslomov2017-10-24
| | | | | | | | | | Design is https://github.com/bazelbuild/bazel/issues/3826, specifically https://github.com/bazelbuild/bazel/issues/3826#issuecomment-336220897. Fixes #3826. RELNOTES: ctx.outputs.executable is deprecated. Use DefaultInfo(executable = ...) instead. PiperOrigin-RevId: 173132066
* Reset evaluator eagerly when incremental state changes. And add a regression ↵Gravatar janakr2017-10-24
| | | | | | test to make sure we are using the expected type of node entries when discarding/keeping graph edges. PiperOrigin-RevId: 173131307
* Propagate skylark flags to WORKSPACE and repo rulesGravatar brandjon2017-10-24
| | | | | RELNOTES: Skylark semantics flags now affect WORKSPACE files and repository rules. PiperOrigin-RevId: 173130286
* Fix resource generation in android_testGravatar Googler2017-10-24
| | | | | RELNOTES: none PiperOrigin-RevId: 173128623
* Preserve `pass` statements in the Skylark AST.Gravatar fzaiser2017-10-23
| | | | | RELNOTES: none PiperOrigin-RevId: 173125138
* Change FileSystem#getDirectoryEntries to return strings of the ↵Gravatar tomlu2017-10-23
| | | | | | | | file/directory names instead of paths. This is a small isolated change that can be done ahead of the big refactoring. PiperOrigin-RevId: 173124518
* Memoize configuration supplier in InfoCommand. Previous implementation never ↵Gravatar janakr2017-10-23
| | | | | | | | actually assigned to the configuration, so we were redoing Skyframe graph setup each time. We still cached actual loading/analysis work, but unnecessarily injected precomputed values each time. This meant that in the "edge" case of not keeping edges, we were only succeeding by accident, because we never actually switched the evaluator to not keep edges. PiperOrigin-RevId: 173124505
* Automated rollback of commit 1b98de65873054b148ced772cfa827a7bfb5ad9a.Gravatar dslomov2017-10-23
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** If the 'set' function was used in a .bzl file but not called, --incompatible_disallow_set_constructor=True would allow the load of that .bzl file without error, but this change removes the 'set' function so loading that bzl file is an error. Example failure: https://ci.bazel.io/blue/organizations/jenkins/Global%2FTensorFlow/detail/TensorFlow/245/pipeline/ *** Original change description *** Remove the deprecated set constructor from Skylark The `set` constructor used to be deprecated, but it was still possible to use it by providing --incompatible_disallow_set_constructor=false. RELNOTES[INC]: The flag --incompatible_disallow_set_constructor is no longer available, the deprecated `set` constructor is not available anymore. PiperOrigin-RevId: 173115983
* client: deduplicate classpath for Bazel serverGravatar Laszlo Csomor2017-10-23
| | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/3938 Change-Id: Ic837f1b97cf8469434118f2660fb15d14c035a14 PiperOrigin-RevId: 173100466
* Automated rollback of commit f9a379157d1e992390c5b6f0b75ef853e0870689.Gravatar lberki2017-10-23
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks a single, but very important target :( *** Original change description *** Remove OS/Xcode versions (and thus package loading) from AppleConfiguration.Loader. Fixes #3424. RELNOTES[INC]: Selecting on "xcode_version" and "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_flag": $VALUE}). PiperOrigin-RevId: 173085962
* Also disable Make variables in the host configuration in the Jvm fragment ↵Gravatar lberki2017-10-23
| | | | | | | when they are disabled in the target configuration. RELNOTES: None. PiperOrigin-RevId: 173083682
* Automatic code cleanup.Gravatar cushon2017-10-23
| | | | PiperOrigin-RevId: 173054453
* Add support for linker scripts in auto-linked Android native depsGravatar Googler2017-10-23
| | | | | | | Android's mechanism for automatically linking native deps does not currently support linker scripts. A dependency cc_library can specify the linker script in the linkopts and include it in its deps, but since the artifact is not provided as an input to the generated link action, this results in an error. This change provides the missing inputs and makes this work. RELNOTES: Support for linker scripts in NativeDepsHelper (e.g., android_binary) PiperOrigin-RevId: 172963605
* Post non-empty ActionResults for all completed Actions.Gravatar ruperts2017-10-23
| | | | | RELNOTES: None. PiperOrigin-RevId: 172955521
* Micro-optimize mutablelist concatenationGravatar michajlo2017-10-23
| | | | | | | | Avoid ArrayList.addAll(Collection) winds up converting the collection to an array, which is wasteful on such a potentially hot code path. RELNOTES: None PiperOrigin-RevId: 172941634
* Move hard-coded compilation-mode-specific flags in ObjcConfiguration.Gravatar cpeyser2017-10-23
| | | | PiperOrigin-RevId: 172932367
* Fix changes that broke resource filtering, and document related confusionGravatar Googler2017-10-23
| | | | | | | | | | | | | | | | | | | | | | | | Recent changes: 1) Started passing all resources to processors, ignoring the filtered ResourceContainers, and 2) Started loading an unfiltered LocalResourceContainer into binary resource processing, in addition to the filtered container. Fix both of these. To fix the former, we need to split the misleadingly-named 'transitiveResourceRoots' (actually transitive resource and assets artifacts) into transitive resources and assets. Update resource filtering tests to catch bugs like these. Also, rename getters for resource containers to make clear that they are not getters for resources. Finally, document some weirdness and partially-completed migrations encountered as part of investigating these issues, and add appropriate TODOs and deprecation. RELNOTES: None PiperOrigin-RevId: 172929936
* Don't set globals in environments that aren't readGravatar brandjon2017-10-23
| | | | | | | There are two Environments involved in running an implementation callback for rules/aspects/repository-rules: (1) The static environment of the function's definition, and (2) the caller's dynamic environment. The function will only consult (1), so trying to set anything on (2) is misleading. RELNOTES: None PiperOrigin-RevId: 172929301
* Add tests for ToolchainUtil, and fix an error when there is an error andGravatar John Cater2017-10-23
| | | | | | | | | values are missing while fetching toolchains. Fixes #3928. Change-Id: I4fde784f56daf544ba70c9848e006f1183c20a99 PiperOrigin-RevId: 172922687
* Require semantics field for Environment.BuilderGravatar brandjon2017-10-23
| | | | | | | Follow-up of unknown commit. RELNOTES: None PiperOrigin-RevId: 172922507
* Expose a CcToolchainProvider that is generated by the legacy toolchain ↵Gravatar cpeyser2017-10-23
| | | | | | selection logic to skylark. PiperOrigin-RevId: 172921818
* Fix UnionFileSystem's implementation of supportsModifications and friends.Gravatar tomlu2017-10-23
| | | | | | It now correctly delegates to the right file system. PiperOrigin-RevId: 172916854