aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Platform documentation fixes.Gravatar jcater2018-06-12
| | | | PiperOrigin-RevId: 200218884
* Fix some missing cases from ↵Gravatar Googler2018-06-12
| | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/commit/bbf3e421ed8b2b431a72cd3ab4ba591dc8833634. For languages that use launchers, there are some requirements about files other than the main executable being co-located with the executable: 1. For Python, the .zip file must be alongside the executable. 2. For Shell, the shell file must be alongside the exe. In addition, a .exe suffix is needed for launchers. Tested that cc_test (non-launcher), java_test, py_test, sh_test (all launchers) work remotely when using the TEST_SHORT_EXEC_PATH env var. RELNOTES: N/A PiperOrigin-RevId: 200216308
* Support delete() in ActionFS.Gravatar felly2018-06-12
| | | | | RELNOTES: None PiperOrigin-RevId: 200213204
* Refactor profilerGravatar ulfjack2018-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | - move the save method to an inner class - don't use a timer, use a blocking queue instead - add a format enum (in anticipation of adding a json output format) - update the test to use an in memory buffer, and avoid FoundationTestCase Compared to the original https://github.com/bazelbuild/bazel/commit/15b8c259db111012b4642287172cb4d1d82151f3, it contains these changes: - Make it so we don't create a queue if we are not going to write any data! The queue is now owned by the writer, and if there is no writer, there is no queue. This was causing a memory regression because slowest task profiling is enabled by default, in which case the profiler is started with no output file. In that case, there's no thread that is emptying the queue, but the queue was still created by default. - add additional tests for slowest task and histogram handling; these also provide coverage for the case where the profiler is started without an output stream - move all the writer thread handling into the inner class - make writer access thread-safe - add a bunch of documentation PiperOrigin-RevId: 200212978
* Always run toolchain resolution, even when no toolchain types are requested, ↵Gravatar John Cater2018-06-12
| | | | | | | in order to properly choose the execution platform from the available execution platforms. Change-Id: I05dc84403e0db765865e9b91c4222894fa867cd9 PiperOrigin-RevId: 200211635
* Remove LoadingPhaseRunner, inline the only implementationGravatar ulfjack2018-06-12
| | | | PiperOrigin-RevId: 200210007
* Add hash sum for mount_path_toolchainGravatar Klaus Aehlig2018-06-12
| | | | | | | | Even for tests we should not download random files from the internet without ensuring that we get what we expect. Change-Id: I4b9ef3f89c1ea12a4b883d833fb598196f9a7db3 PiperOrigin-RevId: 200201636
* Split TargetPatternEvaluator into two interfacesGravatar ulfjack2018-06-12
| | | | | | | | | | | | | | | | | - the TargetPatternPreloader is still used for query in all its forms - the remaining TargetPatternEvaluator part is no longer used except in tests - also make both implementations stateless and pass the offset to the methods instead; note that they both modify the underlying skyframe graph, so there are side effects to the calls even if there's no direct state anymore The intent is to migrate the relevant tests to LoadingPhaseRunnerTest (which could also now be renamed since it's not doing a loading phase), and then delete the TargetPatternEvaluator interface. This depends on the previous commit that removed the last direct use of TPE from an internal command. PiperOrigin-RevId: 200198067
* docs: don't list all attribute types in build-refGravatar Laszlo Csomor2018-06-12
| | | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/5362 Change-Id: I41d7b78e8d31d4a08ba0aba35c81723cbb315c40 Closes #5364. Change-Id: I41d7b78e8d31d4a08ba0aba35c81723cbb315c40 PiperOrigin-RevId: 200182384
* docs: fix broken link on tutorial/java.htmlGravatar Laszlo Csomor2018-06-12
| | | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/5358 Change-Id: I0c9eca59349069a41e3613600df25ed2b678b34c Closes #5363. Change-Id: I0c9eca59349069a41e3613600df25ed2b678b34c PiperOrigin-RevId: 200182247
* Enable AnalysisTestCases to set LoadingOptions.Gravatar mstaib2018-06-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 200144845
* Enable mock rules to set their types.Gravatar mstaib2018-06-11
| | | | | | | This enables, e.g., TEST rules to be created. RELNOTES: None. PiperOrigin-RevId: 200138491
* Skylark debugging protocol: include a 'stop reason' in ThreadPausedEvent.Gravatar brendandouglas2018-06-11
| | | | | | | | | | | | Pulls out a ThreadPausedState message, containing the previously separate 'isPaused' and 'locationIfPaused' information, as well as the stack frames and the reason for pausing, which is useful for debugging clients (e.g. IDEs might change focus when a breakpoint is hit, but not when all threads are paused). TAG_CHANGE_OK=This proto has never yet been used TYPE_CHANGE_OK=This proto has never yet been used PiperOrigin-RevId: 200109927
* Automated rollback of commit 15b8c259db111012b4642287172cb4d1d82151f3.Gravatar jmmv2018-06-11
| | | | | | | | *** Reason for rollback *** Breaks internal performance tests. PiperOrigin-RevId: 200103033
* Migrate remaining assorted skylark types to skylarkbuildapiGravatar cparsons2018-06-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 200100871
* Only remove 'repo_mapping' from kwargs if experimental_enable_repo_mapping ↵Gravatar dannark2018-06-11
| | | | | | | is set. Repository rules should throw an attribute not found error if repo_mapping is used but the flag isn't set, otherwise it silently fails. RELNOTES: None PiperOrigin-RevId: 200097695
* Migrate android providers to use BuiltinProvider instead of NativeProviderGravatar cparsons2018-06-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 200096226
* Allow delegation to the underlying filesystem only for the source tree.Gravatar felly2018-06-11
| | | | | | | The on-disk execRoot/blaze-out is now off limits to ActionFS. RELNOTES: None PiperOrigin-RevId: 200080287
* Create a bootstrap for repository-related skylark build API.Gravatar cparsons2018-06-11
| | | | | | | Also remove the old ConfiguredRuleClassProvider.addSkylarkModule() method, as it, after this change, has no callers. RELNOTES: None. PiperOrigin-RevId: 200078816
* Add some more logging to the debug server.Gravatar brendandouglas2018-06-11
| | | | | | Mostly 'debug' level logs that won't appear by default. PiperOrigin-RevId: 200072597
* Consolidate filesystem metadata operations in ActionFS by extending ↵Gravatar felly2018-06-11
| | | | | | | AbstractFileSystemWithCustomStat. RELNOTES: None PiperOrigin-RevId: 200071031
* Refactor profilerGravatar ulfjack2018-06-11
| | | | | | | | | - move the save method to an inner class - don't use a timer, use a blocking queue instead - add a format enum (in anticipation of adding a json output format) - update the test to use an in memory buffer, and avoid FoundationTestCase PiperOrigin-RevId: 200065404
* ReformatingGravatar laurentlb2018-06-11
| | | | | | | | Switch statements were poorly formatted. Fixing it in a separate commit so that it doesn't clutter the diff. RELNOTES: None. PiperOrigin-RevId: 200062930
* Document adapting custom Bazel rules for remote execution.Gravatar spomorski2018-06-11
| | | | PiperOrigin-RevId: 200060887
* update bazel's embedded jdk to jdk9Gravatar cushon2018-06-11
| | | | | | | | | | | - Updates the embedded JDK to Azul Zulu 9.0.7 - All integration tests use Bazel with the embedded JDK Also updated: http://storage.googleapis.com/bazel-mirror/openjdk/index.html Closes #5312, #5314, #5315 PiperOrigin-RevId: 200055008
* Implement LcovMerger.Gravatar elenairina2018-06-11
| | | | | | | | | | | | | | LcovMerger is a tool that merges all the intermediate lcov tracefiles (with .dat extension) found under a coverage directory and prints the merged tracefile to a given output file. A custom implementation for merging lcov tracefiles is needed because the merging functionality of lcov itself is very slow. LcovMerger is required to get a single coverage report (lcov tracefile) from a bazel coverage command that executes multiple tests. ATM LcovMerger is only invoked by tools/test/collect_coverage.sh that collects and merges the tracefiles from a single test invocation. It will also be used from a CoverageReportAction. Progress on #5246. PiperOrigin-RevId: 200054506
* Add the ability to force the path to the test binary to a fixed length by ↵Gravatar Googler2018-06-11
| | | | | | | | | | | using a symlink. This is enabled with --test_env=TEST_SHORT_EXEC_PATH=true. Passing CI run: https://buildkite.com/bazel/google-bazel-presubmit/builds/3576 RELNOTES: N/A PiperOrigin-RevId: 200050318
* Inline some ActionContextProvider classes into their modulesGravatar ulfjack2018-06-11
| | | | | | | | | | | | | | | This also gets rid of some boilerplate. The ExecutionTool.addActionContext method has been around for a while, but is underused. There are still a few ActionContextProvider implementations left, which are implementing other functionality besides adding action contexts. As a side effect, this change reduces null build time with a hot server on linux by about a quarter. We were running the linux sandbox twice on every build, which takes about 70ms each (on my machine), with the total null build time around 300ms. PiperOrigin-RevId: 200045145
* Add AutoProfiler-like API to ProfilerGravatar ulfjack2018-06-11
| | | | | | - migrate all startTask/completeTask pairs to the new API PiperOrigin-RevId: 200038703
* C++: Refactors PyWrapCc to make it easier to migrate to SkylarkGravatar plf2018-06-11
| | | | | | | | | Rolling forward https://github.com/bazelbuild/bazel/commit/6c87715b8ac6b32e636ba307440e2b7362b10a48. When I first tried to roll forward this CL I missed one place where PyCcLinkParamsProvider.TO_LINK_PARAMS should have been called. The target //production/midas/config:client_config_pb builds fine now. RELNOTES:none PiperOrigin-RevId: 200032805
* Add documentation to Collection<E> get() method.Gravatar dbabkin2018-06-11
| | | | | RELNOTES:none PiperOrigin-RevId: 200031466
* Introduce generic post analysis build tool.Gravatar twerth2018-06-11
| | | | | | | This is the first step on the way to a proper action graph query command. RELNOTES: None PiperOrigin-RevId: 200026440
* Remove usage of COMPILER_MSVC in Bazel and ijarGravatar Loo Rong Jie2018-06-11
| | | | | | | | | | | | | Convert most `COMPILER_MSVC` to `_WIN32` (as they apply to Windows platform, not MSVC compiler). Only `src/tools/singlejar/zip_headers.h` and `src/main/cpp/util/md5.h` actually need `_MSC_VER`. `COMPILER_MSVC` in `third_party/protobuf` are not removed. They can be fixed by updating dependency to newer version. /cc @meteorcloudy Closes #5350. Change-Id: Ibc131abfaf34a0cb2bd338549983ea9d28eaabfe PiperOrigin-RevId: 200019793
* Remove ActionContextConsumerGravatar ulfjack2018-06-11
| | | | | | | | Instead, add some simple APIs to ExecutorBuilder and inline all the previous subclasses into their corresponding modules. This removes a bunch of boilerplate. PiperOrigin-RevId: 200017162
* Refactor the build event service transportGravatar ulfjack2018-06-11
| | | | | | | | | - use an internal event wrapper to unify handling - rewrite the test to be more explicit about event names and ordering This a part split out of unknown commit. PiperOrigin-RevId: 200015904
* docs,windows: emphasize that BAZEL_VS != BAZEL_VCGravatar Laszlo Csomor2018-06-10
| | | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/5272 Change-Id: Ia49c084f1fe036ff0e5b18fea096f31642cf8b5b Closes #5280. Change-Id: Ia49c084f1fe036ff0e5b18fea096f31642cf8b5b PiperOrigin-RevId: 200005785
* Add codec for Long (needed by TargetCompleteEvent).Gravatar janakr2018-06-10
| | | | PiperOrigin-RevId: 199965139
* Unify path resolution codepaths.Gravatar felly2018-06-08
| | | | | RELNOTES: None PiperOrigin-RevId: 199880252
* Use Identifiers instead of StringsGravatar Taras Tsugrii2018-06-08
| | | | | | | | | | | | The high level summary of the changes: - use `Identifier` instead of `name` in `Keyword` and `Parameter`. - construct `Identifier` through a factory method in case future interning is desired. These changes are in preparation for using `Identifier` instead of `name` for environment lookups. Closes #5304. PiperOrigin-RevId: 199869171
* Skylark debugging protocol: include frames information in ThreadPausedEvents.Gravatar brendandouglas2018-06-08
| | | | | | | This is almost always desirable -- if a thread is paused, the IDE expects to know the context. PiperOrigin-RevId: 199865078
* Automated rollback of commit 5df8eb24f84a6943e70876c805c77f06e719dcd7.Gravatar Googler2018-06-08
| | | | PiperOrigin-RevId: 199864175
* Add the skylark debugging options to the recognized 'build' options.Gravatar brendandouglas2018-06-08
| | | | | | | | | | Ensure debugging is turned off (and the server socket closed) when the command finishes, even if the blaze server is shut down. Finally, unpause all threads as part of shutting down the debug server, and also shut down the server if the client connection is lost. PiperOrigin-RevId: 199863623
* maven_jar: Actually add support for sources classifierGravatar David Ostrovsky2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | Closes: #308, #4798. 7a7c41d7d342cd427e74f091b55690eed13e280d was incomplete addition of sources classifier. API wasn't extended to support source SHA1. This has two implications: 1. Sources sha1 artifact cannot be checked once downloaded. 2. Repository cache integration: when enabled, the source artifact cannot be retrieved from the cache, because its sha1 is not known. Rectify the problem by adding src_sha1 attribute to native maven_jar rule. Test Plan: $ bazel test src/test/shell/bazel:bazel_repository_cache_test PiperOrigin-RevId: 198561462 Change-Id: I9c620cdc3876673195483f9e75bb58108acc87be PiperOrigin-RevId: 199855818
* Replace ambiguous bit of info with pointer to rules pageGravatar brandjon2018-06-08
| | | | | RELNOTES: None PiperOrigin-RevId: 199852932
* Support file renaming in ActionFS.Gravatar felly2018-06-08
| | | | PiperOrigin-RevId: 199850381
* Clean up Profiler a bitGravatar ulfjack2018-06-08
| | | | PiperOrigin-RevId: 199849102
* Skylark debugger: fix thread paused state and location not being properly ↵Gravatar brendandouglas2018-06-08
| | | | | | set in ThreadPausedEvents. PiperOrigin-RevId: 199847385
* Add status details to the protosGravatar ulfjack2018-06-08
| | | | | | | | Both for the build event stream proto, which contains the TestResult event, and to the test status proto which is used for caching. The new field may be populated in the future. PiperOrigin-RevId: 199846232
* Automated rollback of commit 6c87715b8ac6b32e636ba307440e2b7362b10a48.Gravatar cpeyser2018-06-08
| | | | | RELNOTES:none PiperOrigin-RevId: 199840978
* Add support for aar_import_external and aar_maven_import_externalGravatar Jingwen Chen2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usage example: ```python # In WORKSPACE load("@bazel_tools//tools/build_defs/repo:android.bzl", "aar_import_external", "aar_maven_import_external") # Specify the URL directly: aar_import_external( name = "com_android_support_preference_v14_25_1_0", # required licenses = ["notice"], # required aar_urls = [ # required "https://dl.google.com/dl/android/maven2/com/android/support/preference-v14/25.1.0/preference-v14-25.1.0.aar" ], aar_sha256 = "442473fe5c395ebef26c14eb01d17ceda33ad207a4cc23a32a2ad95b87edfabb", # optional or empty string deps = [ # optional or empty list "@com_android_support_recyclerview_v7_25_1_0//aar", "@com_android_support_appcompat_v7_25_1_0//aar", "@com_android_support_preference_v7_25_1_0//aar", "@com_android_support_support_v4_25_1_0//aar", ], ) # Or, specify the artifact coordinate: aar_maven_import_external( name = "com_android_support_preference_v14_25_1_0", # required artifact = "com.android.support.test:preference-v14:25.1.0", # required sha256 = "442473fe5c395ebef26c14eb01d17ceda33ad207a4cc23a32a2ad95b87edfabb" # optional or empty string licenses = ["notice"], # required server_urls = ["https://maven.google.com"], # required deps = [ # optional or empty list "@com_android_support_recyclerview_v7_25_1_0//aar", "@com_android_support_appcompat_v7_25_1_0//aar", "@com_android_support_preference_v7_25_1_0//aar", "@com_android_support_support_v4_25_1_0//aar", ], ) # In BUILD.bazel android_library( name = "foo", srcs = [...], deps = [ "@com_android_support_preference_v14_25_1_0//aar", ], ) ``` To test this out with gmaven_rules, change the `load` statement in https://github.com/bazelbuild/gmaven_rules/blob/master/gmaven.bzl to ``` load('@bazel_tools//tools/build_defs/repo:android.bzl', 'aar_import_external') load('@bazel_tools//tools/build_defs/repo:java.bzl', 'java_import_external') ``` Fixes https://github.com/bazelbuild/bazel/issues/4654 RELNOTES: New rules for importing Android dependencies: `aar_import_external` and `aar_maven_import_external`. `aar_import_external` enables specifying external AAR dependencies using a list of HTTP URLs for the artifact. `aar_maven_import_external` enables specifying external AAR dependencies using the artifact coordinate and a list of server URLs. Closes #5319. Change-Id: I9517e68ab78f2e30fb6ceabfe3b35061c585d607 PiperOrigin-RevId: 199839047