aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Throws an ISE when a handler is not definedGravatar dmarting2017-09-04
| | | | | | | | | The only case this exception is thrown is when there is a bug in Bazel and we should surface the whole stacktrace. See #3664 PiperOrigin-RevId: 167492638
* Automated rollback of commit 8d6fc64b18c7e35b93f5c43dae1dbd2f8cae2147.Gravatar plf2017-09-04
| | | | PiperOrigin-RevId: 167480127
* Rename bazel-user-manual.html into user-manual.htmlGravatar dmarting2017-09-04
| | | | PiperOrigin-RevId: 167477112
* Automated rollback of commit 618a2bf3574015d1d341d59a34e4d0bf285ad5bf.Gravatar cparsons2017-09-04
| | | | | | | | | | | | | | | *** Reason for rollback *** Broke several tests in nightly. [] *** Original change description *** Rollforward #2 of "AppleBinary and AppleStaticLibrary no longer propagate unwrapped ObjcProvider", after changes made to apple bazel rules to be compatible. RELNOTES: None. PiperOrigin-RevId: 167312716
* Moves all the mobile-install related code from AndroidBinary to a separateGravatar ahumesky2017-09-04
| | | | | | | | | | | class. TESTED=Dumped the actions graph for AndroidBinary before and after the change and compared to make sure the same actions are registered, and also manually invoked mobile-install. RELNOTES: None. PiperOrigin-RevId: 167311030
* Android,Windows: use default shell env in actionsGravatar Laszlo Csomor2017-09-01
| | | | | | | | | | | | | | | | | | | | Bazel now creates all SpawnActions in AndroidBinary, AndroidCommon, and DexArchiveAspect such that they use the default shell environment. The benefit of this is that these actions will have a well-controlled, minimal environment, and most importantly they'll have valid TMP and TEMP environment variables, which is necessary for temp file creaion on Windows. I created this commit for the same reason as https://github.com/bazelbuild/bazel/commit/0abf5fa2d64c76def5a8fa0f960b73ce0566af4d See https://github.com/bazelbuild/bazel/issues/3659 Change-Id: Ice42ea6424af8984d3c382ab01727e04cbd0c1b4 PiperOrigin-RevId: 167285724
* Rolling forward Java coverage.Gravatar elenairina2017-09-01
| | | | | | | Instead of passing all the runtime jars in the environment variable, we now write them all to a file and store the file path in the env variable, jacoco runner reading the jars from there. Changes on Jacoco runner side are here: https://github.com/bazelbuild/bazel/commit/05418b33dd87d63e2653e594d462b2aedb0e22e5 RELNOTES: A new Java coverage implementation is available. Makes possible coverage for Skylark JVM rules. PiperOrigin-RevId: 167248966
* Expose ConfigFeatureFlagProvider to skylarkGravatar cparsons2017-09-01
| | | | | | | | This will be used to create thin skylark rules to allow for select() on provider values, with xcode_config_alias's XcodeProperties to be the first. This is demonstrated in XcodeConfigTest. RELNOTES: None. PiperOrigin-RevId: 167204266
* Release config_setting.flag_values from the whitelist.Gravatar mstaib2017-09-01
| | | | | | | | This feature is opening up beyond just ConfigFeatureFlags, and so should not be restricted. RELNOTES: None. PiperOrigin-RevId: 167195959
* Automated rollback of commit 964f0a5d83fe7958236c9eb0be619f553d488748.Gravatar cpeyser2017-09-01
| | | | | | | | | | | | *** Reason for rollback *** Breaks rules_go CI *** Original change description *** Bazel c++ rules depend on a c++ toolchain. PiperOrigin-RevId: 167191667
* Remove resource_extractor attribute from the android_sdk rule.Gravatar jingwen2017-09-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 167164919
* Automated rollback of commit fc41c430e4de4594a1d699f573d191cbad52a2fb.Gravatar plf2017-09-01
| | | | PiperOrigin-RevId: 167154793
* Bazel c++ rules depend on a c++ toolchain.Gravatar cpeyser2017-09-01
| | | | PiperOrigin-RevId: 167147239
* Allow non-dottedversion aliases for --xcode_versionGravatar cparsons2017-08-31
| | | | | RELNOTES: None. PiperOrigin-RevId: 167143657
* Fixes typo in proto_library docsGravatar Googler2017-08-31
| | | | | | | Add _'s in proto.transitivedescriptorsets RELNOTES: none PiperOrigin-RevId: 167139522
* Split the cycle between vfs and profiler.Gravatar philwo2017-08-31
| | | | | | | | | | - Move ProfilerInfo into a subpackage (it's not necessary for profiling, just for analyzing a profile). - Make some fields in Profiler public for ProfileInfo. - Mark Profiler as ThreadSafe; there's no cyclic dependency here. This is based on ulfjack's microbazel patch series: https://github.com/ulfjack/bazel/commit/44553fcac0fc876784d8f48c2e577d8c999712de PiperOrigin-RevId: 167121952
* Add JavaInfo as a (preferred) alias to java_common.provider.Gravatar dslomov2017-08-31
| | | | | RELNOTES: `JavaInfo` is a preferred alias to `java_common.provider`. PiperOrigin-RevId: 167116971
* Rollforward #2 of "AppleBinary and AppleStaticLibrary no longer propagate ↵Gravatar cparsons2017-08-31
| | | | | | | unwrapped ObjcProvider", after changes made to apple bazel rules to be compatible. RELNOTES: None. PiperOrigin-RevId: 167061765
* android_test binary_under_test/deps must have the same flags if any are set.Gravatar mstaib2017-08-31
| | | | | | | | | | | | | | | | | | | | | | After this CL, if the feature_flags attribute of android_test or android_binary is not set, no transition takes place when entering that rule. This means that if it is depended upon by another test or binary, it will use the enclosing test or binary's flags. This permits users of feature flags to depend on non-users of feature flags. The opposite is still not permitted. If a dep sets feature flags, then the target depending on it must have the exact same feature flags set. This way, all targets used in an android_test are built the same way, but it's possible to interoperate with targets which are agnostic to feature flags. Note that "not set" is different from "set to the empty dictionary"; the former reuses the definitions set higher up in the build graph, while the latter clears all feature flag values and resets them to their defaults. RELNOTES: None. PiperOrigin-RevId: 167035122
* Fixed typo errors in doc: s/of/off, s/tarets/targetsGravatar jingwen2017-08-31
| | | | | RELNOTES: None. PiperOrigin-RevId: 167031992
* Fix typo in idl generation mnemonic.Gravatar ajmichael2017-08-31
| | | | | RELNOTES: None PiperOrigin-RevId: 167028314
* Error reporting for invalid dynamic configurationsGravatar cparsons2017-08-31
| | | | | | | also, AppleConfiguration no longer throws NPE with invalid cpu. RELNOTES: None. PiperOrigin-RevId: 167013760
* Fix .dwo Artifact construction with ThinLTO+Fission for nativedepsGravatar Googler2017-08-30
| | | | | | | | The code in scheduleLtoBackendAction was attempting to construct the Artifact for a .dwo file when Fission is enabled by getting the related artifact via the ruleContext. This doesn't work for nativedeps files which have a shared _nativedeps/-relative library path, instead of being under the package directory. Instead, compute the .dwo path the same way we do the ThinLTO imports and index file outputs, using the linkArtifactFactory. PiperOrigin-RevId: 167002233
* Add support for Proguard's -obfuscationdictionary command line parameter ↵Gravatar Googler2017-08-30
| | | | | | | | with the new android_binary parameter "proguard_apply_dictionary". RELNOTES[NEW]: android_binary now supports proguard_apply_dictionary to specify a custom dictionary to use for choosing names to obfuscate classes and members to. PiperOrigin-RevId: 167000875
* Automated rollback of commit 9d5bce66280094c0531ddfde2752e596d0d78c79.Gravatar plf2017-08-30
| | | | PiperOrigin-RevId: 166966182
* Move ObjcProvider FLAG into a new provider type (TransitiveSourcesProvider) ↵Gravatar cpeyser2017-08-30
| | | | | | that is accessible to the c++ rules. PiperOrigin-RevId: 166934390
* Remove TODO regarding removal of a couple ObjcProvider keys.Gravatar cparsons2017-08-30
| | | | | | | it turns out these keys are still used by objc_framework, so cannot be removed. RELNOTES: None. PiperOrigin-RevId: 166895085
* Save density information to manifests when filtering resources in analysisGravatar Googler2017-08-30
| | | | | | | | | | | Previously, when filtering in analysis, density information was not passed to execution to avoid wasting time on re-filtering. However, that density information was also used to add information to the manifest. Add an additional flag to save density information to the manifest without triggering resource filtering in execution, and use it when filtering in analysis. RELNOTES: None PiperOrigin-RevId: 166891827
* Remove an obsolete TODOGravatar dmishe2017-08-30
| | | | PiperOrigin-RevId: 166889783
* Change bug tracking in TODOs for LegacyCompilationSupport deprecation.Gravatar cparsons2017-08-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 166889164
* Remove default_macosx_sdk_version (use default_macos_sdk_version only)Gravatar cparsons2017-08-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 166888780
* Narrow the LinkCommandLine API.Gravatar Googler2017-08-30
| | | | | | | | | Previously it had too many essentially identical accessors. This trims it down a bit and adjusts the call sites. This cl changes the command line passed to tests slightly - now they can possibly contain linkstamping command prepended to actual linker invocation. RELNOTES: None. PiperOrigin-RevId: 166888575
* Change TODO to reference individual instead of internal bug numberGravatar brandjon2017-08-30
| | | | | RELNOTES: None PiperOrigin-RevId: 166874734
* Rollforward of ↵Gravatar apell2017-08-29
| | | | | | | | | https://github.com/bazelbuild/bazel/commit/0071b396776be4d146fd271499716dd5dea6f7e9: Enable parameter files for manifest merger actions. NEW: Using shell quoted param files and unescape arguments in ParamsFilePreProcessor to avoid miss-processing --manifestValues arguments containing whitespace. RELNOTES: None. PiperOrigin-RevId: 166858411
* Add a new toolchain type for c++. In order to do this, ↵Gravatar cpeyser2017-08-29
| | | | | | | | 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: 166854893
* Ensure ThinLTO backend actions always generate debug info when fission enabledGravatar Googler2017-08-29
| | | | | | | | | While we don't generate .dwp files for shared libraries, the link still expects the object files to contain split debug info. Enhanced tests to ensure the cc_library LTO backend actions always have the expected outputs/build variable, regardless of linking static or not. RELNOTES: NONE PiperOrigin-RevId: 166853630
* Split "shell", "graph" into their own packages.Gravatar philwo2017-08-29
| | | | PiperOrigin-RevId: 166849610
* aar_import creates res/values/empty.xml if it contains no resources.Gravatar ajmichael2017-08-29
| | | | | | | | | To do this, add a new tool that is used instead of zipper to get the resources out of the AAR. This tool creates res/values/empty.xml if there are no resources in the AAR. Also, some general cleaning of the code. RELNOTES: None PiperOrigin-RevId: 166768607
* Missing link in docs of proto_libraryGravatar Googler2017-08-29
| | | | | RELNOTES: none PiperOrigin-RevId: 166764640
* remove reference to native "ios_framework" rule, as it no longer exists.Gravatar cparsons2017-08-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 166756809
* Automated rollback of commit 363413110f3a63a11d900864be1852adbaed2899.Gravatar cpeyser2017-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks //src/test/shell/bazel:bazel_bootstrap_distfile_test: INFO: You can skip this first step by providing a path to the bazel binary as second argument: INFO: ./compile.sh compile /path/to/bazel 🍃 Building Bazel from scratch...... 🍃 Building Bazel with Bazel. .WARNING: /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE:1: Workspace name in /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE (@io_bazel) does not match the name given in the repository's definition (@bazel_tools); this will cause a build error in future versions. ERROR: in target '//external:cc_toolchain': error loading package '@local_config_cc//': Extension file not found. Unable to load file '@local_config_cc//:dummy_toolchain.bzl': file doesn't exist or isn't a file. INFO: Elapsed time: 3.343s ERROR: Could not build Bazel Found by git bisect. *** Original change description *** Add a new toolchain type for c++. In order to do this, 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: 166750885
* Clean up after rolling out --jplNonStrictDepsLikePl.Gravatar carmi2017-08-29
| | | | | RELNOTES: None PiperOrigin-RevId: 166745722
* Clean up after rolling out --correctRollupTransitiveProtoRuntimes.Gravatar carmi2017-08-29
| | | | | RELNOTES: None PiperOrigin-RevId: 166735889
* In the config_setting arguments section, the description of the "values" arg ↵Gravatar juliexxia2017-08-29
| | | | | | | states that "This and *values* cannot both be empty" with the word *values* hyperlinking to define_values. Assuming typo(?) and changing to "This and *define_values* cannot both be empty." RELNOTES: None. PiperOrigin-RevId: 166723373
* Use CustomCommandLine directly instead of via SpawnAction.Builder.Gravatar tomlu2017-08-29
| | | | | | | | | | | | | This change forces use of CustomCommandLine.Builder, which has a richer interface for constructing memory-efficient command lines. It will also permit surveying the code base for inefficient patterns using an IDE. This change was done by hand and split using Rosie to assist with rollbacks in case of bugs. Reviewers, please pay particular attention to: * Each all to addInputArgument/addOutputArgument should come with a corresponding matching pair to SpawnAction.Builder#addInput and CustomCommandLine.Builder#addExecPath (eg.). * The commandLine must be set on the SpawnAction using SpawnAction.Builder#setCommandLine. Note that most calls to addPrefixed("arg=", val) should be more idiomatically expressed as add("arg", val), but this involves changing tests and making sure that the command line tools can accept the format. PiperOrigin-RevId: 166723076
* Remove TODO from LegacyCompilationSupport.Gravatar tomlu2017-08-29
| | | | PiperOrigin-RevId: 166722992
* Add a --output_directory_suffix command line option to facilitate the ↵Gravatar lberki2017-08-28
| | | | | | | removal of the C++ toolchain identifier from the output path. RELNOTES: None. PiperOrigin-RevId: 166705005
* Add a new toolchain type for c++. In order to do this, ↵Gravatar cpeyser2017-08-28
| | | | | | | | 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: 166509298
* Add a warning to the bind() docsGravatar Rodrigo Queiro2017-08-25
| | | | | | | | | | | | This will encourage new users to avoid it, and would have helped me. At the start, I cargo-culted other projects that use bind() heavily without knowing why. Related: #1952 Closes #3608. PiperOrigin-RevId: 166464352
* Add the JAVABASE and JAVA Make variables to java_runtime_alias artifically ↵Gravatar lberki2017-08-25
| | | | | | | if --javabase= is an absolute path and thus there is no java_runtime rule to forward them from. RELNOTES: None. PiperOrigin-RevId: 166459625