aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google
Commit message (Collapse)AuthorAge
* Remove unused "extraPrecomputedValues" from WorkspaceBuilder, and therefore ↵Gravatar janakr2017-09-25
| | | | | | | | remove all "precomputed values for analysis" from SkyframeExecutor. We use SkyframeExecutor#injectExtraPrecomputedValues these days. This simplifies logic around when to inject precomputed values, and makes the graph more consistent. PiperOrigin-RevId: 169733304
* Stop the transitive duplication of FilesetTraversalParams when Filesets are ↵Gravatar kush2017-09-25
| | | | | | | nested. RELNOTES: None PiperOrigin-RevId: 169723791
* Remove product name precomputed value.Gravatar janakr2017-09-25
| | | | PiperOrigin-RevId: 169723724
* Fix error-prone warning on AndroidBinaryTest.Gravatar ajmichael2017-09-25
| | | | | | | | | The test was not incorrect before, however it was unfortunate that we were both expecting an AssertionError and also throwing an AssertionError to signal that no AssertionError was thrown. RELNOTES: None PiperOrigin-RevId: 169721076
* Remove dependence on compilation attributes (e.g. 'srcs') for apple_binary ↵Gravatar cparsons2017-09-25
| | | | | | | | | and apple_static_library in objc unit tests. These attributes are deprecated and being removed. RELNOTES: None. PiperOrigin-RevId: 169720318
* Remove PrecomputedValue for BlazeDirectories. All consumers have the value ↵Gravatar janakr2017-09-25
| | | | | | | | injected directly, which makes sense, because it's immutable over the lifetime of the server. Step 3. PiperOrigin-RevId: 169717587
* Inject BlazeDirectories into RepositoryDelegatorFunction directly, instead ↵Gravatar janakr2017-09-25
| | | | | | | | of depending on a precomputed value. BlazeDirectories don't change over the lifetime of the Blaze server, and certainly not over the lifetime of a SkyframeExecutor instance, which already had a reference to them. Step 2. PiperOrigin-RevId: 169711443
* Inject BlazeDirectories into FdoSupportFunction directly, instead of ↵Gravatar janakr2017-09-25
| | | | | | | | depending on a precomputed value. BlazeDirectories don't change over the lifetime of the Blaze server, and certainly not over the lifetime of a SkyframeExecutor instance, which already had a reference to them. The goal is getting rid of the precomputed value entirely, but since this change necessitated a fair number of testing changes, I'm mailing this out as a first step. PiperOrigin-RevId: 169705474
* Create AndroidManifest.xml symlink if user provides a manifest not namedGravatar jingwen2017-09-25
| | | | | | | | | | "AndroidManifest.xml". aapt requires the manifest to be named "AndroidManifest.xml" (unknown commit) This allows users to provide manifests with custom names. RELNOTES: Android rules no longer restrict the manifest file to be named "AndroidManifest.xml". PiperOrigin-RevId: 169695062
* Use FeatureConfiguration to compute linkstamping compile command lineGravatar hlopko2017-09-25
| | | | | | | | | Before, linkstamping compile actions were hardcoded in bazel and assumed gcc/clang and bash. This cl removes gcc/clang assumptions by using feature configuration. RELNOTES: None. PiperOrigin-RevId: 169685949
* Improve style in SkylarkMutableTestGravatar brandjon2017-09-25
| | | | | RELNOTES: None PiperOrigin-RevId: 169676866
* Automated rollback of commit 17214ac78ffaec369d5d5bafe62a39730473cfaa.Gravatar dslomov2017-09-22
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolled back commit enforces stricter parameter checks. Will fix and roll forward This creates several failures on the nightly build of Bazel: ERROR: /home/ci/workspace/Global/rules_closure-node=linux-x86_64/closure/protobuf/test/BUILD:23:1: no such package '@com_google_protobuf_protoc//': Cannot convert parameter 'url' to type string or sequence of strings, in method download_and_extract(List, string, string, string, string) of 'repository_ctx' and referenced by '//closure/protobuf/test:example_proto_gen'. ERROR: Analysis of target '//closure/protobuf/test:example_lib' failed; build aborted: no such package '@com_google_protobuf_protoc//': Cannot convert parameter 'url' to type string or sequence of strings, in method download_and_extract(List, string, string, string, string) of 'repository_ctx'. *** Original change description *** Check parameter types for methods when multiple types are allowed. Fixes #3714 RELNOTES: None. PiperOrigin-RevId: 169669802
* Move SpawnResult from build.lib.exec into build.lib.actions so that e.g. ↵Gravatar ruperts2017-09-22
| | | | | | | build.lib.actions.SpawnActionContext can import SpawnResult without creating a cyclic dependency. RELNOTES: None. PiperOrigin-RevId: 169642267
* Use fail() in tests to catch missing expected exceptions.Gravatar ruperts2017-09-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 169624979
* Action for resource shrinking with aapt2Gravatar corysmith2017-09-22
| | | | | | | Introduces the ResourcesZip class to more easily handle processing merged resources. RELNOTES: None PiperOrigin-RevId: 169622715
* Add more thorough error reporting behavior for when config_setting has ↵Gravatar juliexxia2017-09-22
| | | | | | multiple constraint_values from the same constraint_setting (re: #350) PiperOrigin-RevId: 169577576
* Increase the timeout for Bazel SkylarkTests to "long"Gravatar vladmos2017-09-21
| | | | | | | | | | The tests have become large so that the default 5 minutes timeout is no longer enough for them. At the same point it doesn't look that the test requires more resources, just a longer timeout. Fixes #3774 PiperOrigin-RevId: 169532333
* Track the origin of an option in the option instance, not its final value.Gravatar ccalvarin2017-09-21
| | | | | | | | | A single instance of an option has a single origin, but the final value only has a single origin if it has a single value. For multi-valued options, it is wrong to expect that the final value of an option will have a single parent. Track the option parents (which option expanded to the current instance, if any) in the right place, with the ParsedOptionDescription. Also fix some inconsistent spelling of 'dependent,' in favor of the American English standard. RELNOTES: None. PiperOrigin-RevId: 169487515
* Deprecate wrapperOptions.Gravatar ccalvarin2017-09-21
| | | | | | | In order to discourage new uses (there shouldn't be any, but just in case), make it illegal to set wrapperOption=true for non deprecated options. RELNOTES: None. PiperOrigin-RevId: 169477990
* Cleanup of expansion option namingGravatar ccalvarin2017-09-21
| | | | | | | | | Options that expand to other options are expansion options and the options they expand to have values that were expansions. This can be a bit confusing. Removes the isExpansion() call that is somewhat ambiguous, and forces option users to explicitly check the option definition for this information. Also provide a parallel boolean function for implicit requirements, so that we stop querying for the length of the implicit requirement all over the place. RELNOTES: None. PiperOrigin-RevId: 169461566
* Allow config_settings to match on constraint_values to a target_platform. ↵Gravatar juliexxia2017-09-21
| | | | | | This is on the way to making select() work with constraint_values re: #305. PiperOrigin-RevId: 169454982
* Create multiple ParamsFilePreProcessors to allow parsing files using the ↵Gravatar apell2017-09-21
| | | | | | | formats specified in ParameterFile.ParameterFileType. Also maintain the currently used parsing style of whitespace split arguments that allows single and double quoting and whitespace and quote escaping. This style of parsing is for a format not currently generated and will be removed once all consuming actions have been converted to using a supported format explicitly. RELNOTES: None. PiperOrigin-RevId: 169437362
* This time for sure: stop using --undefined dynamic_lookup in osx linking.Gravatar Googler2017-09-21
| | | | | | | | | | For the time being, all C++ links will provide ObjC core libraries on the command line, via having the link actions imply 'contains_objc_sources', which is a built-in feature that is in the process of being enabled automatically when objective-C/C++ sources are involved in the build. Once that happens, the 'imply' directives will be removed. RELNOTES: Stop using --undefined dynamic_lookup in Apple links. Enables unresolved symbol errors. PiperOrigin-RevId: 169437020
* Delete ios_application, ios_extension(_binary), objc_binary.Gravatar allevato2017-09-21
| | | | PiperOrigin-RevId: 169428146
* Add ability to write param files to disk.Gravatar tomlu2017-09-21
| | | | PiperOrigin-RevId: 169418286
* Remove commented-out code that was accidentally checked in.Gravatar cpeyser2017-09-21
| | | | PiperOrigin-RevId: 169414076
* Only load the whitelist for Android targets if they use feature flags.Gravatar mstaib2017-09-21
| | | | | | | | | | | | | | Currently, every Android-related top-level target will use the feature flag whitelist, regardless of whether it has any feature flags. This change makes it so that these targets only load the whitelist if they need it. In the process, it moves the value of the whitelist from the attribute definition method to outside of it. Because it's a builder, this is only a minor change to each callsite. RELNOTES: None. PiperOrigin-RevId: 169405621
* Drop 32-bit architectures from builds with ios_mimimum_os > 11.0.Gravatar cparsons2017-09-21
| | | | | | | This change misses the corner case of builds which are entirely 32-bit (as opposed to mixed 32&64 bit) due to no legitimate place to report the error of such a build; execution will fail for such builds at the action level. RELNOTES: None. PiperOrigin-RevId: 169397354
* Passing Bazel metadata in gRPC headers.Gravatar olaola2017-09-21
| | | | | | TESTED=unit tests RELNOTES: none PiperOrigin-RevId: 169395919
* Remove accidental print statement.Gravatar cpeyser2017-09-20
| | | | PiperOrigin-RevId: 169386655
* Check parameter types for methods when multiple types are allowed.Gravatar dslomov2017-09-20
| | | | | | Fixes #3714 RELNOTES: None. PiperOrigin-RevId: 169382686
* Revert output groups name of cc_libraryGravatar pcloudy2017-09-20
| | | | | | | | Static libraries: cc_archive -> archive Dynamic libraries: cc_dynamic_library -> dynamic_library RELNOTES: None PiperOrigin-RevId: 169374373
* Windows: Make dynamic libraries available to binary at runtimeGravatar Yun Peng2017-09-20
| | | | | | | | | | | When copy_dynamic_libraries_to_binary is enabled, we copy the shared libraries required by the binary to the binary's directory. Bazel will throw errors if there are confilct actions generating the same artifacts. Change-Id: I09a5a599ca0ec7a67efd49d5aa89481450fa4e90 PiperOrigin-RevId: 169364498
* Colorize Clang diagnostic output when building for Apple platforms.Gravatar Googler2017-09-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 169334039
* Move ConfiguredTargetFunction dynamic config selection to its own class.Gravatar gregce2017-09-20
| | | | | | | | Also clarify the interfaces *TransitionResolver* - which determines what transition to apply to an input configuration and *ConfigurationResolver* - which determines the output configuration from that transition. PiperOrigin-RevId: 169311986
* Always pass resource filters to aaptGravatar Googler2017-09-20
| | | | | | | | | | | | | | | | | It turns out that the code to filter in analysis, based on android_ide_common, isn't as strict as aapt is. In particular, given a language filter (like 'en'), aapt rejects language and region resources (like 'en-rUS') but android_ide_common does not. We could try to just patch this behavior, but it's probably indicative of larger inconsistancies between android_ide_common and aapt. As a result, always pass resource filters to aapt. In most cases, if we already filtered in analysis, few if any resources will be filtered out by aapt, so we'll still keep most of the performance gains we expected from filtering in analysis. RELNOTES: none PiperOrigin-RevId: 169254335
* Introduce --enabled_toolchain_types, which when set to the cpp toolchain ↵Gravatar cpeyser2017-09-20
| | | | | | causes the cc_toolchain dependency of cc targets to be selected using the platforms/toolchains constraint solving system. PiperOrigin-RevId: 169250621
* Include library R classes in runtime classpath for library but not binaryGravatar Googler2017-09-20
| | | | | | | | | | In general, R classes for Android libraries are used for compilation of those libraries and then thrown away. They are replaced by the R classes from the binary. Removing the unused android_library R classes will make binaries smaller. RELNOTES: none PiperOrigin-RevId: 169244068
* CI,windows: create test_suites for Windows testsGravatar L?szl? Csomor2017-09-19
| | | | | | | | | | | | | | | Add recursive test_suite rules for all tests that ci.bazel.io runs for Windows, and set the top-level test_suite as the CI test target. Doing so shortens the command line and works around https://github.com/bazelbuild/bazel/issues/3742 I verified that the old set of tests are the same as the new set. Change-Id: Id8d5da3f0c03c9b8969a9f8e1e9a3096888365aa PiperOrigin-RevId: 169242858
* LateBoundDefault: enforce access to a single fragment (or none).Gravatar mstaib2017-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is no way to enforce that LateBoundDefaults only access the fragments that they declare. This means that LateBoundDefaults can fail to declare fragments at all, or declare the wrong ones, and still have no troubles. But when trimming, these fragments must be declared, because otherwise they will not necessarily be available. This change refactors LateBoundDefault to declare a single fragment type, not a set. All existing LateBoundDefaults use sets with a single element or no elements at all for their set of fragment classes, so this does not limit anything being done currently. To account for LateBoundDefaults which do not use configuration at all, typically those which only want to access the configured attribute map, it is possible for Void to be the fragment class which is requested. To account for LateBoundDefaults which need to access methods of the BuildConfiguration instance itself, it is possible for BuildConfiguration to be the fragment class which is requested; however, this is unsafe, so it is only a temporary state until a way to do this without also giving access to all of the fragments can be added. Drive-by refactoring: LateBoundDefaults' values are now typed. All actual production LateBoundDefaults were Label or List<Label> typed, through the LateBoundLabel and LateBoundLabelList subclasses. These subclasses have been removed, and LateBoundDefault has two type parameters, one for the type of its input, and one for the type of its output. RELNOTES: None. PiperOrigin-RevId: 169242278
* Treat parsed option values differently by option type.Gravatar ccalvarin2017-09-19
| | | | | | | | | | | | | | | | There is a vexingly large world of possible option types, each with its own quirks of how it interfaces with new inputs as they come in: values can be - overridden (default) - concatenated (allowMultiple) - flattened (allowMultiple that accepts list inputs) - disappear into additional flag inputs (expansion flags) Or some combination of the above, in the case of flags with implicit dependencies and wrapper options. Begin removing the error-prone treatment of all option types with conditional branches. This model of the different options will make it much easier to isolate the option-type specific logic with the command-line parsing logic. Flags that affect other flags (implicit requirements, expansions, and wrappers) will be migrated in a later change. This CL does not change flag parsing semantics, just migrates the current parsing logic to the new class structure. RELNOTES: None. PiperOrigin-RevId: 169239182
* Implement support for Skylark param files.Gravatar tomlu2017-09-19
| | | | PiperOrigin-RevId: 169234249
* Do not duplicate build variables, reuse variables from cc toolchainGravatar hlopko2017-09-19
| | | | | | | | | | | Before this cl each linking and compilation action would contain a full copy of all build variables. However, some build variables can be reused, for the memory consumption benefit. With this cl, we contruct a Variables instance in the CcToolchain, and make it a parent of all per-linking and per-compilation variables. RELNOTES: None. PiperOrigin-RevId: 169233756
* Add files that were droped by our export processGravatar dmarting2017-09-19
| | | | | | | | | Those files are not linked anywhere and where removed by the export process either by accident or for better support from IntelliJ. According to ij.bazel.build a non linked target will not be analyzed so it should be safe. PiperOrigin-RevId: 169229654
* Expose full compile time jars in SkylarkGravatar elenairina2017-09-19
| | | | | | | | | | | There are several use cases for using full compile time jars instead of ijars (scala macros cannot use ijar, kotlin dependencies, etc). This change allows creating a provider with or without creating interface jars for compile time, exposing the right full/interface jars on target[JavaInfo].compile_jars and target[JavaInfo].full_compile_jars. For more details see https://github.com/bazelbuild/bazel/issues/3528. Fixes #3528 RELNOTES: java_common.create_provider is now supported with creating ijars by default. This introduces incompatibilities for existing users. Please set use_ijar=False if you don't want to use ijars. PiperOrigin-RevId: 169222793
* Move RuleConfiguredTarget to lib.analysis.configuredtargets.Gravatar gregce2017-09-19
| | | | | | This is a trivial change with a large file footprint. PiperOrigin-RevId: 169169864
* ConstraintsTest: use the new mock rule interfaceGravatar gregce2017-09-19
| | | | PiperOrigin-RevId: 169163737
* Uploading failed action outputs to the remote cache, because even if the ↵Gravatar olaola2017-09-19
| | | | | | | | | tests fails, we still want to be able to download the logs and other outputs from CAS. This fixes a bug introduced by https://github.com/bazelbuild/bazel/commit/562fcf9f5dfd14daea718f77da95b43b1400689b. To reproduce: run a failing test vs a BES service, the test log would not be uploaded. TESTED=unit tests PiperOrigin-RevId: 169143428
* Move some more tests from the legacy case to the crosstool case.Gravatar cpeyser2017-09-19
| | | | PiperOrigin-RevId: 169116918
* Make desugar tests assume android-24.Gravatar ajmichael2017-09-19
| | | | | | | | | | | Previously, they assumed android-25 but Bazel CI does not have android-25 installed. In practice, these tests do not care which version is used so we should use //tools/android:defaults_jar which selects the jar based on the configuration. However, that target does not produce the jar as a runfile, it is only useful currently for neverlink compilation. RELNOTES: None PiperOrigin-RevId: 169104539