aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
Commit message (Collapse)AuthorAge
* 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
* 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
* Remove outdated defaultsToSelf.Gravatar gregce2017-09-12
| | | | | | Part of the static config cleanup effort. PiperOrigin-RevId: 168270713
* Drive-by clean-up: Make it slightly more obvious that one of the ↵Gravatar shreyax2017-09-12
| | | | | | | PackageFunction constructors is only used in tests and annotate the missing variable. RELNOTES: None. PiperOrigin-RevId: 168265593
* Replace referrals to options by their name to option definitions.Gravatar ccalvarin2017-09-12
| | | | | | | Now that we have a standard way of referring to an option, remove all of the places that we were referring to them by their name. Since options can have multiple names, this is more clear and provides the additional information needed to understand the option. It also stops the habit of requesting unqualified strings, which was hard to read. RELNOTES: None. PiperOrigin-RevId: 168254584
* Toolchain providers are propagated in the ToolchainContext instance madeGravatar cpeyser2017-09-12
| | | | | | available from BuildViewTestCase#getRuleContext PiperOrigin-RevId: 168231020
* Make per-file-copts part of the user_compile_flagsGravatar hlopko2017-09-12
| | | | | | | | | This cl adds flags from --per_file_copts option to 'user_compile_flags' build variable. This changes the flag order, before they appeared after unfiltered flags, now they appear before. RELNOTES: None. PiperOrigin-RevId: 168221663
* Automated rollback of commit 70f84252a0f1669564ef3c92c4adeda9b5a22f50.Gravatar ulfjack2017-09-12
| | | | | | | | | | | | | | | | *** Reason for rollback *** Introduced a UI regression. See #3534. *** Original change description *** Avoid relying on System.out/err going to the terminal Use an appropriate EventHandler instead. PiperOrigin-RevId: 168218216
* Remove the unused fallback argument from getHost() and the unused method ↵Gravatar lberki2017-09-12
| | | | | | | getPotentialSplitTransitions() from FragmentOptions. RELNOTES: None. PiperOrigin-RevId: 168218102
* Fix nocopts docsGravatar hlopko2017-09-12
| | | | | | | In https://github.com/bazelbuild/bazel/commit/ad42824ae02a1b2edbffe475246984e14af56dd0 the behavior changed, this cl just updates the documentation. RELNOTES: None. PiperOrigin-RevId: 168217183
* Automated rollback of commit f5a0b380aadf3dd976b45fd19b2dd5150ced8f41.Gravatar Googler2017-09-11
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks BEP parsing in IntelliJ (b/65521927). *** Original change description *** bep: encode file paths in URI format We need to ensure that special characters are encoded according to the URI specification RFC2396. Change-Id: Ie93cbe11a70f448d2e7bacd0bba5699ec20cac25 PiperOrigin-RevId: 168195227
* Automatic code cleanup.Gravatar cushon2017-09-11
| | | | PiperOrigin-RevId: 168141877
* Option value tracking should refer to the option definitions, not just track ↵Gravatar ccalvarin2017-09-11
| | | | | | | | | | | option name. UnparsedOptionValueDescription and OptionValueDescription both had redundant information about options, since they tracked options by their names, and not their definition. Remove the redundancy. For getEffectiveOptions, the old behavior was relying on the fact that all options were given allowmulitple=false, which was wrong, so stop passing in the default value where it would get confused with values that have been created and tracked by the options parser. Instead, passing value=null is the way to indicate that an option is unset. RELNOTES: None. PiperOrigin-RevId: 168038067
* Options with oldNames will no longer get reported twice in the effective ↵Gravatar ccalvarin2017-09-11
| | | | | | | | | | option lists. Tracking the names together for option identification was useful, but then the same list was being used as the source of options for the parser, which lead to some options being listed twice. Also complete a few tests that should have already been tested in different orders. PiperOrigin-RevId: 168024719
* ActionInputFileCache: move getMetadata to a new super-interfaceGravatar ulfjack2017-09-11
| | | | | | Update the callers that only need getMetadata to use the new interface. PiperOrigin-RevId: 167992239
* Introduce unfiltered_compile_flags build variable, rename copts variable to ↵Gravatar hlopko2017-09-11
| | | | | | | | | | | | | user_compile_flags Also add magic to a feature named 'unfiltered_compile_flags' so the flags expanded from it are not subject to nocopt filtering. This is encore of https://github.com/bazelbuild/bazel/commit/268c0bcbf79f9f3f72d95fa51af0f1b18c5ce29e that was rolled back because it regressed memory. RELNOTES: None. PiperOrigin-RevId: 167989075
* Fix style in CppModel.javaGravatar hlopko2017-09-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 167986260
* Add a new toolchain type for c++. In order to do this, ↵Gravatar cpeyser2017-09-08
| | | | | | | | 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: 167901210
* --incompatible_comprehension_variables_do_not_leak defaults to trueGravatar laurentlb2017-09-08
| | | | | | | | RELNOTES[INC]: --incompatible_comprehension_variables_do_not_leak defaults to "true." Iteration variable becomes inaccessible after a list/dict comprehension. PiperOrigin-RevId: 167876119