aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add a missing 'function' keywordGravatar Dmitry Shevchenko2016-12-15
| | | | | | -- PiperOrigin-RevId: 142158214 MOS_MIGRATED_REVID=142158214
* Move TestStrategy to lib.exec package.Gravatar Ulf Adams2016-12-15
| | | | | | | | | | | | | | | | This is part of refactoring test strategy to unify its implementation between Bazel and Blaze (Google's internal version of Bazel), which should fix several issues in Bazel. It's also necessary to untangle lib.rules and lib.exec to enforce proper layering by separating compilation of these packages, and to provide a minimal Bazel binary. In particular, no core part of Bazel should depend on any of the rules, to facilitate moving them out of Bazel / reimplementing them in Skylark (except for some core rules like test_suite, alias, and genquery). -- PiperOrigin-RevId: 142151901 MOS_MIGRATED_REVID=142151901
* Streamline Fingerprint implementationGravatar Michajlo Matijkiw2016-12-15
| | | | | | | | | | | | Thread all updates through a CodedOutputStream. This has the benefit of potentially hashing less data, as many int values can be represented more compactly, and reducing the churn of hashing strings (generally), since CodedOutputStream is already heavily optimized for this. While the buffer size is a little generous, it winds up paying off. -- PiperOrigin-RevId: 142151062 MOS_MIGRATED_REVID=142151062
* Fix PathFragment to not use Java8-only static hashCode methods.Gravatar John Cater2016-12-15
| | | | | | | | Fixes #2247. -- PiperOrigin-RevId: 142143520 MOS_MIGRATED_REVID=142143520
* New operators for Skylark:Gravatar Andreas Bergmeier2016-12-15
| | | | | | | | | | | | | - list * int - int * list RELNOTES[NEW]: Skylark: you can now multiply a list by an integer to get the concatenation of N copies of this list, e.g. [a,b] * 3 = [a,b,a,b,a,b] -- Change-Id: I2068ad30e11df26dc7b4b8c41e51f85db56f0390 Reviewed-on: https://github.com/bazelbuild/bazel/pull/1524 PiperOrigin-RevId: 142140726 MOS_MIGRATED_REVID=142140726
* Delete dead codeGravatar Marcel Hlopko2016-12-15
| | | | | | -- PiperOrigin-RevId: 142129925 MOS_MIGRATED_REVID=142129925
* Bazel client, Windows: use file_windows under MSYSGravatar Laszlo Csomor2016-12-15
| | | | | | | | | | | | | | | | | | | | | | | Use file_windows.cc and file_posix.cc when compiling for MSYS/GCC (--cpu=x64_windows). This way we can implement functions in file_windows.cc one by one, start using them with MSYS, and put #ifdef __CYGWIN__ ... #endif around these functions in file_posix.cc, until all functions are implemented in file_windows.cc. The change contains a lot of code deletion, but nothing should change because of that. The deleted code was not being used at all: neither with MSVC (it was behind #else // not COMPILER_MSVC) nor with MSYS (the file was not in the `select` of the rule's `srcs`). See https://github.com/bazelbuild/bazel/issues/2107 -- PiperOrigin-RevId: 142128611 MOS_MIGRATED_REVID=142128611
* Bazel client, Windows: implement GetUserNameGravatar Laszlo Csomor2016-12-15
| | | | | | | | See https://github.com/bazelbuild/bazel/issues/2107 -- PiperOrigin-RevId: 142128121 MOS_MIGRATED_REVID=142128121
* Windows, JNI: implement nativeGetLongPathGravatar Laszlo Csomor2016-12-15
| | | | | | | | | | | | | | | | | | | | Implement a JNI method that can resolve 8dot3 style paths. This is necessary because we need to be able to compare 8dot3 style paths and long paths [1], and because implementing this correctly in Java seems to be impossible [2]. This change also adds tests for the JNI isJunction implementation. See https://github.com/bazelbuild/bazel/issues/2101 [1] https://github.com/bazelbuild/bazel/issues/2145 [2] https://github.com/bazelbuild/bazel/issues/2145#issuecomment-266766716 -- PiperOrigin-RevId: 142123750 MOS_MIGRATED_REVID=142123750
* Bazel client: get rid of RunProgramGravatar Laszlo Csomor2016-12-15
| | | | | | | | | | | | | | | | | | Move GetJvmVersion from blaze_util to blaze_util_platform, and remove the RunProgram declaration from blaze_util.h. Since GetJvmVersion is the only user of RunProgram this is safe to do, and allows making RunProgram static as well as simplifying its implementation on Windows, while also changing it to use CreateProcessW instead of CreateProcessA. See https://github.com/bazelbuild/bazel/issues/2181 -- PiperOrigin-RevId: 142122045 MOS_MIGRATED_REVID=142122045
* blaze_util_windows: use some widechar Win32 APIGravatar Laszlo Csomor2016-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | In this change: - implement PrintErrorW (copy of PrintError but uses FormatMessageW) - use GetModuleFileNameW in GetSelfPath and do not worry about UNC paths, we'll automatically handle them in the future when we use widechar functions everywhere. Until then, if a path happens to have the "\\?\" prefix and that causes an error, we won't be worse off than today; today we just call `pdie` - use GetTempPathW in GetOutputRoot; in theory this might also return an UNC path but again that shouldn't be a problem - add comments for the arguments of CreateFileA and CreateProcessA calls, to make the code a bit more readable See https://github.com/bazelbuild/bazel/issues/2181 -- PiperOrigin-RevId: 142118854 MOS_MIGRATED_REVID=142118854
* Make sure that --proto_toolchain_for_cc works in the HOST configuration.Gravatar Carmi Grushko2016-12-15
| | | | | | -- PiperOrigin-RevId: 142074257 MOS_MIGRATED_REVID=142074257
* Rollback of commit 27cd7f6bb4a02f56f9ad73e57e71e69a1c00d5ea.Gravatar Adam Michael2016-12-15
| | | | | | | | | | | | *** Reason for rollback *** Rolling forward, intentionally breaking loading phase (and therefore `bazel fetch`) for android_binary in Bazel if no android_sdk_repository is set up. Will not submit until Tensorflow's use case is cleaned up in https://github.com/tensorflow/tensorflow/pull/6225. -- PiperOrigin-RevId: 142068703 MOS_MIGRATED_REVID=142068703
* Creates a new BundleLoaderProvider that propagates necessary artifacts, ↵Gravatar Sergio Campama2016-12-15
| | | | | | | | paths, etc, for test binaries (bundle binaries) to compile successfully against a bundle loader artifact. -- PiperOrigin-RevId: 142063256 MOS_MIGRATED_REVID=142063256
* I don't know why we had these but let's get rid of them.Gravatar Adam Michael2016-12-15
| | | | | | -- PiperOrigin-RevId: 142056062 MOS_MIGRATED_REVID=142056062
* Fix an analysis phase performance regression with dynamic configurations.Gravatar Greg Estren2016-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The short story is that env.valuesMissing() returns true without regard for which Skyframe evaluation missed values. In other words, given: env.getValues(missingValues); // Not all values ready. env.getValues(presentValues); // All value ready. if (env.valuesMissing()) { return null; } this returns null even if "env.getValues(presentValues)" has all its results. This doesn't have correctness consequences, but it does have (major) performance consequences, particularly in ConfiguredTargetFunction. The quick reason is that the successful call can still do useful followup work, but that gets short-circuited if the function nulls out early. See the code changes for full details. This eliminates a 30% hit on analysis time with dynamic configurations. With this change, that goes down to 0. The takeaway: ConfiguredTargetFunction is both unintuitively complex and performance-critical. C'est la vie. -- PiperOrigin-RevId: 142044069 MOS_MIGRATED_REVID=142044069
* fix declaration of Pipe variableGravatar Thiago Farina2016-12-14
| | | | | | | | | | | While at it fix a typo of "receive" and fix some other documentation comments. -- Change-Id: Ifb7df972200627730114d6cf751033c0d5e3bc46 Reviewed-on: https://cr.bazel.build/7710 PiperOrigin-RevId: 142015037 MOS_MIGRATED_REVID=142015037
* Bazel client: implement Cstring-Wstring conversionGravatar Laszlo Csomor2016-12-14
| | | | | | | | | | | | Implement conversion methods between char strings and wchar_t strings. This is necessary to use widechar Windows functions. See https://github.com/bazelbuild/bazel/issues/2181 -- PiperOrigin-RevId: 142009930 MOS_MIGRATED_REVID=142009930
* Fixing typo.Gravatar Googler2016-12-14
| | | | | | -- PiperOrigin-RevId: 141942246 MOS_MIGRATED_REVID=141942246
* Windows, JNI: build the DLL with /O2 optimizationGravatar Laszlo Csomor2016-12-14
| | | | | | -- PiperOrigin-RevId: 141939490 MOS_MIGRATED_REVID=141939490
* Make Argument factory methods public.Gravatar Nathan Harmata2016-12-13
| | | | | | -- PiperOrigin-RevId: 141920696 MOS_MIGRATED_REVID=141920696
* Record correct exit code for uncaught exceptions in async threads.Gravatar Chloe Calvarin2016-12-13
| | | | | | | | | | Async threads are divorced from the server's error-reporting mechanism. In the event of a server shutdown originating in an async-thread, write the exit code to a file that can be read by the client. -- PiperOrigin-RevId: 141920284 MOS_MIGRATED_REVID=141920284
* Fix doc typo.Gravatar Alex Humesky2016-12-13
| | | | | | -- PiperOrigin-RevId: 141916305 MOS_MIGRATED_REVID=141916305
* Enables the propagation of the XcodeVersionProperties provider for reading ↵Gravatar Sergio Campama2016-12-13
| | | | | | | | from Skylark. -- PiperOrigin-RevId: 141912220 MOS_MIGRATED_REVID=141912220
* Fix repositories to use 'BUILD.bazel' as the name for the symlinked/new ↵Gravatar John Cater2016-12-13
| | | | | | | | | | build file, which has less changes of causing conflicts. Fixes #2226. -- Change-Id: I4a378d693004d4d6857c78d7ffe886ada3fb9239 Reviewed-on: https://cr.bazel.build/7850 PiperOrigin-RevId: 141909918 MOS_MIGRATED_REVID=141909918
* Rephrase query transformation in terms of composition of QueryExpressionMappers.Gravatar Nathan Harmata2016-12-13
| | | | | | -- PiperOrigin-RevId: 141904124 MOS_MIGRATED_REVID=141904124
* Work around interrupt bug in download_and_extractGravatar Justine Tunney2016-12-13
| | | | | | | | | | | The actual issue is with the code that calls this method by way of reflection. This is a temporary work around to fix #2232. RELNOTES: An IE bug was fixed in repository_ctx.download_and_extract -- PiperOrigin-RevId: 141899395 MOS_MIGRATED_REVID=141899395
* Fix error message that gives incomplete informationGravatar Jon Brandvein2016-12-13
| | | | | | -- PiperOrigin-RevId: 141896569 MOS_MIGRATED_REVID=141896569
* Disable failing tests related to code coverage work.Gravatar John Cater2016-12-13
| | | | | | | | | | | This will silence the problems in #2227 and #2228 until the actual underlying issues can be fixed. -- Change-Id: Id2bc062104b4111bbcde8455f30059b3cb04eff6 Reviewed-on: https://cr.bazel.build/7870 PiperOrigin-RevId: 141892371 MOS_MIGRATED_REVID=141892371
* Document aar_import in Bazel.Gravatar Adam Michael2016-12-13
| | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/564. RELNOTES: aar_import rule is now documented. -- PiperOrigin-RevId: 141843994 MOS_MIGRATED_REVID=141843994
* Make Bazel android_integration_test.sh pass with NDK12.Gravatar Adam Michael2016-12-13
| | | | | | | | | | | NDK12 removed the thumb and hard armeabi cpu variants, but android_integration_test.sh still tried to build with them. Fixes https://github.com/bazelbuild/bazel/issues/2184. -- PiperOrigin-RevId: 141843012 MOS_MIGRATED_REVID=141843012
* Add a flag for disabling local fallback for actions that failed remotely.Gravatar Ola Rozenfeld2016-12-13
| | | | | | -- PiperOrigin-RevId: 141817345 MOS_MIGRATED_REVID=141817345
* Debugging flag (will rarely be used by actual users) that disables remoteGravatar Ola Rozenfeld2016-12-13
| | | | | | | | execution cache. -- PiperOrigin-RevId: 141807596 MOS_MIGRATED_REVID=141807596
* Printing the stack trace of remote failures on --verbose_failures.Gravatar Ola Rozenfeld2016-12-13
| | | | | | | | Helps debugging. -- PiperOrigin-RevId: 141802189 MOS_MIGRATED_REVID=141802189
* Propagate all providers from CcLibraryHelper into cc_proto_library.Gravatar Carmi Grushko2016-12-13
| | | | | | | | Previously, at least one critical provider was not propagated (CppCompilationContext) which resulted in cc_library's being unable to find the generated headers. -- PiperOrigin-RevId: 141800408 MOS_MIGRATED_REVID=141800408
* Add tuple() method to Skylark.Gravatar Googler2016-12-12
| | | | | | | | This method coerces any collection to a Skylark tuple, analogous to list() or set(). -- PiperOrigin-RevId: 141779268 MOS_MIGRATED_REVID=141779268
* Migrates TestEnvironmentProvider to using the new Skylark declared providers ↵Gravatar Sergio Campama2016-12-12
| | | | | | | | API. This enables creating a TestEnvironmentProvider from Skylark. -- PiperOrigin-RevId: 141775285 MOS_MIGRATED_REVID=141775285
* Fix bad bug with the parallel implementation of BinaryOperatorExpression. ↵Gravatar Nathan Harmata2016-12-12
| | | | | | | | | | | | | | Turns out that ForkJoinTask#adapt(Callable) returns a ForkJoinTask whose Future#get on error throws a ExecutionException wrapping a RuntimeException wrapping the thrown checked exception from the callable. This is documented behavior [1] that I incorrectly didn't know about. The additional level of wrapping meant that the catch-block of the parallel implementation of BinaryOperatorExpression wasn't rethrowing the InterruptedException/QueryException that the parallel task threw. The subtly in this bug is that the query expression being evaluated needs to be of the form "e1 + e2", where evaluation of "e1" throws a QueryException even in keepGoing mode (note that most of the query errors actually go through AbstractBlazeQueryEnvironment#reportBuildFileError). The test I wrote picks on LetExpression's evaluation-time (rather than e.g. parsing time) validation of the variable name. [1] https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ForkJoinTask.html#adapt(java.util.concurrent.Callable) -- PiperOrigin-RevId: 141772584 MOS_MIGRATED_REVID=141772584
* Fixed PackageLookupFunction to check for all possible build file names when ↵Gravatar John Cater2016-12-12
| | | | | | | | | | | | loading external repositories. Fixes #2198. -- Change-Id: Ife0232f8e4652a90bc3b7dceec6e67312a142879 Reviewed-on: https://cr.bazel.build/7691 PiperOrigin-RevId: 141771126 MOS_MIGRATED_REVID=141771126
* Style edits for ActionsProvider and provider constructorsGravatar Jon Brandvein2016-12-12
| | | | | | -- PiperOrigin-RevId: 141769552 MOS_MIGRATED_REVID=141769552
* Strict proto deps: .proto files are allowed to import other .proto files in ↵Gravatar Carmi Grushko2016-12-12
| | | | | | | | the same srcs as they are. -- PiperOrigin-RevId: 141604925 MOS_MIGRATED_REVID=141604925
* Sandbox should not mount directory for nonempty tree artifacts.Gravatar Adam Michael2016-12-12
| | | | | | | | | | Instead they mount the individual files. Currently, non-empty tree artifacts result in ERR_DIRECTORY_NOT_EMPTY because we attempt to mount both the directory and the files inside it. Fixes https://github.com/bazelbuild/bazel/issues/1745. -- PiperOrigin-RevId: 141599030 MOS_MIGRATED_REVID=141599030
* Add a testing Skylark module that exposes an ExecutionInfoProvider constructor.Gravatar Sergio Campama2016-12-12
| | | | | | -- PiperOrigin-RevId: 141594768 MOS_MIGRATED_REVID=141594768
* Names of extra-action protos now take into account aspect names.Gravatar Carmi Grushko2016-12-12
| | | | | | | | | | That is, if an Aspect registered an action that an extra-action is shadowing, its name will be used when creating the extra-action's ID and name. Without this change, it's impossible to analyze extra-actions when there's more than one aspected rule that acts on the same rule (e.g., java_proto_library and java_lite_proto_library on the same proto_library). -- PiperOrigin-RevId: 141587608 MOS_MIGRATED_REVID=141587608
* Description redacted.Gravatar Googler2016-12-12
| | | | | | -- PiperOrigin-RevId: 141561079 MOS_MIGRATED_REVID=141561079
* correct the executable path in script_path docsGravatar Jeff Hodges2016-12-09
| | | | | | | | | | | This confused me every time I looked it up. Thought that was working through some magic shell alias tricks until I found the files on my hard drive. Closes #2203. -- Reviewed-on: https://github.com/bazelbuild/bazel/pull/2203 PiperOrigin-RevId: 141556677 MOS_MIGRATED_REVID=141556677
* Simplify propagation of linker params by replacing global_whole_archive withGravatar Marcel Hlopko2016-12-09
| | | | | | | | individual --whole_archive/--no_whole_archive blocks. -- PiperOrigin-RevId: 141555295 MOS_MIGRATED_REVID=141555295
* Better error messaging in xcrunwrapper and environment_plist when the ↵Gravatar Chris Parsons2016-12-09
| | | | | | | | xcode/SDK pair is unavailble. -- PiperOrigin-RevId: 141554441 MOS_MIGRATED_REVID=141554441
* Fix the documentation for the "size" attribute in tests.Gravatar Philipp Wollermann2016-12-09
| | | | | | | | It wrongly stated that this only affects the timeout, however it actually affects the resources required for a test to run. -- PiperOrigin-RevId: 141546278 MOS_MIGRATED_REVID=141546278
* Remove some unused imports.Gravatar Ulf Adams2016-12-09
| | | | | | -- PiperOrigin-RevId: 141535067 MOS_MIGRATED_REVID=141535067