aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Remove apple_watch2_extension ruleGravatar cparsons2017-07-07
| | | | | RELNOTES: Remove apple_watch2_extension build rule. Users should be using the skylark watchos_application and watchos_extension rules. https://github.com/bazelbuild/rules_apple has details. PiperOrigin-RevId: 161079942
* Move the remote initialization code out of RemoteSpawnStrategyGravatar ulfjack2017-07-07
| | | | | | | | This is in preparation for making it use the RemoteSpawnRunner, as part of which it will no longer need to do that. Also, Java style says you shouldn't do work in the constructor, and it's better dependency injection. PiperOrigin-RevId: 161071134
* Prohibit multiple load() statements from appearing on the same lineGravatar brandjon2017-07-07
| | | | | | | | This is an incompatible change, but it's an obvious bug. RELNOTES[INC]: Fixed a bug whereby multiple load() statements could appear on the same line PiperOrigin-RevId: 161070399
* Android tests: prepare tests for parameter filesGravatar laszlocsomor2017-07-06
| | | | | | | | | | | | Prepare tests for an upcoming change where some Android actions will use a parameter file, because they expect command line flags with lists of files and the list separators don't work on Windows. See https://github.com/bazelbuild/bazel/issues/3264 RELNOTES: none PiperOrigin-RevId: 161064058
* Simplify the ActionInputFileCacheGravatar ulfjack2017-07-06
| | | | | | | | | Add a single getMetadata method (matching MetadataHandler), and rewrite everything in those terms. This is in preparation for merging ActionInputFileCache and MetadataHandler. PiperOrigin-RevId: 161053535
* Fix SkylarkDict.castSkylarkDictOrNoneToDict to return a Map.Gravatar jcater2017-07-06
| | | | PiperOrigin-RevId: 161034828
* Delete unused reuseJavaCompileActionsFromProtoLibrary.Gravatar carmi2017-07-06
| | | | | | | The flag was an unannounced roll-out flag, and nobody should have a reason to pass it manually, so no announcement is made. RELNOTES: None PiperOrigin-RevId: 161006423
* Create top-level configs dynamically: period.Gravatar gregce2017-07-06
| | | | | | | | | | | | | | | Before this change, top-level configs were still built statically, then cloned into dynamic configs to run the actual build. After this change, no static configuration should ever be created in a dynamically configured build. We're still keeping support for --experimental_dynamic_configs=off a bit longer to provide easy reversion on any bad surprises. But barring that we'll quickly move toward making --experimental_dynamic_configs=off a no-op, then ripping out Bazel's static configuration logic. PiperOrigin-RevId: 161005150
* Add a default for defaultsToSelf so dynamic transitions don't have to worry ↵Gravatar gregce2017-07-06
| | | | | | | | | | about it. This is only required because PatchTransition extends Attribute.Transition, which requires it. But it's only used for static configurations. So PatchTransition's implicit requirement is pointless and confusing. PiperOrigin-RevId: 161005131
* Remove the ToolchainConstructor class and change uses to be either aGravatar John Cater2017-07-06
| | | | | | | | | Label or a ToolchainInfo provider. Part of #2219. Change-Id: Ia09070717f54eea10e1ab0303253714b58768548 PiperOrigin-RevId: 160995546
* Fix expand_location to correctly use TransitiveInfoCollection instead ofGravatar John Cater2017-07-06
| | | | | | | | | the too-specific AbstractConfiguredTarget. Fixes #3309. Change-Id: Id614bb3b27c2ea164e4f87a4c1a9caa247f1980c PiperOrigin-RevId: 160991475
* Make 'platform_type' a mandatory attribute.Gravatar cparsons2017-07-06
| | | | | | | RELNOTES: 'platform_type' is now a mandatory attribute on apple_binary and apple_static_library rules. If this change breaks your build, feel free to add platform_type = 'ios' to any apple_binary and apple_static_library targets in your project, as this was the previous default behavior. PiperOrigin-RevId: 160989393
* Improve the ToolchainInfo provider and add more data.Gravatar John Cater2017-07-06
| | | | | | | Part of #2219. Change-Id: Ie235d0a75fc50746331b20a7f2060e6d49ae48cb PiperOrigin-RevId: 160982987
* Fix LocalRepositoryLookupFunction to normalize paths so they are compared ↵Gravatar John Cater2017-07-06
| | | | | | | | | properly. Part of #2811. Change-Id: I15da53d1f6ec7f4a41f5d14fdd9dafd5ad82f9fc PiperOrigin-RevId: 160982624
* Require LValues to have at least one variable.Gravatar laurentlb2017-07-06
| | | | | | | | | | | | In other words, we now forbid these: [] = [] () = () _, [] = f() RELNOTES[INC]: lvalues must have define at least one variable (i.e. we forbid `[] = f()`). PiperOrigin-RevId: 160981283
* Assume crosstools that don't have 'no_legacy_features' feature need patchingGravatar hlopko2017-07-06
| | | | | | | | | | | | | Right now there are 2 ways how to control crosstool patches. If there is 'no_legacy_features' feature defined, no patching will be performed. If there is not, then depending on whether any c++ action_config is defined one set of patches is applied, or other set of patches is applied. It's a mess, and in the most cases, crosstools that do not define 'no_legacy_features' need the full patching. This cl fixes the crosstools that need the partial patching. RELNOTES: Crosstool patches are only applied if the toolchain doesn't define 'no_legacy_features' feature. PiperOrigin-RevId: 160979463
* RELNOTES: Add option for Android specific grte_topGravatar Googler2017-07-06
| | | | PiperOrigin-RevId: 160974656
* Rewrite blob upload to use temporary filesGravatar ulfjack2017-07-06
| | | | | | | | | | | | | | Previously, it was allocating in-memory buffers for upload, which caused it to run out of memory on large file uploads (or on many small uploads running simultaneously). Unfortunately, we don't create the temporary file in the right location (due to separation of the BlobStore from the ByteStreamServer), so we copy the file again to write it to the OnDiskBlobStore, which isn't ideal. There'll need to be another BlobStore API change to make that work, when the InMemoryBlobStore is gone. PiperOrigin-RevId: 160974550
* Try to clarify "unaffected by subinclude," and also stop mentioning ↵Gravatar cpovirk2017-07-06
| | | | | | | subinclude :) RELNOTES: None. PiperOrigin-RevId: 160974476
* Handle problematic resource qualifiers in references to individual resourcesGravatar Googler2017-07-05
| | | | | | | | | ResourceFilter already handles problematic qualifiers in the resource_configuration_filters attribute. Also handle them in references to individual resources. RELNOTES: none PiperOrigin-RevId: 160969753
* Do not pass ruleKind from Java sandwich/aspects.Gravatar dslomov2017-07-05
| | | | | | | This gives non-sensical values in most cases. RELNOTES: None. PiperOrigin-RevId: 160959188
* Open source {workspace_layout,startup_options,option_processor}_test.Gravatar lpino2017-07-05
| | | | | | Additionally rewrite the option_processor_test to make it more flexible. PiperOrigin-RevId: 160958736
* Clean up string representations for labelsGravatar vladmos2017-07-05
| | | | | | | | | | | If --incompatible_descriptive_string_representations is passed, labels are converted to strings using `repr` differently: `Label("//package:name")` instead of `"//package:name"` This CL doesn't affect representations of other object types but provides the necessary infrastructure for it. PiperOrigin-RevId: 160955284
* Change the SimpleBlobStore API to use Input/OutputStreamsGravatar ulfjack2017-07-05
| | | | | | | This avoid having to load all the data into memory at once in most cases, especially for large files. PiperOrigin-RevId: 160954187
* Remove ide_build_info command.Gravatar dslomov2017-07-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 160951982
* Use the same data structure for native and Skylark providers.Gravatar dslomov2017-07-05
| | | | | | | | | The memory cost of adding Skylark provider is now the same as native. Skylark providers (declared and legacy) benefit from the same shape-sharing optimization as native providers. RELNOTES: None. PiperOrigin-RevId: 160944263
* Make 'load' a keywordGravatar laurentlb2017-07-05
| | | | | | | RELNOTES[INC]: `load` is now a language keyword, it cannot be used as an identifier PiperOrigin-RevId: 160944121
* blaze_util_freebsd.cc: gracefully handle server directory being NULLGravatar Klaus Aehlig2017-07-05
| | | | | | | | | | | | Gracefully handle the case that the working directory of the server process no longer exists in the file system. This happens if the directory in which bazel was called gets removed and later a directory with the same name is created; a particular such case is running bazel in integration tests. Closes #3324. PiperOrigin-RevId: 160938332
* Automated rollback of commit 480d6038905b3c8de09a362e2759fc6b8abe634c.Gravatar twerth2017-07-05
| | | | | | | | | | | | | | | *** Reason for rollback *** Breaks tests in current Blaze nightlies, see b/63296317 *** Original change description *** Add minSdkVersion optimization to Blaze. This optimization reduces the size of Android apps that use Proguard by ~0.2 - 0.3% depending on the minSdkVersion. RELNOTES: None. PiperOrigin-RevId: 160930942
* implement py_runtime ruleGravatar yiyu2017-07-05
| | | | | | | | | | * A user can use the py_runtime by `--python_top` flag, where the py_runtime can contain either: + an absolute path of a Python interpreter + a checked-in Python interpreter * A user can also use `--python_path` to point to a Python interpreter in an absolute path directly. PiperOrigin-RevId: 160901921
* Allow strings as default values of labelsGravatar vladmos2017-07-05
| | | | | | | Strings now can be passed to the default parameter of attr.label, attr.label_list, and attr.label_keyed_string_dict. PiperOrigin-RevId: 160896987
* Stop reusing gRPC stubs, that causes the deadline to be per-build rather ↵Gravatar olaola2017-07-05
| | | | | | than per-call. PiperOrigin-RevId: 160892006
* Allow the remote server to set its own default action timeout when Bazel ↵Gravatar olaola2017-07-05
| | | | | | | does not have one. Hardcoded value of 120 seconds is clearly a mistake. TESTED=remote worker PiperOrigin-RevId: 160891214
* Update SpawnAction to take an ActionEnvironmentGravatar ulfjack2017-07-05
| | | | | | | | | | Some of the callers are not using the proper one from the configuration, and are thus ignoring --action_env. Some are only using part of the configuration's action environment. I tried to carefully not change the semantics in any case. Semantic-changing changes come later. PiperOrigin-RevId: 160891204
* Forbid tabs for indentationGravatar laurentlb2017-07-05
| | | | | | RELNOTES[INC]: Using tabulation for identation is now fobidden in .bzl files PiperOrigin-RevId: 160888064
* Exposing the value of strict_java_deps flag to Skylark.Gravatar elenairina2017-07-05
| | | | | | | | | | Fixes #3295. Users requested this [1] and it is useful for example to pass it as a value to java_common.compile#strict_deps. [1] https://stackoverflow.com/questions/44827704/bazel-can-a-skylark-action-read-a-command-line-flag-strict-java-deps PiperOrigin-RevId: 160886151
* Better error handling in RemoteSpawnStrategyGravatar ulfjack2017-07-05
| | | | | | Make sure that we print the failing command / target in all cases. PiperOrigin-RevId: 160881591
* Add an on-disk storage option for the remote workerGravatar ulfjack2017-07-05
| | | | | | | | | | I'm planning to switch the remote worker over to the on-disk storage system, and delete the in-memory option. Currently, running a Bazel build with the in-memory storage system uses up over 50% of the total available memory on my machine (I only have 32 GB total), and grinds it to a complete halt (unless I close most of my apps) on a simple build of //src:bazel. PiperOrigin-RevId: 160877546
* build_windows_jni.sh: move file to subdirectoryGravatar Laszlo Csomor2017-07-05
| | | | | | | | | | | | | The script more logically belongs in src/main/native/windows than in src/main/native. Also move the //src/main/native:windows_jni rule into //src/main/native/windows:windows_jni, so the logic of building the JNI library is fully contained in that package. Change-Id: I96e19003932cc0ddc5af3471b0b31a1aec09b8fa PiperOrigin-RevId: 160876594
* Add configuration to terminal test summary, if neededGravatar aehlig2017-07-05
| | | | | | | | | | When showing the summary of test results on the terminal, for multi-configuration builds it can happen that the same label occurs twice (as the test was run for multiple configurations). In this case, also show the configuration (as mnemonics) for all tests in the summary. RELNOTES: None PiperOrigin-RevId: 160875427
* Also provide the configuration id of executed actionsGravatar Klaus Aehlig2017-07-05
| | | | | | | | | | In some cases, when the configuration is known anyway, it might help debug why an action failed. For the time being, we only report of id of the configuration without guaranteeing that details about the configuration are shown in the sream. Change-Id: I23bcad2f6407e03c7defcdd795629dfca2b1ea92 PiperOrigin-RevId: 160874546
* Rename GrpcActionCache to GrpcRemoteCacheGravatar ulfjack2017-07-05
| | | | PiperOrigin-RevId: 160872755
* Remove implicit iteration from CrosstoolGravatar hlopko2017-07-05
| | | | | | | | | | | | | | | | | Up until now we allowed implicit iteration, e.g.: flag_group { flag: '%{some_sequence_variable}' } From now on, snippet above will raise an error. We require explicit 'iterate_over' message, e.g.: flag_group { iterate_over: 'some_sequence_variable' flag: '%{some_sequence_variable}' } RELNOTES: Implicit iteration in the CROSSTOOL has been removed, use explicit 'iterate_over' message. PiperOrigin-RevId: 160871888
* Move the SimpleBlobStore and implementations to a subpackageGravatar ulfjack2017-07-05
| | | | | | | | | | Also extend the API to throw exceptions rather than having to wrap or swallow. This is in preparation for adding yet another implementation using an on-disk cache. Having the RemoteWorker keep everything in memory is not good for my sanity. PiperOrigin-RevId: 160871586
* cleanup {get,set,unset}env() functions callsGravatar Thiago Farina2017-07-05
| | | | | | | | Instead, let's reuse the cross-platform {Get,Set,Unset}Env() functions when possible. Change-Id: I40b4ff09c66fe238d5b3d70e49f91705cea64b0c PiperOrigin-RevId: 160870850
* New flag `--incompatible_checked_arithmetic` to use checked arithmetics.Gravatar laurentlb2017-07-05
| | | | | | | RELNOTES: Evaluation will soon use checked arithmetics and throw an error instead of overflow/underflow. PiperOrigin-RevId: 160834366
* BEP JSON file: omit unnecessary white spaceGravatar Klaus Aehlig2017-07-05
| | | | | | | | | To keep the build-event JSON file more compact, do not generate unnecessary white space. This also simplifies navigation through the file as now we have precisely one JSON object per line. Change-Id: I385f3f86d32f70c935e406a22234745f1d6e6515 PiperOrigin-RevId: 160832955
* Introduce --incompatible_new_actions_api flag.Gravatar dslomov2017-07-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 160831413
* Gracefully handle exceptions in java_common.default_javac_opts.Gravatar elenairina2017-07-05
| | | | | | Replacing checkNotNulls (which throws NPE) with throwing EvalExceptions in java_common, in order for blaze to output a nice error message instead of crashing. PiperOrigin-RevId: 160830397
* Fix documentation typos.Gravatar dslomov2017-07-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 160828805