aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
...
* Remove unused late-bound attributes for target and execution platforms.Gravatar jcater2017-09-15
| | | | PiperOrigin-RevId: 168703757
* Zipped LLVM multi-arch profiles is now supported.Gravatar Googler2017-09-15
| | | | | RELNOTES: None. PiperOrigin-RevId: 168703540
* BEP: Upon missing test targets, still generate a finished eventGravatar Klaus Aehlig2017-09-15
| | | | | | | | If a test command is aborted as no tests are found, still generate a BuildComplete event in the sequence of build events to properly report the exit status. Change-Id: Id811a116b309a26e67332947b3a5c66363b1ce9c PiperOrigin-RevId: 168703240
* Internal changeGravatar tomlu2017-09-15
| | | | PiperOrigin-RevId: 168699077
* Introduce "bazel help flags-as-proto" to print information about supported ↵Gravatar fwe2017-09-14
| | | | | | flags as a text protobuf. PiperOrigin-RevId: 168695297
* Only compute hostname once per server lifetimeGravatar hlopko2017-09-14
| | | | | | | | | | | | NetUtil.getShortHostName can take seconds on mac and on windows (like, 20!), since it performs reverse dns lookup. We already cached hostname for the BazelWorkspaceStatusModule, let's cache it for entire bazel server. Also make sure that users of the method understand it's cached. Fixes #3586. RELNOTES: None. PiperOrigin-RevId: 168691615
* Avoid wasting cpu/garbage formatting preconditions stringGravatar michajlo2017-09-14
| | | | | RELNOTES: None PiperOrigin-RevId: 168691489
* Implement PlatformBaseRule which describes the common settings for all ↵Gravatar juliexxia2017-09-14
| | | | | | platform-related rules PiperOrigin-RevId: 168690846
* Pass the UnparsedOptionValues when setting or adding option values.Gravatar ccalvarin2017-09-14
| | | | | | | | Stop breaking the value apart to be recombined later. Also stop using OptionValueDescriptions as though we have a final option when expanding flags for invocation policy. These values are explicitly the output from parsing the expansion strings, not yet converted or combined with other values of the same flag. After this change, only UnparsedOptionValueDescription should be used when strings of flags are parsed, and OptionValueDescription should be used when the final version of a flag is created or used. PiperOrigin-RevId: 168688063
* Implemented a check for implicitly-exported deps in android_library, and ↵Gravatar jingwen2017-09-14
| | | | | | | | | raise a warning/error depending on --experimental_allow_android_library_deps_without_srcs (defaulted to true for a warning). Previously, users of generated android_library rules with this specific attribute combination do not see the warning message because the message comes from a Skylark macro. Once this is in, users having such a rule (even in their transitive, generated dependencies) will see the warning message. RELNOTES: Deprecated: Using the android_library.deps attribute to implicitly export targets to dependent rules. If your code is using this feature, Bazel will raise a warning. To fix, please use android_library.exports to explicitly specify exported targets. Run with --experimental_allow_android_library_deps_without_srcs=false to ensure forward compatibility when this feature is removed in a future release. PiperOrigin-RevId: 168686765
* Remove duplicated error handling in build variablesGravatar hlopko2017-09-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 168683400
* Categorize C++ related optionsGravatar hlopko2017-09-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 168682943
* Consolidate the "unparsed" option value tracking.Gravatar ccalvarin2017-09-14
| | | | | | | In preparation for linking the parsed and unparsed values of options, consolidate and standardize our representation of the flag values as we received them (what is meant by "unparsed" values in this case). This was being done separately in ParseOptionResult, which, with extra context added, is being folded into UnparsedOptionValueDescription. We now track how an option was provided and where it came from for all option parsing. RELNOTES: None. PiperOrigin-RevId: 168682082
* bep: Properly URI encode file pathsGravatar buchgr2017-09-14
| | | | | | RELNOTES: The Build Event Protocol's File.uri field is now properly encoded according to RFC2396. PiperOrigin-RevId: 168674865
* Introduce -c source_file -o output_file build variablesGravatar hlopko2017-09-14
| | | | | | | | | | | | Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and -o flags. This cl removes this logic and relies on crosstool to emit these flags. This is another small step towards platform independent C++ rules. Memory use is not affected, since the build variables used by this cl are already exposed, this cl just forces crosstools to use it. RELNOTES: None. PiperOrigin-RevId: 168671507
* Windows: Adding default --python_pathGravatar Yun Peng2017-09-14
| | | | | | | | | | | On Windows, Bazel client will try to find python.exe in $PATH. If succeed, then we pretend to add a --python_path option in the least important bazelrc file. Fixed https://github.com/bazelbuild/bazel/issues/3717 Change-Id: I8d97b0895f024d8d236f3b4b39f91c41d947a5fa PiperOrigin-RevId: 168659085
* Remove deepExecRoot from BlazeDirectories. It is now the default. Also ↵Gravatar janakr2017-09-14
| | | | | | inline constructor that did ServerDirectories creation inline: don't pollute production code for tests' convenience. PiperOrigin-RevId: 168652349
* Fix minor typo in RuleClass.Builder.RuleClassType.TEST validation message.Gravatar Googler2017-09-14
| | | | | RELNOTES: None PiperOrigin-RevId: 168652131
* Open-source some more serialization codecs, and create a PrecomputedValue ↵Gravatar janakr2017-09-14
| | | | | | codec. Since PrecomputedValues can contain any value, give them access to an ObjectCodecs instance so we don't have to have a whitelist inside PrecomputedValueCodec. PiperOrigin-RevId: 168624137
* Lots more cleanup of "dynamic configurations" comments and test code.Gravatar gregce2017-09-14
| | | | PiperOrigin-RevId: 168607439
* Cleanup todo from static config removalGravatar gregce2017-09-14
| | | | PiperOrigin-RevId: 168583913
* Static config removal TODO cleanup.Gravatar gregce2017-09-14
| | | | PiperOrigin-RevId: 168583577
* Internal changeGravatar tomlu2017-09-14
| | | | PiperOrigin-RevId: 168579567
* Remove concept of "processorFlags" from Bazel.Gravatar ajmichael2017-09-14
| | | | | | | They are just normal javacopts. The only user was Android databinding, so now we just merge databindings javacopts in with the rest of javacopts in AndroidCommon. RELNOTES: None PiperOrigin-RevId: 168578013
* Introduce empty "toolchain_category" rule for labels that will be used asGravatar cpeyser2017-09-14
| | | | | | | | categories of toolchains for the purpose of toolchain selection. Up to now, we've used the native toolchain_type rule for this purpose. That rule depends on a number of configuration fragments that supply build variables - we don't want toolchains to need to depend on those fragments as well. E.g. toolchain_type depends on JvmConfiguration, but we would like toolchains to work with --experimental_disable_jvm. PiperOrigin-RevId: 168577759
* Adds the command line report protocol.Gravatar ccalvarin2017-09-14
| | | | | | | | This will be used by tools to pass Bazel their command lines, and by Bazel to report its command line(s) via the build event stream. See https://bazel.build/designs/2017/07/13/improved-command-line-reporting.html for additional context on why this is useful. This proto is intentionally vague about certain details of the command line, in order to be accommodating of future changes. However, it needs to be specific enough that it is very clear how a command line would be broken up into the different types of sections. PiperOrigin-RevId: 168576969
* Rollback context.actions.args() functionality.Gravatar tomlu2017-09-14
| | | | | | This will be rolled forward with a different API. PiperOrigin-RevId: 168566666
* Remove Path instance from Artifact.Gravatar tomlu2017-09-14
| | | | | | In the long run it would be good to remove the Path class altogether. PiperOrigin-RevId: 168560355
* Remove outdated references to static vs. dynamic configurations.Gravatar gregce2017-09-13
| | | | PiperOrigin-RevId: 168452997
* Support for local_resource_files in android_testGravatar Googler2017-09-13
| | | | | RELNOTES: none PiperOrigin-RevId: 168444499
* Remove outdated Attribute.Configurator interface.Gravatar gregce2017-09-13
| | | | | | | | With dynamic configurations we no longer need a special class to apply transitions: a simple patch transition bound to an attribute works just as well. PiperOrigin-RevId: 168442602
* Remove unused class after removal of BazelConfigurationCollection.Gravatar gregce2017-09-13
| | | | | | Also pipe keepGoing back into initial configuration creation. PiperOrigin-RevId: 168412512
* Don't allow injection of non-default output formatters for genquery rule.Gravatar janakr2017-09-13
| | | | PiperOrigin-RevId: 168406412
* Move option value tracking classes to their own file.Gravatar ccalvarin2017-09-13
| | | | | | | These classes are mostly used during the options parsing process itself, and are barely a part of the options parser interface, so they really don't belong in OptionsParser.java. They are also about to change significantly, so taking this opportunity to split them out. RELNOTES: None. PiperOrigin-RevId: 168400162
* Replace apparent endorsement for recursive globs with one for smaller BUILD ↵Gravatar Googler2017-09-13
| | | | | | | | targets. This is more in line with what I believe is considered a best practice these days. PiperOrigin-RevId: 168396725
* Documentation cleanup.Gravatar dmarting2017-09-13
| | | | PiperOrigin-RevId: 168389301
* BEP: always close stream, even if aborted due to missing testsGravatar Klaus Aehlig2017-09-12
| | | | | | | | | | If testing is requested, but no tests are found, the build is aborted. Ensure that even in this case the steam of build events is internally closed (i.e., all announced events are reported, the last event is marked as such). Change-Id: I88763ed6ccd7793deedbcb3428df7e8d289efa23 PiperOrigin-RevId: 168364127
* Fix string representations for root objectsGravatar vladmos2017-09-12
| | | | | | Root objects should not expose their absolute paths as they break hermeticity. PiperOrigin-RevId: 168363549
* bes: cancel stream on bazel shutdownGravatar buchgr2017-09-12
| | | | | | | | | | | | | | | | | Introduce a new method BuildEventTransport#closeNow() which forcefully closes the BES upload even if there are still events to upload. This is executed if the bazel server is being shutdown. The implementation in the BuildEventServiceTransport works by shutting down the ExecutorService handling the upload, which in turn will interrupt the upload thread, which in turn will cancel the streaming RPC. The BuildEventServiceTransport will wait up to 100ms for that cancellation to happen. Also fix a bug where the BES transport would not wait for ACKS. PiperOrigin-RevId: 168359947
* Delete the unused CachedLocalSpawnRunner, which is superseeded by SpawnCacheGravatar ulfjack2017-09-12
| | | | PiperOrigin-RevId: 168359681
* Merging a RunfilesSupport object into Runfiles.Builder no longer adds the ↵Gravatar Benjamin Peterson2017-09-12
| | | | | | | | | | | | | | | | | | | | | | runfiles middleman to the artifacts. Runfiles.Builder.merge(RunfilesSupport) would add the runfiles middleman of the RunfilesSupport object being merged into the artifacts of the nascent Runfiles object. This effectively made the construction of one runfiles tree depend on that of another. Instead of putting the runfiles middleman into the runfiles artifacts, we can put it into the FilesToRunProvider, which should have the same effect. To facilitate this, RuleConfiguredTargetBuilder gains a addFilesToRun method. Note that not every caller of merge(RunfilesSupport) has to be modified because some were already adding the runfiles middleman to their FilesProvider (e.g., AndroidHostServiceFixture), which is a subset of FilesToRunProvider. This is split out from https://bazel-review.googlesource.com/c/14010 Change-Id: Icfca5262a32619e1e351477f3ff641350b6798dc PiperOrigin-RevId: 168358030
* remote: Add new retrier with support for circuit breakingGravatar buchgr2017-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | Add a generic retrier implementation (Retrier2) that can be configured by plugging in a backoff strategy, a function to decide on retriable errors and a circuit breaker. A concrete implementation is added via RemoteRetrier that mostly is a copy of the code of the existing Retrier. Retrier2 adds support for circuit breaking [1]. It allows the retrier to reject execution when failure rates are high. The remote execution code will use this to gently switch between local and remote execution/caching if the latter experiences lots of failures. Retrier2 is also useful when not used with gRPC. We need retriers for the HTTP caching interface too. All the code added in this CL is unused, to keep reviews managable. In a follow up CL, I will switch the code to use the new Retrier and delete the old retrier. [1] https://martinfowler.com/bliki/CircuitBreaker.html PiperOrigin-RevId: 168355597
* Fix #3102 HtmlChart is uncoloredGravatar Andreas Hippler2017-09-12
| | | | | | Closes #3697. PiperOrigin-RevId: 168353082
* Expose sysroot as a build variableGravatar hlopko2017-09-12
| | | | | | | | | This cl removes hardcoded --sysroot flag generation from bazel when constructing command line for C++ actions. The hardcoded flag is still exposed to Skylark (to stay backwards compatible). RELNOTES: None. PiperOrigin-RevId: 168346711
* Expose output source jars to JavaInfo.Gravatar elenairina2017-09-12
| | | | PiperOrigin-RevId: 168345699
* Allow mobileInstallResourceApks to be null.Gravatar ahumesky2017-09-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 168312474
* Adds getProguardSpecsForManifest to AndroidSematics to inject proguard specs.Gravatar Googler2017-09-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 168300744
* Enable resource shrinking for aapt2.Gravatar corysmith2017-09-12
| | | | | | | First commit in series, the second will make the necessary changes to the action. RELNOTES: None PiperOrigin-RevId: 168286654
* Don't attempt LTO indexing of cc_binary if there are no bitcode inputs to link.Gravatar Googler2017-09-12
| | | | | | | | | | | The problem is that the linker will not produce the expected .params file output if there are no inputs, and there is no need for this step in that case. This required adding a method to check if there are any bitcode inputs to the link either directly or indirectly via a library. This is the same walk done by createLtoArtifacts once we decide to do an LTO indexing step. RELNOTES: NONE PiperOrigin-RevId: 168281516
* Inline CustomCommandLine methods that can be expressed using VectorArg.Gravatar tomlu2017-09-12
| | | | | | This whole CL was done using IDE refactoring tools and should be safe. PiperOrigin-RevId: 168275575