aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Enforce that there should be no RuleConfiguredTarget objects on the heap ↵Gravatar janakr2017-08-28
| | | | | | during execution when using --discard_analysis_cache. PiperOrigin-RevId: 166611136
* Add a test to ensure that the AndroidManifest.xml from an aar_import isGravatar ajmichael2017-08-28
| | | | | | | exported. RELNOTES: None PiperOrigin-RevId: 166546091
* Refactoring: OptionsParser now uses the visitor pattern to iterate over ↵Gravatar fwe2017-08-28
| | | | | | | | | Blaze options. This change is in preparation for unknown commit which also needs to iterate over all options, but has to execute a different action than getOptionsCompletion(). As a result, applying the visitor patterns helps to avoid duplicate iteration code. PiperOrigin-RevId: 166515117
* Add a new toolchain type for c++. In order to do this, ↵Gravatar cpeyser2017-08-28
| | | | | | | | PlatformConfiguration is made a legal configuration fragment for every rule class. Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests. PiperOrigin-RevId: 166509298
* Ensure our "Another command is running" messages hold realistic PIDs.Gravatar jmmv2017-08-28
| | | | | | | | | | | | | | | | | | | | Instead of blocking indefinitely for the server lock to become available when other commands are running, busy-wait for the lock to be released. This allows us to detect changes in the PID of the client that is holding the lock, and thus lets us make our wait messages more accurate. There have been multiple bug reports over time (especially from macOS users) where they complain that Bazel is stuck waiting for a non-existent PID. The code doesn't look obviously bogus, so this might just be a case of confusion based on the printed PID. By improving the diagnostic messages we output, we'll either make this confusion go away or have a chance of gathering more data when/if this happens again. This change has the side-effect of homogenizing the wait messages printed by both the Blaze client and the Blaze server and also adds details to know which component is printing what. PiperOrigin-RevId: 166508406
* Update dependency list in the installation instructionsGravatar aehlig2017-08-28
| | | | | | | | | | While it is not a clear decission what is a dependency and which programs are expected to be always there (various systems have differing opinions on this), err on the side of mentioning more. In any case zip was missing (for any system). Fixes #3578. PiperOrigin-RevId: 166489619
* Add a visitor method for statement blocks to SyntaxTreeVisitorGravatar fzaiser2017-08-28
| | | | | | | | | This allows to do an action after every statement in a block (e.g. an else-block) without having to override all visit(...) methods related to statements. RELNOTES: None PiperOrigin-RevId: 166483743
* docs,Windows: update installation docsGravatar laszlocsomor2017-08-28
| | | | | | | | | | | | | | | | In this change: - Reword text in windows.md to use active voice instead of passive voice (so it's clear who the actor is). - Update Bash script examples to use cmd.exe syntax. - Remove outdated information, such as Bazel being an msys2 binary. - Restructure list of requirements to be clearer and simpler. RELNOTES: none PiperOrigin-RevId: 166476459
* Update Bazel BUILD file to allow def_parse depend on Bazel specific targets ↵Gravatar pcloudy2017-08-28
| | | | | | from third_party. PiperOrigin-RevId: 166475827
* Make tests independent of the current state of the ↵Gravatar vladmos2017-08-28
| | | | | | incompatible_descriptive_string_representations flag PiperOrigin-RevId: 166475260
* Fix bazel srcs_testGravatar Yun Peng2017-08-28
| | | | | | | Fix: http://ci.bazel.io/blue/organizations/jenkins/CR%2Fbazel-tests/detail/bazel-tests/329/tests/ Change-Id: Id6ea60fd587c2c2922ec161f6320b03d2d379fd8
* Windows: Implementing C++ DEF parserGravatar Yun Peng2017-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++ DEF parser can generating a DEF file from a object file, which can be used to export symbols during linking DLL on Windows. This parser is based on an implementation in CMake See https://github.com/Kitware/CMake/blob/master/Source/bindexplib.cxx A few changes has been made to make it work better. Usage: output_deffile dllname [objfile ...] [input_deffile ...] [@paramfile ...] output_deffile: the output DEF file dllname: the DLL name this DEF file is used for, if dllname is not empty string (eg. ""), def_parser writes an 'LIBRARY <dllname>' entry into DEF file. objfile: a object file, def_parser parses this file to find symbols, then merges them into final result. Can apppear multiple times. input_deffile: an existing def file, def_parser merges all symbols in this file. Can appear multiple times. @paramfile: a parameter file that can contain objfile and input_deffile Can appear multiple time. Change-Id: I0ee65fa3119ecae2ea195b707af5690e4bc6a6c2
* Prepend workspace name when finding Jar path by RlocationGravatar pcloudy2017-08-25
| | | | | | | Fix https://github.com/bazelbuild/bazel/issues/3620 RELNOTES: None. PiperOrigin-RevId: 166472158
* Increase size of //src/test/shell/integration:java_integration_testGravatar Klaus Aehlig2017-08-25
| | | | | | | | | | | ...and re-enable of FreeBSD. It turns out that the timeout-flakyness was just because the CI machines weren't fast enough. Running the test 150 times showed no further timeout. Fixes #3614. Change-Id: Icdf2f91b1fe91e22117c3cf6d3fda9409d473198 PiperOrigin-RevId: 166470850
* Shard docker-testsGravatar dmarting2017-08-25
| | | | | | | | This divide the docker tests in 2 parts (with the current build file it is 6 per jobs) and each configuration can now be run on different worker. Issue bazelbuild/continuous-integration#98 PiperOrigin-RevId: 166469254
* testenv.sh,Windows: support VC BuildTools 2017Gravatar László Csomor2017-08-25
| | | | | Change-Id: I087eab43e321f99a17bbe442abdebc8711a73801 PiperOrigin-RevId: 166468950
* Fix typo in docs: "beforethis"Gravatar Rodrigo Queiro2017-08-25
| | | | | | Closes #3544. PiperOrigin-RevId: 166464371
* Add a warning to the bind() docsGravatar Rodrigo Queiro2017-08-25
| | | | | | | | | | | | This will encourage new users to avoid it, and would have helped me. At the start, I cargo-culted other projects that use bind() heavily without knowing why. Related: #1952 Closes #3608. PiperOrigin-RevId: 166464352
* Add the JAVABASE and JAVA Make variables to java_runtime_alias artifically ↵Gravatar lberki2017-08-25
| | | | | | | if --javabase= is an absolute path and thus there is no java_runtime rule to forward them from. RELNOTES: None. PiperOrigin-RevId: 166459625
* Implement field declarations for declared providers.Gravatar dslomov2017-08-25
| | | | | RELNOTES: Skylark providers can specify allowed fields and their documentation. PiperOrigin-RevId: 166446104
* Automated rollback of commit 1af9b1e2238c3b43a2b66233495ecf7b6ef4dcab.Gravatar Googler2017-08-25
| | | | | | | | | | | | *** Reason for rollback *** Reason for previous rollback was identified as being a memory regression causing some cases to hit java heap limit. Proposal is to increase java heap limit to compensate and just go with the original change. *** Original change description *** Automated rollback of commit 6cfffdf37e11018c7e6e2cabc90440d6d29c819b. PiperOrigin-RevId: 166426608
* Add missing action to processor busy boxGravatar corysmith2017-08-25
| | | | | | RELNOTES: None PiperOrigin-RevId: 166402585
* Adds -p to zipalign invocation to align stored (not compressed) .so files in ↵Gravatar ahumesky2017-08-25
| | | | | | | apks on memory page boundaries. RELNOTES: .so files in APKs will be memory-page aligned when android_binary.nocompress_extensions contains ".so" and --experimental_android_use_nocompress_extensions_on_apk is specified. PiperOrigin-RevId: 166399337
* Move option tag checks to compile time.Gravatar ccalvarin2017-08-25
| | | | | | | The rationality checks failed as RuntimeExceptions that weren't getting reported properly because the options parser is created too early in Bazel's lifetime to be reported properly to standard error. This was a minor annoyance for authors of new options, and there was nothing gained by waiting until runtime to check these values. RELNOTES: None PiperOrigin-RevId: 166395759
* Typo fix: prosess -> processGravatar jingwen2017-08-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 166385930
* Enable using a parameter for large lists of resources to link.Gravatar corysmith2017-08-25
| | | | | RELNOTES: None PiperOrigin-RevId: 166379334
* Abort stream if BuildEventServiceTransport does not wait for all ACKs.Gravatar Googler2017-08-25
| | | | | | | This change handling for when BuildEventServiceTransport would timesout waiting for pendingAcks. RELNOTES: None. PiperOrigin-RevId: 166375844
* Busybox all the Bazel Android tools.Gravatar ajmichael2017-08-25
| | | | | | | | | This change reduces the size taken up in the bazel binary by Android tools deploy jars from 38.2 mb to 9.8 mb, which is 15% of the bazel binary size. Also, some minor cleanups of our BUILD files. https://github.com/bazelbuild/bazel/issues/2385 RELNOTES: None PiperOrigin-RevId: 166373241
* Introduce enum to quickly discriminate AST nodes.Gravatar laurentlb2017-08-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 166370036
* Naming style fix for AndroidInstrumentationInfo(Provider).Gravatar dslomov2017-08-25
| | | | | RELNOTES: None. PiperOrigin-RevId: 166368143
* Refactor JavaInfo.Gravatar dslomov2017-08-25
| | | | | | | | | | Convert implementation from populating an immutable map to a set of SkylarkCallables. That saves memory and allows specifying documentation. Also properly implements equals() and hashCode(). RELNOTES: None. PiperOrigin-RevId: 166364059
* Allow generator attributes in android_libraries used as android_resourcesGravatar Googler2017-08-25
| | | | | | | These generator attributes are added by genrules or macros. android_libraries created this way should also be allowed to be used as android_resources. RELNOTES: none PiperOrigin-RevId: 166363754
* Windows: Implement Java native launcherGravatar Yun Peng2017-08-25
| | | | | | | | | | | Now Bazel build a Windows exe binary to launch JVM for java_binary and java_test. The Java native launcher is implemented with the same logic and functionalities as the original java shell stub script. Change-Id: Ida40579bce82425f3506f9376b7256aa3edc265e PiperOrigin-RevId: 166346445
* Release 0.5.4 (2017-08-25)Gravatar Bazel Release System2017-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Baseline: 6563b2d42d29196432d5fcafa0144b8371fbb028 Cherry picks: + d4fa181f8607c35230b7efa1ce94188b51508962: Use getExecPathString when getting bash_main_file + 837e1b3d4859140d29aaa6bbab8fbb008e6d701e: Windows, sh_bin. launcher: export runfiles envvars + fe9ba893c0ebec19228086356af5fa8d81f2809b: grpc: Consolidate gRPC code from BES and Remote Execution. Fixes #3460, #3486 + e8d4366cd374fba92f1425de0d475411c8defda4: Automated rollback of commit 496d3ded0bce12b7371a93e1183ba30e6aa88032. + 242a43449dd44a22857f6ce95f7cc6a7e134d298: bes,remote: update default auth scope. + 793b409eeae2b42be7fed58251afa87b5733ca4d: Windows, sh_bin. launcher: fix manifest path + 7e4fbbe4ab3915a57b2187408c3909e5cd6c6013: Add --windows_exe_launcher option + 91fb38e92ace6cf14ce5da6527d71320b4e3f3d2: remote_worker: Serialize fork() calls. Fixes #3356 + b79a9fcd40f448d3aebb2b93a2ebe80d09b38408: Quote python_path and launcher in python_stub_template_windows.txt + 4a2e17f85fc8450aa084b201c5f24b30010c5987: Add build_windows_jni.sh back + ce61d638197251f71ed90db74843b55d9c2e9ae5: don't use methods and classes removed in upstream dx RELNOTES: update dexing tools to Android SDK 26.0.1 + 5393a4996d701fa192964a35cbb75e558a0599c0: Make Bazel enforce requirement on build-tools 26.0.1 or later. + 5fac03570f80856c063c6019f5beb3bdc1672dee: Fix --verbose_failures w/ sandboxing to print the full command line + f7bd1acf1f96bb7e3e19edb9483d9e07eb5af070: Only patch in C++ compile features when they are not already defined in crosstool + d7f5c120417bc2d2344dfb285322355f225d9153: Bump python-gflags to 3.1.0, take two + 3cb136d5451e9d8af58f9a99990cad0592df101a: Add python to bazel's dockerfiles New features: - Do not disable fully dynamic linking with ThinLTO when invoked via LIPO options. Important changes: - Ignore --glibc in the Android transition. - Remove --experimental_android_use_singlejar_for_multidex. - nocopts now also filter copts - The Build Event Service (BES) client now properly supports Google Applicaton Default Credentials. - update dexing tools to Android SDK 26.0.1 - Bazel Android support now requires build-tools 26.0.1 or later. - Fix a bug in the remote_worker that would at times make it crash on Linux. See #3356 - The java_proto_library rule now supports generated sources. See #2265
* Remove "set -o pipefail" as it breaks bazel_sandboxing_test.Gravatar philwo2017-08-24
| | | | | | http://ci.bazel.io/job/bazel-tests/978/artifact/tests-node=linux-x86_64-variation=/src/test/shell/bazel/bazel_sandboxing_test/test.log/*view*/ PiperOrigin-RevId: 166345991
* Replace deprecated `set` constructor and its order names in integration testsGravatar vladmos2017-08-24
| | | | | | | The name `set` and order names "stable", "compile", "naive_link", and "link" are deprecated and will soon be removed from Blaze. PiperOrigin-RevId: 166341984
* Move compile-time checks to own package.Gravatar ccalvarin2017-08-24
| | | | | | | Didn't think it was worth it for a single file, but will be adding a processor for the UsesOnlyCoreTypes anontation as well. RELNOTES: None. PiperOrigin-RevId: 166341727
* Extract a string constant into a final field.Gravatar lberki2017-08-24
| | | | PiperOrigin-RevId: 166329484
* Trick the srcs_test to regenerate the list of sources at every change of the ↵Gravatar dmarting2017-08-24
| | | | | | | | workspace We need to declare a dependency on something that change every time the workspace change or we get false negative failure. PiperOrigin-RevId: 166327024
* Automated rollback of commit d31a944cfae27564caa7f974e0daec99314d4c44.Gravatar lberki2017-08-24
| | | | | | | | | | | | | *** Reason for rollback *** Breaks //java/com/google/commerce/tapandpay/android/app/alienfood:<things> *** Original change description *** Enable parameter files for manifest merger actions. RELNOTES: None. PiperOrigin-RevId: 166324224
* Support BUILD.bazel in the autocomplete scriptGravatar Ian Cottrell2017-08-24
| | | | | | | | This adds support for BUILD.bazel in the bash auto completion script. Closes #3604. PiperOrigin-RevId: 166317130
* Add an xcode_config_alias rule that is an alias to the current xcode_config ↵Gravatar lberki2017-08-24
| | | | | | | | | | | rule in use and expose data in XcodeConfigProvider to Skylark. This gives us a way to discover Xcode version information from Skylark in a way other than by AppleConfiguration, which in turn makes it possible to remove said data (and thus dependencies on BUILD files) from AppleConfiguration. Work towards https://github.com/bazelbuild/bazel/issues/3424 . RELNOTES: None. PiperOrigin-RevId: 166311454
* Automated rollback of commit bb0aba3e91b603bf96d4e214a3886d1f47c3d90a.Gravatar janakr2017-08-24
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Publishing duplicate build events for tests. *** Original change description *** Request test artifacts to be built in parallel with running the test. In cases where not all test artifacts are needed to run the test, this allows for greater parallelism in the build. We need to inject the request for the test to be run into the TargetCompletion function, so that it can properly process any errors. Thanks to nharmata@ for suggesting this. MEMORY: One additional Skyframe node and 2 edges for each test to be run (sharded tests still only count as one). So with 500 test target... *** PiperOrigin-RevId: 166307568
* Restore VectorArg to CustomCommandLine's public interface.Gravatar tomlu2017-08-24
| | | | | | | | This CL intends to remove 81 overloads from CustomCommandLine, replacing them with 6 overloads that operate on VectorArg. The actual inlining isn't done in this CL to make it easier to review. This CL tries to balance reducing the API contact surface area while retaining the readability and discoverability of these methods, ensuring that they will be used over methods that eagerly convert arguments to strings. PiperOrigin-RevId: 166280990
* Allow CommandLine expansion to throw an exception.Gravatar tomlu2017-08-24
| | | | | | | | | | | | | | | | | | | This paves the way for Skylark-side compact command lines that can fail during expansion. In general, expansion happens in these scenarios: * Action execution expands the command line to execute it. This is fine since we are well equipped already to handle failing actions. * In the analysis phase we expand command lines to investigate whether we need a params file. This could be moved to the execution phase, which would have the benefit of getting params files out of the action graph and saving memory. * Key computation expands the command line. This could be fixed by allowing command lines to compute their own keys (which wouldn't try to expand the command line). This could have the benefit of being more efficient. * Extra actions expand the command line to construct the extra action proto. This could maybe be deferred to the execution phase (writing the extra action), which would also be more memory efficient. For failed key computations, we return a singleton "error" key. This means multiple actions that will fail will map to the same key. These actions will necessarily fail if executed, so we should not need to worry about these ending up in the action cache. If we do manage to make the command line compute its own keys then this will become moot in the future. RELNOTES: None PiperOrigin-RevId: 166266385
* Request test artifacts to be built in parallel with running the test.Gravatar janakr2017-08-24
| | | | | | | | | In cases where not all test artifacts are needed to run the test, this allows for greater parallelism in the build. We need to inject the request for the test to be run into the TargetCompletion function, so that it can properly process any errors. Thanks to nharmata@ for suggesting this. MEMORY: One additional Skyframe node and 2 edges for each test to be run (sharded tests still only count as one). So with 500 test targets, 100K is a conservative estimate of memory usage. PiperOrigin-RevId: 166256545
* Use CustomCommandLine directly instead of via SpawnAction.Builder.Gravatar tomlu2017-08-24
| | | | | | | | | | | | | This change forces use of CustomCommandLine.Builder, which has a richer interface for constructing memory-efficient command lines. It will also permit surveying the code base for inefficient patterns using an IDE. This change was done by hand and split using Rosie to assist with rollbacks in case of bugs. Reviewers, please pay particular attention to: * Each all to addInputArgument/addOutputArgument should come with a corresponding matching pair to SpawnAction.Builder#addInput and CustomCommandLine.Builder#addExecPath (eg.). * The commandLine must be set on the SpawnAction using SpawnAction.Builder#setCommandLine. Note that most calls to addPrefixed("arg=", val) should be more idiomatically expressed as add("arg", val), but this involves changing tests and making sure that the command line tools can accept the format. PiperOrigin-RevId: 166249211
* Check at compile time that all options are declared public, and are ↵Gravatar ccalvarin2017-08-24
| | | | | | | | non-final and non-static. Remove the now redundant check in the testing framework, as the cases being tested no longer compile. Keep tests that check the contents of the OptionsBase as a whole, however, as this is still not being tested at compile time. PiperOrigin-RevId: 166239209
* Add resource filtering support for third pseudolocaleGravatar Googler2017-08-24
| | | | | | | | Apparently, there's a third pseudolocale, en-rXC. Add support for it in ResourceFilter. RELNOTES: none PiperOrigin-RevId: 166238886
* Annotate CriticalPathComputer's Subscriber methods with ↵Gravatar nharmata2017-08-24
| | | | | | | @AllowConcurrentEvents so as to allow concurrently published events to be handled concurrently. The lack of this annotation means sequential @Subscriber work is a bottleneck during the execution phase. RELNOTES: None PiperOrigin-RevId: 166235310