aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* windows: Don't try to breakaway from an existing Job in batch mode.Gravatar Philipp Wollermann2017-03-16
| | | | | | | | | | | | | | | | | | | | | | | | Reasoning: It never worked anyway, because Bazel didn't set the JOB_OBJECT_LIMIT_BREAKAWAY_OK limit on its job. This is why running Bazel in batch mode inside a shell integration test on Windows caused a "CreateProcess() failed: access denied" error. By no longer using CREATE_BREAKAWAY_FROM_JOB, this will instead cause us to use nested jobs, which is exactly the right thing to do: - If our parent dies, we and our children still get reliably killed. - But if *only* we die, then just our children will be reliably killed. If we're on an older Windows that doesn't support nested jobs and are running inside an existing job, we should assume that our parent handles process management - for example like Bazel, which runs all spawned processes in their own job. Also remove the CREATE_NEW_PROCESS_GROUP flag in Bazel's batch mode, because I can't see how this makes sense for a non-daemon process. -- PiperOrigin-RevId: 150194586 MOS_MIGRATED_REVID=150194586
* Windows: update PATH for actions on WindowsGravatar Laszlo Csomor2017-03-16
| | | | | | | | | | | | | | If a SpawnAction executes a shell command, we need to fix PATH on Windows so it starts with "<msysroot>/bin;<msysroot>/usr/bin", otherwise bin utils like "find" would be found in the wrong places, e.g. as "c:/windows/system32/find.exe". Fixes https://github.com/bazelbuild/bazel/issues/2676 -- PiperOrigin-RevId: 150188402 MOS_MIGRATED_REVID=150188402
* Make AspectCompleteEvent an instance of BuildEvent Gravatar Klaus Aehlig2017-03-16
| | | | | | | | | | | | | | | In this way, we can also report the artifacts generated by aspects in the build event protocol. For the time being, those events are reported unsolicitly (i.e., as children of progress events), but they may be linked to pattern expansion later. -- Change-Id: I7fb83088d7fdb5424f77bfb78700e8371231b13c Reviewed-on: https://cr.bazel.build/9370 PiperOrigin-RevId: 150181433 MOS_MIGRATED_REVID=150181433
* Type strip Python sources when building a target incompatible with inlineGravatar Googler2017-03-14
| | | | | | | | annotations. -- PiperOrigin-RevId: 150088575 MOS_MIGRATED_REVID=150088575
* Fix inadvertent performance regression introduced by the recent rewrite of ↵Gravatar Nathan Harmata2017-03-14
| | | | | | | | | | | | | | | | | | 'blaze query'. The "streaming" callbacks used by some query functions, e.g. 'deps', make calls to QueryEnvironment#buildTransitiveClosure. For a cold blaze server, these calls do package loading via LabelVisitor (which calls into Skyframe via a top-level #evaluate call). So we'd prefer a single massive call which can make full use of blaze's loading-phase parallelism via Skyframe over a bunch of sequential small calls. For a hot blaze server, there are two problems: (1) LabelVisitor's meager up-to-date check isn't useful (as in we cannot reuse old visitations) when we do a whole bunch of small visitations instead of one massive one. (2) The actual work of the LabelVisitor (building up a portion of a temporary graph) isn't being effectively parallelized when we do it sequentially in small chunks. This issue is yet another subtle reason why the old BlazeQueryEnvironment#eval made sense (and why it was unfortunately not compatible with the streaming query evaluation model from the beginning). -- PiperOrigin-RevId: 150081619 MOS_MIGRATED_REVID=150081619
* Simplify Attribute.Configurator, add dynamic configs support.Gravatar Greg Estren2017-03-14
| | | | | | | | | | | | | | Specifically: 1) Read BuildOptions instead of BuildConfiguration 2) Remove unused extra parameters 1) is especially useful for dynamic configs. Before this change, dynamic configs just didn't support attribute configurators. This is because support would require Skyframe-instantiating temporary intermediate configurations, which is horribly awkward and would massively complicate Bazel's dependency evaluation logic. Using BuildOptions instead of BuildConfiguration completely eliminates the problem. As a bonus, dynamic configs can compose attribute configurators with any other transitions (including splits). This actually makes them more powerful than static configs. Whether anyone wants to use that composition is a different story, but that's now a policy decision vs. a technical limitation. This should also come in handy for RuleClass configurators, which will likely also leverage this. -- PiperOrigin-RevId: 150080977 MOS_MIGRATED_REVID=150080977
* Avoid expanding NestedSets in IterablesChain BuilderGravatar Michajlo Matijkiw2017-03-14
| | | | | | | | Iterables.isEmpty winds up expanding the NestedSet, which isn't cheap. -- PiperOrigin-RevId: 150079225 MOS_MIGRATED_REVID=150079225
* Make mobile-install work with --use_singlejar_apkbuilder.Gravatar Adam Michael2017-03-14
| | | | | | | | | | | All .dex files to include in the APK must now either be in a zip file or be named "classes.dex". Now with test coverage! -- PiperOrigin-RevId: 150074347 MOS_MIGRATED_REVID=150074347
* Bazel client, Windows: can connect to fresh serverGravatar Laszlo Csomor2017-03-14
| | | | | | | | | | | | | Fix the bug that the MSYS-less client couldn't connect to the freshly started server and had to be started again. Fixes https://github.com/bazelbuild/bazel/issues/2672 See https://github.com/bazelbuild/bazel/issues/2107 -- PiperOrigin-RevId: 150069285 MOS_MIGRATED_REVID=150069285
* apple_binary scopes link artifacts using child configuration for ↵Gravatar Cal Peyser2017-03-14
| | | | | | | | --experimental_objc_crosstool=all -- PiperOrigin-RevId: 150066766 MOS_MIGRATED_REVID=150066766
* Simplify the logic in CppCompileAction#updateActionInputs().Gravatar Lukacs Berki2017-03-14
| | | | | | | | This way, we'll eventually get closer to the ideal world where inputs are clearly classified as either mandatory, prunable, discovered or discovered and prunable. -- PiperOrigin-RevId: 150061912 MOS_MIGRATED_REVID=150061912
* Refactor scheduling of LTO Backend actions into CppLinkActionBuilderGravatar Googler2017-03-14
| | | | | | | | | | | | This was suggested in the review for unknown commit, which adds ThinLTO support to another client of CppLinkActionBuilder. The change required changing the constructor to take a FdoSupportProvider object instead of a FdoSupport object, so required changes to all callers. -- PiperOrigin-RevId: 150060046 MOS_MIGRATED_REVID=150060046
* A partial, manual rollback of commit 7af14dfdbd6addb779226c0a103b2a8dc72c16b1.Gravatar Lukacs Berki2017-03-14
| | | | | | | | This became necessary because extra actions for C++ compile actions require .h files, but the compiler only returns the .pcm files in the .d file for headers that it reads from the .pcm file. This is not a problem for correctness because the .pcm files depend on the headers, but that doesn't help the extra actions that would then only get the .pcm files. -- PiperOrigin-RevId: 150052839 MOS_MIGRATED_REVID=150052839
* Global cleanup change.Gravatar Googler2017-03-14
| | | | | | -- PiperOrigin-RevId: 150052200 MOS_MIGRATED_REVID=150052200
* Bazel client, Windows: make server mode work Gravatar Laszlo Csomor2017-03-14
| | | | | | | | | | | | | | | | Fix blaze_util_windows::ConvertAbsolutePaths, which happens to have been the culprit why the MSYS-less Bazel would always kill the running server. Fixes https://github.com/bazelbuild/bazel/issues/2672 See https://github.com/bazelbuild/bazel/issues/2107 -- Change-Id: I873a78c737a6d6906ac7db9bcd0e7186e17bd7ca Reviewed-on: https://cr.bazel.build/9355 PiperOrigin-RevId: 150052180 MOS_MIGRATED_REVID=150052180
* Global cleanup change.Gravatar Googler2017-03-14
| | | | | | -- PiperOrigin-RevId: 150052074 MOS_MIGRATED_REVID=150052074
* Global cleanup change.Gravatar Googler2017-03-14
| | | | | | -- PiperOrigin-RevId: 150051360 MOS_MIGRATED_REVID=150051360
* --Gravatar Carmi Grushko2017-03-14
| | | | | PiperOrigin-RevId: 150019356 MOS_MIGRATED_REVID=150019356
* Use platform-specific path separator for --dependencyManifests.Gravatar Adam Michael2017-03-14
| | | | | | | | | This is read by PathListConverter which uses java.io.File#pathSeparator which is already platform-specific. -- PiperOrigin-RevId: 150008708 MOS_MIGRATED_REVID=150008708
* Implement coverage support for experimental_objc_libraryGravatar Cal Peyser2017-03-14
| | | | | | -- PiperOrigin-RevId: 149997687 MOS_MIGRATED_REVID=149997687
* Fix broken linkGravatar Jon Brandvein2017-03-14
| | | | | | -- PiperOrigin-RevId: 149969486 MOS_MIGRATED_REVID=149969486
* Clarify the log lines used when a command is interrupted to more obviously ↵Gravatar Nathan Harmata2017-03-14
| | | | | | | | disambiguate the case where the blaze grpc client tells the blaze grpc server to cancel a running command (e.g. the blaze user ctrl+c's the blaze client) between the case a streaming rpc call gets cancelled (e.g. when the grpc client hangs up). -- PiperOrigin-RevId: 149960615 MOS_MIGRATED_REVID=149960615
* Clarify UseDefault behavior surrounding expansion flags.Gravatar Chloe Calvarin2017-03-14
| | | | | | | | Also warn that user values can be lost, at which point later policies won't revive them. This warning should be removed once [] is fixed. -- PiperOrigin-RevId: 149939586 MOS_MIGRATED_REVID=149939586
* Adding a temporary flag to Bazel to allow Platform override from the commandGravatar Ola Rozenfeld2017-03-14
| | | | | | | | | | | | | line. This will be used during development to test new toolchains in docker containers. Example usage: --experimental_remote_platform_override='entry:{ name:"a" value:"b" } entry:{ name:"c" value:"d" }' TESTED=local server -- PiperOrigin-RevId: 149933081 MOS_MIGRATED_REVID=149933081
* Remove an unused method from CppCompileAction.Gravatar Lukacs Berki2017-03-14
| | | | | | -- PiperOrigin-RevId: 149930121 MOS_MIGRATED_REVID=149930121
* Remove ` characters from java_common documentationGravatar Irina Iancu2017-03-14
| | | | | | | | | | as they will not get properly formatted. See current https://bazel.build/versions/master/docs/skylark/lib/java_common.html -- PiperOrigin-RevId: 149915047 MOS_MIGRATED_REVID=149915047
* Fix missing type params for Java7Gravatar Mark Schaller2017-03-12
| | | | | | -- PiperOrigin-RevId: 149813927 MOS_MIGRATED_REVID=149813927
* Remove usage of SynchronizedBatchCallback findTargetsBeneathDirectoryAsync; ↵Gravatar Nathan Harmata2017-03-12
| | | | | | | | | | by design, the callback passed in there is thread safe. A previous change accidentally introduced this unnecessary synchronization. Also move SynchronizedBatchCallback to the file with its only current usage. -- PiperOrigin-RevId: 149809083 MOS_MIGRATED_REVID=149809083
* Improve query error msg when a package has a broken Skylark loadGravatar Mark Schaller2017-03-12
| | | | | | | | | | | | | | | | | | | | | | | | The error message logged during query (and build) when a package has a broken Skylark load statement was not specific. Previously, it said "package contains errors:" and then the package name. Also, this error message was not emitted when using SkyQueryEnvironment and evaluating a query containing a "TargetsBelowDirectory" pattern (such as //foo/...) when a package below the specified directory had such an error. The approach taken by this CL is to include any package loading error message in the SkyValue produced by CollectPackagesUnderDirectoryFunction, and report them during evaluation of a TargetsBelowDirectory pattern. RELNOTES: Evaluation of commands on TargetsBelowDirectory patterns (e.g. //foo/...) matching packages that fail to load now report more detailed error messages in keep_going mode. -- PiperOrigin-RevId: 149802362 MOS_MIGRATED_REVID=149802362
* Global cleanup change.Gravatar Googler2017-03-12
| | | | | | -- PiperOrigin-RevId: 149797374 MOS_MIGRATED_REVID=149797374
* Remove experimental Java min classpath optimizationGravatar Liam Miller-Cushon2017-03-12
| | | | | | -- PiperOrigin-RevId: 149789440 MOS_MIGRATED_REVID=149789440
* Configurably block errors from universe eval in query environmentsGravatar Mark Schaller2017-03-12
| | | | | | | | | | | | Universe evaluation only occurs in the SkyQueryEnvironment implementation. This setting is a no-op for other QueryEnvironment implementations. This support is needed to correctly test an upcoming bugfix. -- PiperOrigin-RevId: 149786616 MOS_MIGRATED_REVID=149786616
* Add the remote_execution_properties attribute to the platform() rule. Gravatar John Cater2017-03-12
| | | | | | | | | | Part of #2219. -- Change-Id: Id82bdd5b3dfab1d2ea781d27dd98020966ce8fac Reviewed-on: https://cr.bazel.build/9271 PiperOrigin-RevId: 149782572 MOS_MIGRATED_REVID=149782572
* A no-op refactoring of BazelJavaSemantics to create a separate internal ↵Gravatar Kush Chakraborty2017-03-10
| | | | | | | | | | class which handles the Classpath substitution, and slightly simplifying the logic to obtain the main class. This is a partial rollforward of commit 786cfa2ed980e278c42ee474408844f7e3720385 (without the scary changes!) -- PiperOrigin-RevId: 149759252 MOS_MIGRATED_REVID=149759252
* Adding an opaque Platform message with keys and values. As a first stepGravatar Ola Rozenfeld2017-03-10
| | | | | | | | | | | | towards cross-platform support, we will add a hack that takes some values via a command line flag, and pass them on to a remote execution engine (next CL). TESTED=no change RELNOTES: n/a -- PiperOrigin-RevId: 149753326 MOS_MIGRATED_REVID=149753326
* Add java_common.create_provider to allow creating a java_common.provider Gravatar Irina Iancu2017-03-10
| | | | | | | | | | from already compiled jars. Progress on #2614. -- PiperOrigin-RevId: 149750579 MOS_MIGRATED_REVID=149750579
* GitProgressMonitor: also post about progress Gravatar Klaus Aehlig2017-03-10
| | | | | | | | | | In this way, git clone progress will also be shown in the experimental UI. -- Change-Id: Ic6f0f437ef9c403f82265b5bd0fa9059bd2abb97 Reviewed-on: https://cr.bazel.build/9314 PiperOrigin-RevId: 149746428 MOS_MIGRATED_REVID=149746428
* Clean up *GccStrategyGravatar Ulf Adams2017-03-10
| | | | | | | | | - use SimpleSpawn in SpawnGccStrategy - set PWD in CppCompileAction for consistency -- PiperOrigin-RevId: 149745059 MOS_MIGRATED_REVID=149745059
* Also report the spawn from the remote strategyGravatar Ulf Adams2017-03-10
| | | | | | | | | | It's silly that we require every spawn strategy to do this individually, and the new spawn scheduler will fix this. However, it's useful to add this for debugging. -- PiperOrigin-RevId: 149743992 MOS_MIGRATED_REVID=149743992
* Add the appropriate cxx_builtin_include_directory entries for clang to the ↵Gravatar Adam Michael2017-03-10
| | | | | | | | | | | | | | | | | | | | Android NDK crosstool created by android_ndk_repository. Also, stop setting -isystem for the builtin include directories in the clang toolchains. Previously, we were incorrectly setting cxx_builtin_include_directory for clang toolchains to the gcc include directories. We were also setting -isystem on these directories, so when an Android build attempted to include an NDK header (like arm_neon.h), clang got gcc's version of that header. A followup change will stop setting -isystem for gcc. Fixes https://github.com/bazelbuild/bazel/issues/2601. Note that I intentionally did not attempt to fix the bug for NDK10. NDK10 is very old, defaults to GCC and contains two separate clang/LLVMs. As such, it would be more complicated to get right and test properly. Also adds an integration test that attempts to compile an NDK header with clang. This change does not entirely fix Tensorflow's Android sample app build with NDK13 (the motivation for https://github.com/bazelbuild/bazel/issues/2601), however I believe that the remaining fixes are on Tensorflow's side. E.g. setting -Wno-c++11-narrowing in copts. -- PiperOrigin-RevId: 149719100 MOS_MIGRATED_REVID=149719100
* Adds linkmaps to the AppleDebugOutputsProvider for them to be consumed by ↵Gravatar Sergio Campama2017-03-10
| | | | | | | | dependents. -- PiperOrigin-RevId: 149702529 MOS_MIGRATED_REVID=149702529
* Read intellij plugin debug target deploy info from the build step instead of ↵Gravatar Googler2017-03-10
| | | | | | | | via the target map. -- PiperOrigin-RevId: 149666196 MOS_MIGRATED_REVID=149666196
* Increase log size limit to 10M.Gravatar Julio Merino2017-03-10
| | | | | | | | | | The log size is specified in number of bytes, not number of records, and the previous 50k limit was too small to hold any significant amount of data. 10M should be good to hold enough to troubleshoot issues. -- PiperOrigin-RevId: 149660970 MOS_MIGRATED_REVID=149660970
* Document the descriptor set output of proto_library.Gravatar Carmi Grushko2017-03-10
| | | | | | -- PiperOrigin-RevId: 149659956 MOS_MIGRATED_REVID=149659956
* Add documentation for java_common.Gravatar Irina Iancu2017-03-10
| | | | | | -- PiperOrigin-RevId: 149657329 MOS_MIGRATED_REVID=149657329
* Abstract from DownloadProgressEvent to generic FetchProgress Gravatar Klaus Aehlig2017-03-10
| | | | | | | | | | | In this way, we can easily add other fetch-like events to be reported in a similar way as plain downloads. -- Change-Id: I518df5ba27b6593eca98d30407b582f509a52aeb Reviewed-on: https://cr.bazel.build/9313 PiperOrigin-RevId: 149655918 MOS_MIGRATED_REVID=149655918
* Global cleanup change.Gravatar Googler2017-03-09
| | | | | | -- PiperOrigin-RevId: 149652245 MOS_MIGRATED_REVID=149652245
* Prevent users from using the WorkerTestStrategy unless they're running with ↵Gravatar Kush Chakraborty2017-03-09
| | | | | | | | the ExperimentalTestRunner. -- PiperOrigin-RevId: 149636903 MOS_MIGRATED_REVID=149636903
* Make InMemoryFileSystem case-insensitive on Windows. Gravatar Dmitry Lomov2017-03-09
| | | | | | | | | | This fixes PackagePathLocatorTest. -- Change-Id: I3d14a80993f6b256acfc732adf2d97b1d2dcb804 Reviewed-on: https://cr.bazel.build/9310 PiperOrigin-RevId: 149634730 MOS_MIGRATED_REVID=149634730
* Bazel client, Windows: CreateDirectoryW path limitGravatar Laszlo Csomor2017-03-09
| | | | | | | | | | | | | | | Fix the path limit for non-UNC-prefixed paths when using CreateDirectoryW. According to MSDN [1], this is only 248 chars, as opposed to the usual 260 (MAX_PATH). See https://github.com/bazelbuild/bazel/issues/2107 [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363855(v=vs.85).aspx -- PiperOrigin-RevId: 149627964 MOS_MIGRATED_REVID=149627964