aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
Commit message (Collapse)AuthorAge
* Use an immutable Attribute factory in objects that are persisted to ↵Gravatar janakr2018-03-22
| | | | | | Skyframe, rather than the potentially mutable builder, and @AutoCodec SkylarkAttr.Descriptor. PiperOrigin-RevId: 190118565
* Add a DefaultBuildOptions specifying default build flags that may differ ↵Gravatar mjhalupka2018-03-22
| | | | | | from the provided defaults in Options classes. These are used to create BuildOptionsDiffForReconstruction, which lets us store only the diffs in our BuildConfigurationValue.Keys. PiperOrigin-RevId: 190117455
* Allow NestedSetCodec to share members across multiple deserializations.Gravatar cpeyser2018-03-22
| | | | | | This avoids redundancy in memory when multiple NestedSets share a member PiperOrigin-RevId: 190085907
* Create useSkylarkSemantics for @SkylarkCallable, so annotated methods can ↵Gravatar cparsons2018-03-22
| | | | | | | | | | | specifically get a semantics object This is slightly redundant with useEnvironment, yes (as one can easily obtain the semantics object with Environment), but we intend on restricting useEnvironment so that structField=true methods cannot specify useEnvironment, but *can* specify useSkylarkSemantics. In general, we can also ween off non structField methods to use useSkylarkSemantics instead of useEnvironment in cases where this is feasible. RELNOTES: None. PiperOrigin-RevId: 190082547
* Remove unused Digest class.Gravatar Googler2018-03-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 190079798
* Create AndroidManifestInfo providerGravatar asteinb2018-03-22
| | | | | | | | | This provider is the first part of the Skylark Android Data API. This provider is not yet used by the native android_* rules, and is subject to change if needed to implement the rest of the Skylark Android data API. RELNOTES: none PiperOrigin-RevId: 190078860
* Ensure -fPIC set on shared non-LTO backends as neededGravatar Googler2018-03-22
| | | | | | | | | | | | | | Set the usePicForLtoBackend bit on the link action builder when we create static link actions. Before https://github.com/bazelbuild/bazel/commit/8c5e290dfab3cab378a9ca107ecdd6267403cd4b this wasn't required for static library link actions, as the LTO backend actions weren't created until the dependent binary's link action, which set this flag for the binary static link. However, with that change, we now create shared non-LTO backend actions early, when creating the library link action, for use later when we create the binary link action. So that flag needs to be set properly on the static library link action to get the -fPIC flag set as needed on the shared non-LTO backends. RELNOTES: None PiperOrigin-RevId: 190074918
* Fix ConcurrentModificationException in memory tracker.Gravatar tomlu2018-03-22
| | | | | RELNOTES: None PiperOrigin-RevId: 190073818
* Convert SkylarkActionFactory methods to use @SkylarkCallable instead of ↵Gravatar cparsons2018-03-22
| | | | | | | @SkylarkSignature RELNOTES: None. PiperOrigin-RevId: 190073508
* Add annotation-processor verification that only one of Param.type or ↵Gravatar cparsons2018-03-22
| | | | | | | Param.allowedTypes is used. RELNOTES: None. PiperOrigin-RevId: 190070309
* RELNOTES: In int() function, do not auto-detect base if input starts with '0'.Gravatar laurentlb2018-03-22
| | | | PiperOrigin-RevId: 190069001
* Move ConfigFeatureFlagConfiguration.Options to a top-level class.Gravatar mstaib2018-03-22
| | | | | | | | This class is about to get bigger in a major way, so let's put it in its own class. This also moves the tests to their own test class, since that class is about to get a lot bigger too. RELNOTES: None. PiperOrigin-RevId: 190065717
* Add a new SandboxfsSandboxedSpawn to spawn actions using sandboxfs.Gravatar jmmv2018-03-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 190062172
* Local Disk Cache: Only write to disk if target hash doesn't already exist.Gravatar robinnabel2018-03-22
| | | | | | | | | | Under Windows, the default permissions used when writing to the local disk cache prevent the files from being overwritten. This CR adds a check: if the target file already exists, return early. This is a performance improvement and will fix the error described above as existing files will no longer need to be overwritten. Similar features have been implemented on the remote gRPC cache implementations, see bazel issue #4789. Closes #4886. PiperOrigin-RevId: 190060233
* Assume toolchain supportsDynamicLinker from presence of ↵Gravatar hlopko2018-03-22
| | | | | | | | | | | | | | | "dynamic_linking_mode" feature Toolchains no longer have to provide linking_mode_flags { mode: DYNAMIC } to state that they support dynamic linking mode. It is enough to provide a feature. This is part of ongoing work to get rid of linking_mode_flags from the CROSSTOOL. This is rollforward of https://github.com/bazelbuild/bazel/commit/3dab964407a2f1e12feb439d8507079bc06cb769. RELNOTES: None. PiperOrigin-RevId: 190059334
* Remove the --incompatible_disallow_uncalled_set_constructor flagGravatar vladmos2018-03-22
| | | | | | | | RELNOTES[INC]: The --incompatible_disallow_uncalled_set_constructor flag is no longer available, the `set` constructor` is completely removed from Skylark. Use `depset` instead. PiperOrigin-RevId: 190053331
* Deprecate BuildConfiguration.Fragment#topLevelConfigurationHook().Gravatar lberki2018-03-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 190052728
* Remove ResourceFilterFactory#getOutputDirectorySuffix().Gravatar lberki2018-03-22
| | | | | | | | | I have a bit of a PTSD wrt. output directory naming (although stritcly speaking, the trauma is not over yet...) so I'm very happy to remove functionality that reminds me of having that problem. RELNOTES: None. PiperOrigin-RevId: 190052059
* remote/http: properly support read timeoutGravatar Jakob Buchgraber2018-03-22
| | | | | | | | | | Also, remove unused SO_TIMEOUT. Fixes #4890 cc @benjaminp Closes #4895. PiperOrigin-RevId: 190051030
* Remove overloaded function in QueryEnvironmentFactoryGravatar dbabkin2018-03-22
| | | | | RELNOTES: none PiperOrigin-RevId: 190046225
* Improve error message when a persistent worker sends an unparseable response.Gravatar philwo2018-03-22
| | | | | | Fixes #4897. PiperOrigin-RevId: 190045930
* Remove the flag --incompatible_show_all_print_messagesGravatar vladmos2018-03-22
| | | | | | | | RELNOTES[INC]: The flag --incompatible_show_all_print_messages is removed. Messages generated by `print` statements from any package will be displayed as DEBUG messages. PiperOrigin-RevId: 190043451
* Remove an unused flag.Gravatar lberki2018-03-22
| | | | | | | I don't know what it *was* used for, but it sure is never writen at the moment, nor is it useful on the command line. RELNOTES: None. PiperOrigin-RevId: 190031826
* Store RuleClassType in RuleClass. Shouldn't use much more memory, and allows ↵Gravatar janakr2018-03-21
| | | | | | serialization to preserve the type when reconstituting the RuleClass. PiperOrigin-RevId: 190015323
* Clean up unnecessary "additional data" from memoizing deserialization. Since ↵Gravatar janakr2018-03-21
| | | | | | memoization is now a simple on-off switch, change semantics to have at most one memoizing frame: starting memoization is now an idempotent operation. PiperOrigin-RevId: 189993914
* Use PATH and LD_LIBRARY_PATH from the client's environment if possibleGravatar ulfjack2018-03-21
| | | | | | | | This is technically an incompatible change, but I think it's unlikely to affect a lot of users. Note that this change leaves out Windows, where we set the PATH to the server env PATH plus the MSYS root determined from the shell path. This is a cleanup, and it also makes unknown commit slightly safer. PiperOrigin-RevId: 189981959
* Introduce string.elem() method.Gravatar laurentlb2018-03-21
| | | | | | | RELNOTES[NEW]: Strings have a new .elems() method, that provides an iterator on the characters of the string. PiperOrigin-RevId: 189980269
* Update the client's skeleton logging framework to use it for --client_debug.Gravatar ccalvarin2018-03-21
| | | | | | | | | We are still unable to turn this on to write to files, but there are currently 2 logging systems in use in the client: the inactive one, and the print-to-stderr option triggered by --client_debug. Combine these, so we can use the same logging format for both. Also combine it with the VerboseLogging functionality - it was not documented anywhere and seems redundant. RELNOTES: None. PiperOrigin-RevId: 189979051
* Stop objc_proto_library from returning the generated sources.Gravatar kaipi2018-03-21
| | | | PiperOrigin-RevId: 189971511
* Automatic code cleanup.Gravatar Googler2018-03-21
| | | | PiperOrigin-RevId: 189970123
* Precompute Attribute#hashCode to remove gc churn from the Object[] ↵Gravatar nharmata2018-03-21
| | | | | | | | | allocation done by Attribute#hashCode. Attribute#hashCode is called a lot by the visitation done by e.g. Rule#getTransition. RELNOTES: None PiperOrigin-RevId: 189947421
* Memoize non-rule configured targets. This is probably a good idea in ↵Gravatar janakr2018-03-21
| | | | | | general, but especially necessary because OutputFileConfiguredTarget (which is not a RuleConfiguredTarget) contains a reference to its generating configured target, so all the optimizations needed for RuleConfiguredTarget apply to OutputFileConfiguredTarget. PiperOrigin-RevId: 189942424
* Propagating and printing server logs on demand.Gravatar olaola2018-03-21
| | | | | | | WANT_LGTM=all TESTED=RBE, unit tests RELNOTES: None PiperOrigin-RevId: 189938345
* Remove obsolete phrase about SDKs and aaptGravatar Googler2018-03-21
| | | | | | | All SDKs now have aapt2 in them. RELNOTES: None. PiperOrigin-RevId: 189935587
* Change error messaging of @SkylarkCallable invocations to match ↵Gravatar cparsons2018-03-21
| | | | | | | | | @SkylarkSignature more closely. Also clarify the method representation in these error messages is for the attempted method *call*, not the actual method signature. RELNOTES: None. PiperOrigin-RevId: 189935148
* Remove no-op flag 'incompatible_load_argument_is_label'.Gravatar laurentlb2018-03-21
| | | | | | | No relnotes, because deletion was already announced. RELNOTES: None. PiperOrigin-RevId: 189934041
* Automated rollback of commit 3dab964407a2f1e12feb439d8507079bc06cb769.Gravatar hlopko2018-03-21
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Break bazel ci. *** Original change description *** Assume toolchain supportsDynamicLinker from presence of "dynamic_linking_mode" feature Toolchains no longer have to provide linking_mode_flags { mode: DYNAMIC } to state that they support dynamic linking mode. It is enough to provide a feature. This is part of ongoing work to get rid of linking_mode_flags from the CROSSTOOL. RELNOTES: None. PiperOrigin-RevId: 189928991
* Remove support for dynamically configured resource filteringGravatar asteinb2018-03-21
| | | | | | | | | | | | Dynamically configured resource filtering was never turned on, as dynamic configuration turned out to be too slow. While we're at it, do a bit of related cleanup (remove the unused flag that controlled resource filtering in analysis, and switch from a now-two-valued enum to a boolean to specify whether resources should be filtered in analysis). RELNOTES: none PiperOrigin-RevId: 189923588
* Automated rollback of commit 67549a752c2316234b19d7b50ea84a8ae80d3669.Gravatar hlopko2018-03-21
| | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks on windows: https://www.google.com/url?sa=D&q=https%3A%2F%2Fbuildkite.com%2Fbazel%2Fgoogle-bazel-presubmit%2Fbuilds%2F624%234a68440b-948b-437b-a633-4f0595721bab *** Original change description *** Automated rollback of commit 3c5a1098af0c5ae80d4e3b1fc52dd1fef6027d43. *** Reason for rollback *** Breaks bazel ci: https://github.com/bazelbuild/bazel/issues/4894#event-1533040075 *** Original change description *** Add crosstool_lib.bzl and crosstool_utils.bzl These will be used to rewrite current crosstool autoconfiguration into action_configs and features. RELNOTES: None. PiperOrigin-RevId: 189906675
* Add behavior to NestedSetCodec to prevent it from running during testing.Gravatar cpeyser2018-03-21
| | | | PiperOrigin-RevId: 189906038
* @AutoCodec SupportData.Gravatar janakr2018-03-21
| | | | PiperOrigin-RevId: 189905795
* Automated rollback of commit 3c5a1098af0c5ae80d4e3b1fc52dd1fef6027d43.Gravatar hlopko2018-03-21
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks bazel ci: https://github.com/bazelbuild/bazel/issues/4894#event-1533040075 *** Original change description *** Add crosstool_lib.bzl and crosstool_utils.bzl These will be used to rewrite current crosstool autoconfiguration into action_configs and features. RELNOTES: None. PiperOrigin-RevId: 189901308
* NDK cc_toolchains: include bundled runtime libraries in cc_toolchain.all_filesGravatar Jingwen Chen2018-03-21
| | | | | | | | | | | | Currently, generated NDK `cc_toolchain.all_files` filegroups do not glob the STL's static and dynamic runtime libraries, which includes important files like `libandroid_support.a` and `libc++.{so, a}`. This introduces sandboxed link time errors as @steeve discovered at https://github.com/bazelbuild/bazel/issues/3923#issuecomment-372750002 This PR adds the two filegroups to the respective toolchain's `all-files` filegroup to make them part of the toolchain's output in the sandbox. This generates a BUILD.bazel file like this: https://gist.github.com/jin/7d9fcf924fa33ab8fbc4c43c97676ab3 Fixes https://github.com/bazelbuild/bazel/issues/4864 Closes #4866. PiperOrigin-RevId: 189900428
* Split PackageProvider to TargetProvider and CachingPackageLocatorGravatar dbabkin2018-03-21
| | | | | | | No need to pass instance of PackageProvider there as two more general interfaces required separately. RELNOTES:none PiperOrigin-RevId: 189895042
* Fix output_file build variable to be correct for fake compile actions.Gravatar hlopko2018-03-21
| | | | | | | | | | | | When this change is released, we can refactor compiler_output_flags feature to use output_file build variable in place of output_object_file, output_preprocess_file, and output_assembly_file for generating -o flag. We still need output_preprocess_file and output_assembly_file to add -S and -E, but we can get rid of output_object_file, and what's better we can stop caring about extension when constructing build variables for compile actions. RELNOTES: None. PiperOrigin-RevId: 189892917
* Assume toolchain supportsDynamicLinker from presence of ↵Gravatar hlopko2018-03-21
| | | | | | | | | | | | | "dynamic_linking_mode" feature Toolchains no longer have to provide linking_mode_flags { mode: DYNAMIC } to state that they support dynamic linking mode. It is enough to provide a feature. This is part of ongoing work to get rid of linking_mode_flags from the CROSSTOOL. RELNOTES: None. PiperOrigin-RevId: 189890583
* Add crosstool_lib.bzl and crosstool_utils.bzlGravatar hlopko2018-03-21
| | | | | | | | These will be used to rewrite current crosstool autoconfiguration into action_configs and features. RELNOTES: None. PiperOrigin-RevId: 189888171
* Allow android_library rule to also accept rules that provide the JavaInfoGravatar Googler2018-03-20
| | | | | | | provider as an input. RELNOTES: PiperOrigin-RevId: 189868401
* Hand-rolls EnumRuntimeCodecGravatar shahan2018-03-20
| | | | PiperOrigin-RevId: 189830623
* Bug fix to allow timeout errors for remote spawns.Gravatar Googler2018-03-20
| | | | | | TESTED=unit RELNOTES: None PiperOrigin-RevId: 189818481