aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* 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
* Denittize CppModel and CppLinkActionBuilderGravatar hlopko2017-09-26
| | | | | | | Fly by fixes. RELNOTES: None. PiperOrigin-RevId: 170014092
* Move --plugin to JavaOptions and remove --plugin_copt.Gravatar mstaib2017-09-26
| | | | | | | | | | | | | | | --plugin, though once used for C++, is currently a Java-specific flag. --plugin_copt is currently a total no-op, and has been for a long time. Moving these to the Java fragment is a little neater and helps get one step closer to enforcing LateBoundDefault fragment access. Additionally, since the "no plugins with duplicate names" restriction was added to work with plugin_copt, this restriction can be lifted. It no longer adds any value. RELNOTES: None. PiperOrigin-RevId: 169981221
* Move objc_proto_library tests from legacy to crosstool test cases.Gravatar cpeyser2017-09-26
| | | | PiperOrigin-RevId: 169972686
* Don't generate the mutability annotation until necessary.Gravatar shreyax2017-09-26
| | | | PiperOrigin-RevId: 169969136
* Stop injecting embedded artifacts. They're never used by anyone in Skyframe, ↵Gravatar janakr2017-09-26
| | | | | | and error-checking for their existence is already done by the client. PiperOrigin-RevId: 169966701
* BEP: Add coverage data to test_resultGravatar Klaus Aehlig2017-09-26
| | | | | | | | Include the coverage data file into the list of files repeorted in the test_result event in the BEP. Change-Id: Ia7b653addd5589268ce919b3e0349371dbc18bf2 PiperOrigin-RevId: 169956864
* Adjust visibility of SkyframeExecutor#findArtifactConflicts.Gravatar janakr2017-09-26
| | | | PiperOrigin-RevId: 169955807
* Stop injecting WorkspaceStatusAction into the Skyframe graph as a ↵Gravatar janakr2017-09-26
| | | | | | | | | | | | precomputed value. Instead, manually check if the value has changed, and if it has, invalidate its consuming WorkspaceStatusValue node, forcing its re-evaluation, where it will pick up the new value. This seems more awkward than the original code, but it is more correct in spirit: injecting a precomputed value which can change even while the source state does not is a smell. Long-term, the key for the WorkspaceStatusValue should incorporate a hash of the action, and that hash should be in the configuration, just as other configuration flags are. That isn't possible right now just because we don't have configuration trimming, and we drop all nodes on configuration changes, so putting workspace status options into the configuration would lose change pruning whenever we changed workspace status options. If/when those problems are fixed, we can extend this change to have WorkspaceStatusFunction continue to request the action out-of-band, but keyed by the hash. Then we can stop invalidating stale nodes. See also https://github.com/bazelbuild/bazel/issues/3785. PiperOrigin-RevId: 169947071
* Add a test for traceback correctness for errors in augmented assignment nodesGravatar vladmos2017-09-26
| | | | PiperOrigin-RevId: 169942209
* Publish tests for configurable attributes (select).Gravatar gregce2017-09-26
| | | | PiperOrigin-RevId: 169938521
* Update Bazel's android_device support to use new emulator paths.Gravatar ajmichael2017-09-26
| | | | | | | | | | | Also, bundle snapshots.img in Bazel since it was removed from the SDK. Part of the fix for https://github.com/bazelbuild/bazel/issues/3504 Note that this will require an update to unified launcher at https://github.com/google/android-testing-support-library RELNOTES: None PiperOrigin-RevId: 169937694
* Move remaining legacy objc_library tests to crosstool case.Gravatar cpeyser2017-09-26
| | | | PiperOrigin-RevId: 169930643
* Remove the assumption of order from ToolchainTestCase#testRegisteredToolchainsGravatar cpeyser2017-09-26
| | | | PiperOrigin-RevId: 169916427
* Make local_action_cache_test.sh executable.Gravatar John Cater2017-09-25
| | | | | Change-Id: I64202a318bb352c2b473f3570243f545ab9fbdc1 PiperOrigin-RevId: 169913876
* Change which tests should run on WindowsGravatar ajmichael2017-09-25
| | | | | | | | | | Set no_windows on all tests that have quoted jvm_flags. Remove no_windows from some platform-independent unit tests. Fixes https://github.com/bazelbuild/bazel/issues/3794 RELNOTES: None PiperOrigin-RevId: 169909924
* Update RegisteredToolchainsFunction and ToolchainUtil to check values for ↵Gravatar John Cater2017-09-25
| | | | | | | | | errors even if not all values are present. Fixes #3751. Change-Id: I92fd7527384800beca80b9daac58f3a7760268b2 PiperOrigin-RevId: 169907526
* Fix bazel_test_test by removing pollution of config with external bazelrc, ↵Gravatar Googler2017-09-25
| | | | | | | | | | | | | | | | such as from /etc/bazel.bazelrc. Fixes https://github.com/bazelbuild/bazel/issues/3727. This should not be the final fix. There are remaining issues: - This test should pass regardless of the UI used (either fix the experimental UI or fix the test to make fewer assertions). - Outside bazelrcs should not pollute the test. But this fixes the breakage. RELNOTES: N/A PiperOrigin-RevId: 169906770
* Increase the connection timeout between the client and the server.Gravatar lberki2017-09-25
| | | | | | | Very large server instances can take >10 seconds for GC, and if they are hit at an inopportune moment, they may get killed needlessly. RELNOTES: None. PiperOrigin-RevId: 169905185
* Simplify CcLinkParams#addCcLibraryGravatar hlopko2017-09-25
| | | | | | | Some of the arguments are not used or are always passed blank. RELNOTES: None. PiperOrigin-RevId: 169899161
* Check parameter types for methods when multiple types are allowed.Gravatar Dmitry Lomov2017-09-25
| | | | | | | | | | | | | | | Relanding https://github.com/bazelbuild/bazel/commit/17214ac78ffaec369d5d5bafe62a39730473cfaa with fixes to 'repository_ctx.download()' and 'repository_ctx.download_and_extract()'. I reviewed other usages of @ParamType annotation - I do not think there are more issues. Fixes #3714. Change-Id: I17087ef3fc2d28ab99224740a2164675a49847d3 PiperOrigin-RevId: 169896223
* Remove unnecessary collectLinkstamp switchGravatar hlopko2017-09-25
| | | | | | | All callers passed true, so there's no need to have the boolean there. RELNOTES: None. PiperOrigin-RevId: 169888322
* Fix cc_fake_binaries with linkstampingGravatar hlopko2017-09-25
| | | | | | | | In https://github.com/bazelbuild/bazel/commit/b7a9ecd08c958e9513ea234b470a0f86e89e1acd I introduced a bug when linkstamping outputs would no longer be stored in $TEST_TMPDIR. This cl fixes that. RELNOTES: None. PiperOrigin-RevId: 169882831