aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Clarify Mutability invariants, refactor some testsGravatar brandjon2017-09-29
| | | | | RELNOTES: None PiperOrigin-RevId: 170343759
* Remove the null lipo context collector from the objc rules, which do not use ↵Gravatar cpeyser2017-09-29
| | | | | | LIPO. Remove the check that requires a context collector to be present. PiperOrigin-RevId: 170341259
* Skylint: check for bad operationsGravatar fzaiser2017-09-29
| | | | | | | | So far, only checks for usages of '+' on dictionary literals and comprehensions. RELNOTES: none PiperOrigin-RevId: 170336917
* Make windows_export_all_symbols feature work for cc_binaryGravatar Yun Peng2017-09-28
| | | | | | | | | | | | | | | Now Bazel can also export symbols when building dynamic library from cc_binary. The interface library generated can be accessed by interface_library output group. The DEF file can still be accessed by def_file output group even when windows_export_all_symbols feature is not specified. This is useful when users want to filter symbols in DEF file before using it, for example, working around the 64K symbols number limit. Change-Id: I5b4dae0840e20037c00d500181c40b5faedfdcd8 PiperOrigin-RevId: 170330409
* Automated rollback of commit 411039319c1c67f2b9c8a7ada9e0a11d9bd4023f.Gravatar elenairina2017-09-28
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks coverage for android_test (N/A). Can be reproduced with unknown commit. *** Original change description *** Rollforward change of Java coverage logic. RELNOTES: None. *** Original change description *** Automated rollback of commit 8d6fc64b18c7e35b93f5c43dae1dbd2f8cae2147. PiperOrigin-RevId: 170322801
* Polish the interface of CppCompileActionBuilderGravatar hlopko2017-09-28
| | | | | | | Some of the setters didn't return the builder, this cl fixes that. RELNOTES: None. PiperOrigin-RevId: 170313892
* Make the state in RuleContext explicitGravatar ulfjack2017-09-28
| | | | | | | | | | | | | | | | | | | | | This isn't ideal - RuleContext should not have state, but this ended up happening between adding a cache and refactoring how make variables are discovered. I have carefully traced back all callers that provide custom make variable suppliers and added an init call to their rule initialization. Note that the ConfigurationMakeVariableContext is _cached_, so callers that call in without any make variable suppliers and then call again with them would get the context from the previous call. We now enforce that the ConfigurationMakeVariableContext is only initialized once, and that this happens before any usage, which is slightly better than the previous state, where initialization was silently ignored on any subsequent call. Progress on #2475. PiperOrigin-RevId: 170312285
* Set --experimental_allow_android_library_deps_without_srcs to false by ↵Gravatar jingwen2017-09-28
| | | | | | | default in AndroidConfiguration. RELNOTES: android_library targets are no longer allowed to use deps to export targets implicitly; please use android_library.exports instead. PiperOrigin-RevId: 170243241
* Fix comment typo.Gravatar gregce2017-09-28
| | | | PiperOrigin-RevId: 170240695
* Update bazel_apple_test to run on XCode 9.Gravatar John Cater2017-09-28
| | | | | | | Fixes #3827. Change-Id: Ie51650a3df6f40d2aa2c3ec016c00c98ce18c3de PiperOrigin-RevId: 170237678
* Expose JavaRuleOutputJarsProvider in java_common.provider, when available.Gravatar Googler2017-09-28
| | | | | | | | | | | | I'm not attempting to fix b/65618333 here, just handling one case currently breaking users (JavaInfo created via java_common.compile). My temporary workaround attempt to expose this information in the soy custom rule failed (unknown commit) -- to fix users we really need java_common changes. RELNOTES: Expose output jars and jdeps in java_common.provider, when available. PiperOrigin-RevId: 170236096
* More narrowly specify SkyframeExecutor#prepareExecution as ↵Gravatar janakr2017-09-28
| | | | | | #detectModifiedOutputFiles and move implementation to SequencedSkyframeExecutor. PiperOrigin-RevId: 170230031
* Add 'compiler' and 'libc' attributes to cc_toolchain. If platform/toolchainGravatar cpeyser2017-09-28
| | | | | | | resolution is used, use these attribute values to choose a CToolchain from --crosstool_top instead of --compiler and --glibc. PiperOrigin-RevId: 170217186
* Removed unsafe public API methods for mutable types (list/dict)Gravatar brandjon2017-09-28
| | | | | | | Instead of this escape hatch, we'll encourage outside code to construct and use a legitimate Mutability object. RELNOTES: None PiperOrigin-RevId: 170210739
* Show --experimental_repository_cache in Bazel options : ↵Gravatar Jingwen Chen2017-09-28
| | | | | | | | https://github.com/search?q=experimental_repository_cache&type=Issues&utf8=%E2%9C%93) Closes #3745. PiperOrigin-RevId: 170206914
* Add required/advertised Skylark providers.Gravatar elenairina2017-09-28
| | | | | | | This is needed to advertise and request JavaInfo (a native declared provider) instead of JavaCompilationArgsProvider. RELNOTES: None. PiperOrigin-RevId: 170205997
* Skylark tests: add support for negative testsGravatar laurentlb2017-09-28
| | | | | | | | Multiple tests can be specified in the same file. An expected error (regex) can be specified in the test. RELNOTES: None. PiperOrigin-RevId: 170204356
* Limit the use of LinkCommandLine#getBuildInfoHeaderArtifacts and #getLinkstampsGravatar hlopko2017-09-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 170203679
* Mock cc toolchain is registered in module instead of in PlatformOptions.Gravatar cpeyser2017-09-28
| | | | PiperOrigin-RevId: 170200236
* Simplify make variable expansion call sitesGravatar ulfjack2017-09-28
| | | | | | Progress on #2475. PiperOrigin-RevId: 170197341
* Rewrite CppHelper linkopts expansion to take a list and return a listGravatar ulfjack2017-09-27
| | | | | | Progress on #2475. PiperOrigin-RevId: 170187908
* Simplify RuleContext APIGravatar ulfjack2017-09-27
| | | | | | | | | Use ConfigurationMakeVariableContext instead of passing in lists of MakeVariableSuppliers. Progress on #2475. PiperOrigin-RevId: 170182945
* ExperimentalEventHandler: clean up in afterCommandGravatar Klaus Aehlig2017-09-27
| | | | | | | | | | | The experimental event handler honors the AfterCommandEvent which tells to clean up resources. Do so properly, by also flushing output and resetting the terminal (and then flushing it). As a nice side effect, this event handler does not need a separate release handling from the command dispatcher. Change-Id: If93cfa1b0f8d12e94fa4f57c9e2ee67362bd7d11 PiperOrigin-RevId: 170175617
* Reorganise the srcs_version attribute of py_binary/py_test/py_library rules:Gravatar Googler2017-09-27
| | | | | | | | | | | make the default for srcs_version be "PY2AND3" (while leaving default_python_version at "PY2"), since that's a more likely situation and a more obvious error condition. (Having PY2 as the default caused 2to3 to be used a lot more than necessary, which in turn can both hide and cause bugs.) Also, use attribute value restrictions to limit srcs_version and default_python_version to sensible values for the specific rule type. PiperOrigin-RevId: 170174546
* BEP: also report baseline coverageGravatar Klaus Aehlig2017-09-27
| | | | | | | ...as part of the TargetComplete message. Change-Id: I8aa321a2810c3926db943f32cb1811a169e34dd7 PiperOrigin-RevId: 170171458
* remove unused code for unused aapt flagsGravatar ajmichael2017-09-27
| | | | | RELNOTES: None PiperOrigin-RevId: 170136145
* expect desugar metadata in conventional META-INF directory used by jar toolGravatar kmb2017-09-27
| | | | | | RELNOTES: none PiperOrigin-RevId: 170121935
* Adds option bes_keywords BEP publishing.Gravatar Googler2017-09-27
| | | | PiperOrigin-RevId: 170121049
* Add new option categorization and tagging information to HelpCommand's output.Gravatar ccalvarin2017-09-27
| | | | | | | | | | | | | If setting flag --use_new_category_enum, group the options by the new categories in both the command line output and the "everything-as-html" output used for the generated docs at https://bazel.build/versions/master/docs/command-line-reference.html. In the html output, the effect and metadata tags are listed for each option, with links to their descriptions at the bottom of the page. The tags only appear in the terminal output in -l/--long/--help_verbosity=long, and only the names appear. This is still experimental as the majority of options do not yet use the new categorization system. The new output can be seen in command-line-reference.html format by adding the new flag to the "help everything-as-html" line in //src/main/java/com/google/devtools/build/lib:gen_command-line-reference. The html output is in the same order as before (by blaze rule, with inherited options not repeated), which means it still has duplicate options, that should ideally be fixed separately. I propose either dropping the high-level grouping and just grouping the options by documentation category, or potentially grouping them by optionsbase in some non-class-naming way, and listing the commands that they apply to, as more and more optionsbases are used by multiple commands without being inherited (for example, all BuildEventServiceOptions are listed 20 times). People probably use ctrl-f to navigate this page anyway. Once we know that we only list each option once, we can actually have links to the options, which will make it possible to have links in the expansion lists. Issue #3758 RELNOTES: added experimental --use_new_category_enum to the help command to output options grouped by the new type of category. PiperOrigin-RevId: 170116553
* Refactor srcs-less android_library rules: deps -> exports.Gravatar jingwen2017-09-27
| | | | | | | | | | | This CL captures the BUILD files and macro callers of native.android_library which use deps without srcs or local resources (exports_manifest, assets_dir, resource_files, etc). Using deps to implicitly export targets will be deprecated soon; please use android_library.exports instead. Follow-up CL to this LSC by brendandouglas@: https://docs.google.com/document/d/1h2ay0i9Tyun6rJ3a7cFT3YrMar9qYoCEv9dZ_pXOSzY LSC timeline:[] RELNOTES: None. PiperOrigin-RevId: 170090131
* Add charset to action key computation of ParameterFileWriteAction.Gravatar twerth2017-09-27
| | | | | RELNOTES: None PiperOrigin-RevId: 170088757
* Move the canonicalization of an option value to the option value itself.Gravatar ccalvarin2017-09-27
| | | | | | | Ideally, the canonical form we output from OptionUtils would be the same as for the command canonicalize-flags, but that must wait for dependencies to be cleaned up. Still, in the meantime, keep the --foo=1 normalization of --foo, and apply it to all other boolean flag values (t,true,yes,y, and false equivalents), so that the canoncalize-flags output is more canonical, even if it isn't using the --[no]foo form yet. RELNOTES: Boolean flag values will now get normalized to 1 or 0 in canonicalize-flags output. PiperOrigin-RevId: 170084599
* Add integration tests for android_sdk_repository() and ↵Gravatar jingwen2017-09-27
| | | | | | | | | | | | | | | | | | | | | android_ndk_repository() for testing invalid directory path attributes, and improve error descriptiveness. Moved AndroidRepositoryUtils logic into an abstract AndroidRepositoryFunction that Android{S,N}dkRepositoryFunction extends from. Examples of error messages: 1) Invalid NDK path ERROR: Analysis of target '//examples/android/java/bazel:hello_world' failed; build aborted: in target '//external:android/crosstool': no such package '@androidndk//': Could not read RELEASE.TXT in Android NDK: /tmp/RELEASE.TXT (No such file or directory) Unable to read the Android NDK at /tmp, the path may be invalid. Is thepath in android_ndk_repository() or ANDROID_NDK_HOME set correctly? If the path is correct, the contents in the Android NDK directory may have been modified. Please remove the NDK and download it again with the Android SDK manager. 2) Invalid SDK path ERROR: Analysis of target '//examples/android/java/bazel:hello_world' failed; build aborted: no such package '@androidsdk//com.android.support': Expected directory at /tmp/platforms but it is not a directory or it does not exist. Unable to read the Android SDK at /tmp, the path may be invalid. Is the path in android_sdk_repository() or ANDROID_HOME set correctly? If the path is correct, the contents in the Android SDK directory may have been modified. Please remove the SDK and download it again with the Android SDK manager. GITHUB: #3740 RELNOTES: None. PiperOrigin-RevId: 170068567
* Use @SafeVarargs for AbstractObjectCodecTest constructorGravatar brandjon2017-09-27
| | | | | RELNOTES: None PiperOrigin-RevId: 170064410
* Make build_event_stream_test more portableGravatar aehlig2017-09-27
| | | | | | | | | - Make regexp to look for more strict; 'success' is too generic a keyword as it also matches the UI output 'Build did NOT complete successfully'. - Do not rely on backticks throwing away trailing carriage returns; mask them instead. PiperOrigin-RevId: 170063590
* Skylint: ignore naming conventions for importsGravatar fzaiser2017-09-27
| | | | | | | | Often the author of a file doesn't have control over the naming in its dependencies, so we shouldn't warn about these. RELNOTES: none PiperOrigin-RevId: 170062766
* Collect action cache hits, misses, and reasons for the misses.Gravatar jmmv2017-09-27
| | | | | | | | As a bonus, this brings in a bunch of new unit tests for the ActionCacheChecker. RELNOTES: None. PiperOrigin-RevId: 170059577
* Ensure that SpawnResults make their way back to the SpawnActions that caused ↵Gravatar ruperts2017-09-27
| | | | | | | them to be created. RELNOTES: None. PiperOrigin-RevId: 170058295
* Skylint: check that load statements are at the top of the fileGravatar fzaiser2017-09-27
| | | | | RELNOTES: none PiperOrigin-RevId: 170057295
* Make UnionFileSystem accept all paths Bazel can throw at it.Gravatar ccalvarin2017-09-27
| | | | | | | | | Instead of relying on a character-by-character StringTrie, segment paths based on PathFragments. This means UnionFS can accept any path that Bazel stores internally, removing the ASCII limitations. This also means removing the ability to have a filesystem bound for sub-PathFragments, /foo/barbar, /foo/barqux could have the same filesystem bound at /foo/bar. This feature was tested for when a use case was envisioned, but it was never used, so removing it is safe. RELNOTES: None. PiperOrigin-RevId: 170054656
* Move ExternalPackageUtil to a new lib.repository package and simplify itGravatar ulfjack2017-09-26
| | | | | | | Move the nested Exception classes to top-level classes, remove unused functionality and move functionality only used in one place to that place. PiperOrigin-RevId: 170041246
* Rollforward change of Java coverage logic.Gravatar elenairina2017-09-26
| | | | | | | | | | RELNOTES: None. *** Original change description *** Automated rollback of commit 8d6fc64b18c7e35b93f5c43dae1dbd2f8cae2147. PiperOrigin-RevId: 170038845
* Add an option to control building of transitive py_binary runfiles trees. ,Gravatar Benjamin Peterson2017-09-26
| | | | | | | | | | | | | | | | | ) Currently, "bazel build :script" constructs the bazel-bin/python-prog.runfiles tree. We'd like to do anyway with this behavior but doing so is a backwards-incompatible change. To facilitate a transition, this CL adds an option --experimental_build_transitive_python_runfiles to control the behavior. In the example above, "bazel build --noexperimental_build_transitive_python_runfiles :script" won't construct bazel-bin/python-prog.runfiles. Change-Id: If4d5a84c956a0bbac9067dcf38a00e5732c450f2 PiperOrigin-RevId: 170038245
* Fix java_stub_template.txt when parsing runfiles with spaces in path.Gravatar pcloudy2017-09-26
| | | | | | | | | Print the rest of the line instead of only the second column separated by spaces. Fix https://github.com/bazelbuild/bazel/issues/3807 RELNOTES: None PiperOrigin-RevId: 170030984
* Fix end offset of expressions in Skylark parserGravatar fzaiser2017-09-26
| | | | | | | | | | | | | This CL doesn't fix all of the problems. The end location of blocks after an if, elif, else and for is still wrong. (I added TODOs for them) The latter is not easy to fix: One might think that one could just set the end location of a block to the end location of the last statement. However, if the last statement is a "pass" statement, this is not preserved in the AST, in particular, there's no location for it. In the future, we probably want to preserve "pass" statements. RELNOTES: none PiperOrigin-RevId: 170028466
* Automatic code cleanup.Gravatar Googler2017-09-26
| | | | PiperOrigin-RevId: 170022924
* Remove the status xml attribute from AntXmlResultWriterGravatar elenairina2017-09-26
| | | | | | | | | as it was not part of a valid junit xml schema. To cherry-pick for #3286. RELNOTES: None. PiperOrigin-RevId: 170022796
* Improve BES retries.Gravatar buchgr2017-09-26
| | | | | | | | | | | - The upload of build events is retried infinitely often as long as between two failures progress was made, that is ACKs were received. - Set the initial backoff after a failure to 0, and every further backoff to 1s. This aligns relatively well with the backoff times gRPC connections are retried [1]. PiperOrigin-RevId: 170022707
* Prepare processor classpath masking for Java 9Gravatar cushon2017-09-26
| | | | PiperOrigin-RevId: 170022704
* Windows: Add static_link_msvcrt and related featuresGravatar Yun Peng2017-09-26
| | | | | | | | | | | | | | | This is to replace using USE_DYNAMIC_CRT env variable to configure msvcrt linking in CROSSTOOL. If user applies static_link_msvcrt feature to a specific target, Bazel will choose the correct options for statically linking msvcrt. If static_link_msvcrt is not specified, Bazel uses options for dynamically linking msvcrt by default. https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx Change-Id: Ia078dfb528de9ffdd8a11d392db9eb3f34463b09 PiperOrigin-RevId: 170021927