aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Victory lap: Remove all code that used to support the three-argument form of ↵Gravatar lberki2018-03-23
| | | | | | | vardef(). RELNOTES: None. PiperOrigin-RevId: 190196933
* Remove RuleClass.Builder#depsCfg().Gravatar lberki2018-03-23
| | | | | | | The only user of it was Android resource trimming, which just got deleted. RELNOTES: None. PiperOrigin-RevId: 190193627
* Detect main dex list entries that will be missingGravatar kmb2018-03-22
| | | | | | RELNOTES: None. PiperOrigin-RevId: 190154101
* Convert several SkylarkAttr methods to use @SkylarkCallable instead of ↵Gravatar cparsons2018-03-22
| | | | | | | @SkylarkSignature RELNOTES: None. PiperOrigin-RevId: 190129404
* Add AndroidManifest and related classes for new manifest merging implementationGravatar asteinb2018-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | AndroidManifest represents a new class to handle decoupled Android manifest processing (as opposed to the existing ApplicationManifest, which handles manifests, resources, and assets all together). This new manifest processing pipeline will be used by the Skylark Android Data API. AndroidManifest wraps the manifest and related information, so we don't just pass around untyped Artifacts all the time. Additionally, the StampedAndroidManifest subclass explicitly states that a manifest has been stamped with the correct package (previous confusion between passing around the stamped and unstamped manifests has led to bugs in Blaze). Unlike the old manifest processing pipeline, AndroidManifest: - Does not support the old legacy manifest merger - Is decoupled from resource and asset processing - Does incremental merges - Always has the package defined at analysis time - Can be run without an input manifest (for rules which don't specify their own manifest but either inherit manifests that should be merged or to provide a dummy manifest for tooling) RELNOTES: none PiperOrigin-RevId: 190119992
* 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
* Make ManifestMergerAction able to not take a primary manifestGravatar asteinb2018-03-22
| | | | | | | | | This is the only difference in action implementation required for the new Skylark Android Data API design. Even if rules have resources or assets, after this API is adopted, they will no longer have to specify a primary manifest. Instead, a dummy manifest will be generated (either to merge with dependency manifests, or for use by IDEs if there are no dependency manifests). Support this in the ManifestMergerAction by supporting not having a --manifest value passed. RELNOTES: None PiperOrigin-RevId: 190095623
* 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
* 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
* Forward deps artifacts from FeatureFlagSetterRule.Gravatar mstaib2018-03-22
| | | | | | | This is helpful for testing the behavior of rules underneath the flag setter without going around Bazel internals. RELNOTES: None. PiperOrigin-RevId: 190064449
* Add a new SandboxfsSandboxedSpawn to spawn actions using sandboxfs.Gravatar jmmv2018-03-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 190062172
* 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
* Readd SkylarkCcToolchainConfigureTest after fixGravatar hlopko2018-03-22
| | | | | | | This is "rollforward" of unknown commit. RELNOTES: None. PiperOrigin-RevId: 190055662
* 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
* 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 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
* 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
* Stop objc_proto_library from returning the generated sources.Gravatar kaipi2018-03-21
| | | | PiperOrigin-RevId: 189971511
* Increase the timeout of SkylarkTests, which should make it no longer flaky.Gravatar cparsons2018-03-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 189949312
* Propagating and printing server logs on demand.Gravatar olaola2018-03-21
| | | | | | | WANT_LGTM=all TESTED=RBE, unit tests RELNOTES: None PiperOrigin-RevId: 189938345
* 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
* Manual rollback of ↵Gravatar hlopko2018-03-21
| | | | | | | https://github.com/bazelbuild/bazel/commit/5cee7f4afbadf8f463b33cf47dcd2fde096c6a4b#diff-76ac2009811ac59b4f76dcfb6d17be2b RELNOTES: None. PiperOrigin-RevId: 189917189
* 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
* 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
* 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
* Mark //src/test/java/com/google/devtools/build/lib/skylark:SkylarkTests as ↵Gravatar ruperts2018-03-20
| | | | | | | flaky. RELNOTES: None. PiperOrigin-RevId: 189833678
* Bug fix to allow timeout errors for remote spawns.Gravatar Googler2018-03-20
| | | | | | TESTED=unit RELNOTES: None PiperOrigin-RevId: 189818481
* Add EnumMapCodec. Some hackery necessary to get Class for Enum when map is ↵Gravatar janakr2018-03-20
| | | | | | | | | | empty. Since EnumMap.equals() ignores the key type when the maps are empty [1], we could just return a canonical empty EnumMap, but that seems to depend on implementation details in a hacky and potentially subtly broken way. The Unsafe method will hopefully break spectacularly if it goes wrong. [1] http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/EnumMap.java#l685 PiperOrigin-RevId: 189803280
* Force @SkylarkCallable Params with defaultValue = "None" to be noneable.Gravatar cparsons2018-03-20
| | | | | | | | Previously, usage was fairly inconsistent. From now on, if the @Param is mandatory, use defaultValue = "" instead. RELNOTES: None. PiperOrigin-RevId: 189777905
* Add ability to shallow-freeze individual objectsGravatar brandjon2018-03-20
| | | | | | | | | Clarify that the IMMUTABLE Mutability should only be used for deeply immutable things, not tuples. Created a new SHALLOW_IMMUTABLE Mutability for them. Note that the new shallow-freezing functionality marks things as deeply IMMUTABLE without traversing its contents. I.e., it lies, and it is up to the caller to ensure this doesn't cause problems. RELNOTES: NONE PiperOrigin-RevId: 189767422
* Allow path options to use user specific pathsGravatar David Ostrovsky2018-03-20
| | | | | | | | | | | | | | | | | | | | | Fixes #2054. Allow users to be able to specify user specific paths. With this option we can now commit bazel configuration file and force local action cache activation per default: $ cat tools/bazel.rc build --experimental_local_disk_cache_path=~/.gerrit/bazel-cache/cas build --experimental_local_disk_cache build --experimental_strict_action_env Test Plan: $ bazel test //src/test/java/com/google/devtools/build/lib:util_test Closes #4852. PiperOrigin-RevId: 189744599
* Have the Android R class generators add the target label to the class jar.Gravatar tomlu2018-03-20
| | | | | | | This re-enables support for add_deps. RELNOTES: None PiperOrigin-RevId: 189737607
* Automated rollback of commit 72d28f3efc2842510a34cacd930c0204143f7412.Gravatar shreyax2018-03-19
| | | | | | | | | | | | | | | | | | | | | | | | Fix skylark caching to properly include transitive dependencies when there is a diamond-like dependency in the loaded bzl files. Also add guards to make sure we're not attempting to cache skylark files that transitively request a dependency that is in error. *** Reason for rollback *** Looking for source of non-determinism *** Original change description *** Automated rollback of commit 7ba939dfd5df48903929e9c14ebd0449656403e4. *** Reason for rollback *** Likely cause for non-determinism in skyframe *** Original change description *** Cache SkylarkLookupImportValues in memory so that we don't recompute them multiple times. PiperOrigin-RevId: 189686604
* Automated rollback of commit e6af9f9178e731a45e552b1d249ded90124945ba.Gravatar janakr2018-03-19
| | | | | | | | | | | | *** Reason for rollback *** See linked bug. *** Original change description *** Add behavior to NestedSetCodec to prevent it from running during testing. PiperOrigin-RevId: 189663863
* Use ConfiguredTargetAndData in some android tests and pass in the target ↵Gravatar janakr2018-03-19
| | | | | | configuration in getImplicitOutputArtifact. PiperOrigin-RevId: 189654578
* Add some testing methods to get ConfiguredTargetAndData more easily, and ↵Gravatar janakr2018-03-19
| | | | | | rename some methods that were still called ConfiguredTargetAndTarget. Move some tests over to using ConfiguredTargetAndData instead of calling ConfiguredTarget#getConfiguration() directly. PiperOrigin-RevId: 189642264