aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Importing remote-apis repository into Bazel for Remote API v2.Gravatar Ola Rozenfeld2018-08-10
| | | | Change-Id: I245c8514adedfa443e3ffd41a54714f40fc193c4
* Add critical path as fake thread 0 to the JSON profile.Gravatar twerth2018-08-10
| | | | | RELNOTES: None PiperOrigin-RevId: 208195833
* Java, runfiles: move runfiles library sourcesGravatar laszlocsomor2018-08-10
| | | | | | | | | | | | Move the Java runfiles library's sources from //src/tools/runfiles/j/c/g/devtools/build/runfiles:* to //tools/java/runfiles. Fixes https://github.com/bazelbuild/bazel/issues/5803 RELNOTES[NEW]: Java, runfiles: the Java runfiles library is now in @bazel_tools//tools/java/runfiles. The old target (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and will be removed in Bazel 0.18.0. PiperOrigin-RevId: 208191521
* Windows, Bash launcher: Make sure bash bin tool directory is in PATHGravatar pcloudy2018-08-10
| | | | | | | | | | | If bash_bin_path exists, we add it's directory to PATH to make bash bin tools available. If bash_bin_path doesn't exist, there are two cases: 1. bash.exe is in PATH, and that means bash bin tools should also be in PATH. 2. bash.exe isn't in PATH, the launcher will fail with "The system cannot find the file specified." error. RELNOTES: None PiperOrigin-RevId: 208182717
* Do not hardcode LCOV pathGravatar Vladimir Zaytsev2018-08-10
| | | | | | | | fixes #5644 Closes #5646. PiperOrigin-RevId: 208175002
* Introduce a retriever for logging handler properties.Gravatar arostovtsev2018-08-10
| | | | | | | | | | | We want a way for Bazel to find a logging handler's current log file without direct dependencies on the exact handler class. We do this with an abstract parent class whose concrete child class (to be used as a singleton) will be given in startup_options, i.e. in the same place as the server logging configuration. RELNOTES: None. PiperOrigin-RevId: 208171084
* Windows: add //tools/... tests to test suiteGravatar Laszlo Csomor2018-08-09
| | | | | | | | | | | | Add all tests under //tools/... to //src:all_windows_tests, to run them on Bazel CI. See https://github.com/bazelbuild/bazel/issues/4292 Closes #5839. Change-Id: Iae647f561683cc50ef62416c4b834576ae918486 PiperOrigin-RevId: 208167743
* Use getDoneValues instead of getGraphMap for dump/stat functions.Gravatar twerth2018-08-09
| | | | | RELNOTES: None PiperOrigin-RevId: 208166562
* Batch all DependencyResolver#getTarget calls. This leads to some duplicate ↵Gravatar janakr2018-08-09
| | | | | | iteration, but that should be cheap, while requesting packages sequentially can hurt... PiperOrigin-RevId: 208126130
* Allow skyframe-aware actions to pass partial results through ↵Gravatar felly2018-08-09
| | | | | | | | ActionExecutionContext. Remove FilesetProvider. PiperOrigin-RevId: 208111251
* Pass Fileset information to the Action filesystem.Gravatar felly2018-08-09
| | | | PiperOrigin-RevId: 208096548
* Stop generating .d files when they won't be looked at later.Gravatar Googler2018-08-09
| | | | | | | | While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules, which isn't used anymore and would make the logic here (even) more complicated. RELNOTES: None. PiperOrigin-RevId: 208077525
* Add test case showing off existing deadlock bug. There's no deterministic & ↵Gravatar nharmata2018-08-09
| | | | | | | | | | perfect way to expose the bug without e.g. adding hooks inside the implementation, but the test case I added seems to fail very consistently. RELNOTES: None PiperOrigin-RevId: 208060959
* Reduce contention in the digest map.Gravatar tomlu2018-08-09
| | | | | | | | | During reads and writes a read lock is taken. If we need to resize the table, a write lock is taken to flush all the readers and writers before the table is resized. The read lock should be significantly cheaper than full synchronisation since multiple threads can grab a read lock at once. RELNOTES: None PiperOrigin-RevId: 208059810
* Stop allowing targets with loose headers checking that reference srcs/hdrs ↵Gravatar shahan2018-08-09
| | | | | | in other package to also treat those package as loose. PiperOrigin-RevId: 208051086
* Support a .bazelignore fileGravatar Klaus Aehlig2018-08-09
| | | | | | | | | | | | | | | | | | | Add suport for a file .bazelignore, allowing to specify directories that should be ignored. So far, even for the "ignored" directories, the directory structure, including following symlinks, still has to be well founded. We plan to lift that restriction in the future, but already with the restriction, it is an improvement over the status quo. RELNOTES: bazel now supports a .bazelignore file specifying directories to be ignored; however, these directories still have to be well founded and, in particular, may not contain symlink cycles. Improves on #4888. Change-Id: Icfe0b7f5c35eceea16e28944ca7711431b71271a PiperOrigin-RevId: 208050372
* Windows,tests: port aquery_testGravatar Laszlo Csomor2018-08-09
| | | | | | | | | | | | | | //src/test/shell/integration:aquery_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: If2eb13ef03b9cfde0d0d61c163ef8ac3c6004877 Closes #5846. Change-Id: If2eb13ef03b9cfde0d0d61c163ef8ac3c6004877 PiperOrigin-RevId: 208048005
* query test: fix symlink creationGravatar Laszlo Csomor2018-08-09
| | | | | | | | | | | | | | Symlink targets are now absolute. Previously they were relative, not to the symlink (as they should have been) but to the workspace, so the symlinks were in fact dangling. Change-Id: I06e503168318bc76f0fa847d8f0937311deb9b81 Closes #5837. Change-Id: I06e503168318bc76f0fa847d8f0937311deb9b81 PiperOrigin-RevId: 208043735
* Final asset/resource decoupling cleanupGravatar asteinb2018-08-09
| | | | | | | | | | | | | | | | | | - Remove MergableAndroidData interface, and clean up various converters to explicitly use ParsedAndroid{Resources|Assets} - Remove calls to getters that always return an empty list (based on the above cleanup) - Stop passing around empty transitiveAssets in ResourceDependencies and AndroidResourcesInfo - Remove no-op getter method for decoupling settings in AndroidConfiguration Also, consolidate all AndroidDataConverter instances that were used in multiple places into the AndroidDataConverter class, rather than declaring them in multiple places. Add a bit of documentation as to which objects they represent in the action code, which should make mapping between one and the other easier. RELNOTES: none PiperOrigin-RevId: 208042452
* Windows,tests: port bazel_testjobs_testGravatar Laszlo Csomor2018-08-09
| | | | | | | | | | | | | | //src/test/shell/integration:bazel_testjobs_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: Ia12a01f27ee8bd5a00aead546bcaf483fc4d72a3 Closes #5835. Change-Id: I6e9af9da9221a4d4d553e8ad066b607a54c5c907 PiperOrigin-RevId: 208034351
* Split up getTargetsToBuild() into multiple methods so compute() can ↵Gravatar Googler2018-08-09
| | | | | | | | determine which pattern expanded to which targets. Plan is to modify either TargetParsingCompleteEvent or LoadingPhaseCompleteEvent (which are both posted to the event handler) so that targets can be traced back to original command line patterns. PiperOrigin-RevId: 208031588
* Windows,tests: port output_filter_testGravatar Laszlo Csomor2018-08-09
| | | | | | | | | | | | | | | | | | | | //src/test/shell/integration:output_filter_test now runs on Windows. Also remove the "bazel clean" calls that are meant to trigger recompilations, and instead achieve the same effect by updating the mock source files. This saves about 12 seconds of test's runtime on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: Id3a6854fe6715893b43d4a06e07b7e70524059f9 Closes #5754. Change-Id: I9d9d23f4ccb0471fab4ae7cc45f2857c170546a4 PiperOrigin-RevId: 208016336
* Remove unused workspace variable.Gravatar twerth2018-08-09
| | | | | RELNOTES: None PiperOrigin-RevId: 208010973
* Java: add @bazel_tools//tools/java/runfilesGravatar Laszlo Csomor2018-08-09
| | | | | | | | | | | See https://github.com/bazelbuild/bazel/issues/5803 Change-Id: I49a2e744af667d34aedc3384629acd48641b0921 Closes #5804. Change-Id: I75f85f02384fd1d9f6ebac5fff7c96c7278f7cdd PiperOrigin-RevId: 208010815
* Fix StackOverflowError on Windows. Fixes #5730Gravatar buchgr2018-08-09
| | | | | | | | | | | | | | | | | | | We found that with JDK9 and up Bazel would sometimes crash with a StackOverflowError in one of the Command-Accumulator-Thread-* threads. We experimentally found that this error was due to these threads being constrained to a 32KiB stack size. The default stack size for JVM threads on most 64-bit systems is 1MiB (So that's 3% of the default). The purpose of the Command-Accumulator-Threads is to read stdout/stderr from processes that Bazel launches locally. The proposed fix is to just use the system default stack size for these threads. The alternative is to increase the size limit to some arbitrary number that happens to work, but this is likely premature optimization and I'd like to avoid that if possible. We further found that this code even predates Blaze/Bazel and is from 2005. PiperOrigin-RevId: 208009940
* Fix a @GuardedBy errorGravatar cushon2018-08-09
| | | | PiperOrigin-RevId: 208009857
* [singlejar] Port mapped_file for WindowsGravatar Loo Rong Jie2018-08-08
| | | | | | | | | | `src/tools/singlejar/mapped_file_*.inc` are now included in `src/tools/singlejar/mapped_file.cc` instead of header file and no longer inline most member functions: these functions are too large for inlining. /cc @laszlocsomor Closes #5780. PiperOrigin-RevId: 207998444
* Deprecate most of the targets in the JDK repositoryGravatar cushon2018-08-08
| | | | | | See #5594 PiperOrigin-RevId: 207943203
* In AbstractSkyFunctionEnvironment, don't check for filtered exceptions in ↵Gravatar janakr2018-08-08
| | | | | | the common case of no exceptions. We were already mostly tracking missing dependencies in the subclasses, so there's no need to check for missing dependencies here. PiperOrigin-RevId: 207934220
* Automated rollback of commit 09bf7cc5865f7edd9a3eeabb42792e8de3ad862f.Gravatar tomlu2018-08-08
| | | | | | | | | | | | | | | | *** Reason for rollback *** Causes crashes in fake_cc_binary in combination with --experimental_nodotd_scanning_with_modules. *** Original change description *** Stop generating .d files when they won't be looked at later. While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules, which isn't used anymore and would make the logic here (even) more complicated. RELNOTES: None. PiperOrigin-RevId: 207932548
* Remove ApplicationManifestGravatar asteinb2018-08-08
| | | | | | | | | | | | This class just contains methods used elsewhere; move them to appropriate places (generally AndroidManifest or StampedAndroidManifest). Also, somewhat reduce code duplication by having more stuff use the existing AndroidManifest.from() method, which automatically handles unspecified manifests and packages. RELNOTES: none PiperOrigin-RevId: 207913410
* Improve error messaging for constraints violations.Gravatar gregce2018-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Break up dense lines with clearer pretty-printing. 2) When a violation happens because of a select(), mention both the target with the select (as before) *and* the dep that the select() chose. 3) Integrate this messaging into --target_environment violations, which currently provide no info about the root cause. Examples: ------------------------------------- select() + compatible_with violation: ------------------------------------- Before: ERROR: /workspace/testapp/BUILD:41:1: in cc_binary rule //testapp:top: the current command-line flags disqualify all supported environments because of incompatible select() paths: environment: //constraints:p removed by: //testapp:midlib (/workspace/testapp/BUILD:28:1) After: ERROR: /workspace/testapp/BUILD:41:1: in cc_binary rule //testapp:top: the current command line flags disqualify all supported environments because of incompatible select() paths: environment: //constraints:p removed by: //testapp:midlib (/workspace/testapp/BUILD:28:1) which has a select() that chooses dep: //testapp:glib which lacks: //constraints:p. ------------------------------------- select() + --target_environment=//constraints:p violation: ------------------------------------- Before: ERROR: This is a restricted-environment build. - //testapp:top does not support required environment //constraints:p After: ERROR: This is a restricted-environment build. //testapp:top does not support: environment: //constraints:p removed by: //testapp:midlib (/workspace/testapp/BUILD:28:1) which has a select() that chooses dep: //testapp:g which lacks: //constraints:p Fixes: #5795 PiperOrigin-RevId: 207910308
* Re-enable BytecodeTypeInferenceTestGravatar cushon2018-08-08
| | | | | | Bazel's ASM was updated in 3a711882dcbb3af8709844bde501ac6fca44ea7d. PiperOrigin-RevId: 207909203
* Remove CompiledMergeableAndroidDataGravatar asteinb2018-08-08
| | | | | | | | This was also just shared between ParsedAndroidResources and the now defunct ResourceContainer RELNOTES: none PiperOrigin-RevId: 207907140
* Expose GeneratedExtensionRegistryProvider to Skylark.Gravatar Googler2018-08-08
| | | | | RELNOTES: None PiperOrigin-RevId: 207905848
* Don't convert InterruptException to EvalException in struct field call ↵Gravatar Benjamin Peterson2018-08-08
| | | | | | | | | | | expressions. This is probably only a theoretical problem, since a blocking struct field is probably a very bad idea. Closes #5132. Change-Id: Ie84a78ab4d9ce215f2806ac49bf8911de6959930 PiperOrigin-RevId: 207902766
* Remove ValidatedAndroidData interfaceGravatar asteinb2018-08-08
| | | | | | | | Now that ValidatedAndroidResources is the only implementation, we can just use that instead. RELNOTES: none PiperOrigin-RevId: 207900844
* Remove support for explicitly setting java_toolchain.encoding to UTF-8Gravatar cushon2018-08-08
| | | | PiperOrigin-RevId: 207891979
* Remove ResourceContainerGravatar asteinb2018-08-08
| | | | | | | | | ValidatedAndroidResources is now the only implementation of ValidatedAndroidData, so we can also clean up some code. (The actual interface will be cleaned up in the next few changes.) RELNOTES: none PiperOrigin-RevId: 207891778
* Windows: do not look for Git BashGravatar Laszlo Csomor2018-08-08
| | | | | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/5751 RELNOTES[INC]: Windows: when BAZEL_SH envvar is not defined and Bazel searches for a suitable bash.exe, Bazel will no longer look for Git Bash and no longer recommend installing it as a Bash implementation. See issue #5751. Change-Id: I7350b1dd5c0a3777525956da6d620174fc6935ee Closes #5752. Change-Id: I7350b1dd5c0a3777525956da6d620174fc6935ee PiperOrigin-RevId: 207891008
* 'DumpPlatformClasspath' now dumps the current JDK's default platform classpathGravatar cushon2018-08-08
| | | | | | | | | | | instead of indirecting through javac's bootclasspath handling and attempting to pin to a particular source version. This is a stop-gap until we can just use javac's --release flag. Using the output of DumpPlatformClasspath as the bootclasspath for the default java_toolchain side-steps issues with @local_jdk (see #5744, #5594). PiperOrigin-RevId: 207890272
* Add a comment clarifying the soundness of not doing edge filtering during ↵Gravatar nharmata2018-08-08
| | | | | | | the DTC construction of the universe argument to 'rdeps'. RELNOTES: None PiperOrigin-RevId: 207884395
* Improve NaiveMultisetSemaphore#estimateCurrentNumUniqueValues by having it ↵Gravatar nharmata2018-08-08
| | | | | | | use Semaphore#availablePermits. I have no idea why I didn't do this initially. RELNOTES: None PiperOrigin-RevId: 207883650
* Automatic code cleanup.Gravatar Googler2018-08-08
| | | | PiperOrigin-RevId: 207882126
* Remove non-static ApplicationManifest methodsGravatar asteinb2018-08-08
| | | | | | | | | | | | | | | | Remove all state from the ApplicationManifest class. Actual methods in this class will be migrated to somewhere more appropriate in upcoming changes. We now usually use the manifest passed around in the ResourceApk object instead. (The exception is mobile-install, which still wants to use the raw manifest.) Note that this manifest is the processed manifest output by resource processing - using it will somewhat decrease parallelisim, but is also more correct. (We'll get the parallelisim gains back once we now longer use the legacy manifest merger and don't need to process the manifest in resource processing.) RELNOTES: none PiperOrigin-RevId: 207881830
* Add a option to disable idle gc.Gravatar Benjamin Peterson2018-08-08
| | | | | | | | | | | | | | | If a Bazel server is idle for 10 seconds, it unconditionally triggers a full-scale Java GC via System.gc(). This behavior doesn't have clear benefits and causes Bazel to steal resources from whatever the user does after invoking Bazel. This CL adds a startup option, --idle_server_tasks, to toggle the idle GC behavior. Also, add some logging for when idle GC is enabled, so it's easier to evaluate its effects. Example of logging: ``` 180718 17:43:04.609:I 247 [com.google.devtools.build.lib.server.IdleServerTasks.lambda$idle$0] [Idle GC] used: 157MB -> 15MB, committed: 421MB -> 422MB ``` Fixes https://github.com/bazelbuild/bazel/issues/5589. Closes #5628. PiperOrigin-RevId: 207869996
* Windows,tests: run //s/t/shell/integration:* testsGravatar Laszlo Csomor2018-08-08
| | | | | | | | | | | | | | Enable the tests in //src/test/shell/integration:* to run on CI, and fix them all. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I6a811d8045d85237a7df4024f893f3ca1b25177a Closes #5789. Change-Id: I6a811d8045d85237a7df4024f893f3ca1b25177a PiperOrigin-RevId: 207863832
* Expose methods returning bare C++ options in SkylarkGravatar hlopko2018-08-08
| | | | | | | | | | | | | This cl exposes getters for flags passed by --copt, --cxxopt, --conlyopt, and --linkopt Bazel options. Fixes #5602. While at it, I deprecated existing methods that are either migrated to the C++ toolchain, or to cc_common. RELNOTES: None. PiperOrigin-RevId: 207854692
* Fixed the builtins exporter to include all top level Starlark symbols.Gravatar Googler2018-08-08
| | | | | RELNOTES: None PiperOrigin-RevId: 207850273
* Disable legacy linking Skylark api to C++ toolchainGravatar hlopko2018-08-08
| | | | | RELNOTES: None. PiperOrigin-RevId: 207845945