aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Migrate callsites of CppConfiguation#getCompiler, #getTargetLibc, #getCpu toGravatar cpeyser2017-11-28
| | | | | | | CcToolchainProvider. Toolchain information must be removed from CppConfiguration to allow the c++ rules to use hermetic platforms. PiperOrigin-RevId: 177163880
* Delete --experimental_use_manifest_from_resource_apk again.Gravatar ajmichael2017-11-27
| | | | | RELNOTES: None PiperOrigin-RevId: 177068047
* Automated rollback of commit a6ed4c01d374bcf98bf39c1efc12a0f4f20fe313.Gravatar elenairina2017-11-27
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks //javatests/com/google/devtools/intellij/blaze/plugin/aspect/java/soygenrule:SoyGenruleTest *** Original change description *** Create the output source jar in java_common.compile and expose transitive source jars to Skylark. Slightly refactor java classes to take in specific host javabase inputs and host java executable for creating the source jar, instead of always relying on fetching them from native java rules specific attributes. Creating the output source jar in java_common.compile makes the behavior more similar to java_library. Exposing the transitive_source_jars to Skylark helps with the Skylark migration fr... *** RELNOTES: None. PiperOrigin-RevId: 177015958
* Shape sharing for Skylark providers.Gravatar Benjamin Peterson2017-11-27
| | | | | | | | | | Add CompactSkylarkInfo, which stores its values as an array instead of a map. The space savings will probably not be dramatic because providers usually have a limited amount of keys. But, there are a lot of them! Change-Id: Idd452a5e3982f773b1c5202c73f3d7031ec022c6 PiperOrigin-RevId: 176995376
* Remove useless abstractions in C++ rules after internal cleanupGravatar hlopko2017-11-24
| | | | | RELNOTES: PiperOrigin-RevId: 176844836
* Create the output source jar in java_common.compileGravatar elenairina2017-11-24
| | | | | | | | | | | | | | | and expose transitive source jars to Skylark. Slightly refactor java classes to take in specific host javabase inputs and host java executable for creating the source jar, instead of always relying on fetching them from native java rules specific attributes. Creating the output source jar in java_common.compile makes the behavior more similar to java_library. Exposing the transitive_source_jars to Skylark helps with the Skylark migration from the old 'java' provider to JavaInfo. Progress on #2614. RELNOTES: transitive_source_jars is now exposed on JavaInfo. PiperOrigin-RevId: 176844750
* Remove usages of $singlejar in Java rules.Gravatar elenairina2017-11-24
| | | | | | The "$singlejar" attribute was removed in unknown commit. PiperOrigin-RevId: 176826579
* Remove uses of ar_flag and uses_action_config_for_arGravatar hlopko2017-11-23
| | | | | | | Bazel is not reading its value anyway. RELNOTES: None PiperOrigin-RevId: 176768851
* Fix typos in java_toolchain documentation.Gravatar eaftan2017-11-23
| | | | PiperOrigin-RevId: 176759562
* Enable aapt2 for robolectric when available.Gravatar corysmith2017-11-22
| | | | | RELNOTES: None PiperOrigin-RevId: 176700595
* Move CppConfiguration's treatment of pic, --start-lib/--end-lib, and fission toGravatar cpeyser2017-11-22
| | | | | | | | | | | CppHelper. In CppHelper, CcToolchainProvider and CppConfiguration are used sepereately, allowing toolchain information to be removed from CppConfiguration. This is necessary to introduce hermetic toolchains, which require that toolchain information be seperated from the configuration, into the c++ rules. PiperOrigin-RevId: 176694160
* Don't propagate resources when neverlink is specified and manifest is notGravatar Googler2017-11-22
| | | | | | | | | We already handle this properly in the normal case. However, when no attributes from the new implementation of resource processing are specified, we fall back to the old version, which didn't handle this. RELNOTES: none PiperOrigin-RevId: 176672081
* Move CppConfiguration#isLLVMcompiler, #isLLVMOptimizedFdo, #isLipoOptimization,Gravatar cpeyser2017-11-22
| | | | | | | | | and #getDynamicMode to CcToolchainProvider and CppHelper. Moving toolchain info out of CppConfiguration is required to use platform-based toolchain resolution in the c++ rules. PiperOrigin-RevId: 176662686
* Prevent blaze from crashing on invalid resource locations.Gravatar corysmith2017-11-22
| | | | | RELNOTES: None PiperOrigin-RevId: 176659616
* Check if win_def_file attribute exists before getting its valueGravatar Yun Peng2017-11-22
| | | | | | | | | | | Because CcProtoAspect.java also uses CcLibraryHelper.java to generate linking action, but cc_proto_library doesn't have win_def_file attribute. Fix https://github.com/bazelbuild/bazel/issues/4126 Change-Id: I1b819c926c8025a49fea756bcaeb237824cb098e PiperOrigin-RevId: 176653922
* Fix resource filteringGravatar Googler2017-11-22
| | | | | | | | The ResourceDependencies constructor takes in two NestedSet<Artifact> objects, and I was putting them in the wrong order. RELNOTES: none PiperOrigin-RevId: 176648259
* Clarify `srcs` description to make it obvious what file types are accepted.Gravatar spomorski2017-11-22
| | | | PiperOrigin-RevId: 176647103
* Improve error message when missing default_toolchain in CROSSTOOLGravatar hlopko2017-11-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 176643685
* Make genrules not understand $(JAVA) and $(JAVABASE) if ↵Gravatar lberki2017-11-22
| | | | | | | --experimental_enable_jvm_configuration_make_variables is not in effect. RELNOTES: None. PiperOrigin-RevId: 176641110
* Remove an unused method.Gravatar lberki2017-11-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 176635888
* Add system_provide attribute to cc_import ruleGravatar pcloudy2017-11-22
| | | | | | | When system_provide attribute is 1, Bazel assumes the runtime shared library is provided by system. RELNOTES: None PiperOrigin-RevId: 176632326
* Return SpawnResults using a List instead of a Set.Gravatar ruperts2017-11-21
| | | | | | | | | Currently we don't care about the list order of SpawnResults. However, we may care about the list order later. Also, if the equals() method for SpawnResults is ever changed then it may be problematic to return SpawnResults in a Set. Aside: ActionResults use SpawnResults to calculate cumulative execution times for Actions, and may provide other metrics in future. RELNOTES: None. PiperOrigin-RevId: 176579460
* Add option to enable resource cycle shrinking.Gravatar Googler2017-11-21
| | | | | | | | This will instruct AAPT2 to produce conditional keep rules to allow for more aggressive code and resource shrinking. RELNOTES[NEW]: Add --experimental_android_resource_cycle_shrinking option to allow for more aggressive code and resource shrinking. PiperOrigin-RevId: 176530749
* Remove a redundant parameter from MultiArchBinarySupport API, and remove ↵Gravatar cparsons2017-11-21
| | | | | | | | | uses of attribute-name string literals from MultiArchBinarySupport This cleanup is a step in the right direction for exposing the apple linking API to Skylark -- supports must avoid calling ruleContext.getPrerequisites with attribute-name string literals; providers and TransitiveInfoCollections should come as inputs to the API. RELNOTES: None. PiperOrigin-RevId: 176525071
* Allow conditioning flags on the _absence_ of a feature.Gravatar Googler2017-11-21
| | | | | | | | | | | | | | | This allows a flag_set to emit one flag when a feature is enabled, and a different flag when that feature is disabled. And while I was in there, I noticed and fixed a couple other issues: 1. env_set didn't actually implement with_feature, despite having the field in its proto. 2. action_config implemented with_feature as an optional field, instead of repeated field. RELNOTES: None PiperOrigin-RevId: 176510960
* Added new RuleClass flag to turn off platform support, to stop dependency ↵Gravatar John Cater2017-11-21
| | | | | | | | | cycles when loading platforms. Part of #4128. Change-Id: Ie55a91aaaec15d8eb537f59131fc2e69a8f9c251 PiperOrigin-RevId: 176509311
* Change Platform.remoteExecutionProperties to be a String, not a dict.Gravatar John Cater2017-11-21
| | | | | | | | | | This is needed for the ability to synthesize the correct remote execution protos from a platform rule. Part of #4128. Change-Id: I7fa8acf45642a4df4e2beb1ba9c57c2536670486 PiperOrigin-RevId: 176504885
* Update AndroidConfiguration to reflect changesGravatar Googler2017-11-21
| | | | | RELNOTES: none PiperOrigin-RevId: 176496770
* SOURCE_DATE_EPOCH environment variable override the timestampGravatar Damien Martin-Guillerez2017-11-21
| | | | | | | | | | | | | | | | | | | | This is applying the version 1.1 of the specification (https://reproducible-builds.org/specs/source-date-epoch/) where the only timestamp that Bazel puts in the final targets is overridden by the value of SOURCE_DATE_EPOCH. This change also remove the legacy SOURCE_DATE_EPOCH handling which wasn't really following the spec. Note that Bazel itself tries hard to remove all timestamps from intermediary binaries and overridde SOURCE_DATE_EPOCH in most action, which is a not according to the version 1.0 of the spec but according to the expected change for version 1.1. RELNOTES: SOURCE_DATE_EPOCH (https://reproducible-builds.org/specs/source-date-epoch/) can be used to override the timestamp used for stamped target (when using --stamp). Fixes #2240. Change-Id: I074e7905fa6745cc706f7391340aeae9188909ca PiperOrigin-RevId: 176489717
* Fixed typo in ApkProvider: s/coverageMetdata/coverageMetadataGravatar jingwen2017-11-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 176423487
* Remove experimental flags for generating robolectric R class.Gravatar Googler2017-11-20
| | | | | RELNOTES: none PiperOrigin-RevId: 176405273
* CcProtoLibrary: Don't add dynamic librarys to filesToBuild on WindowsGravatar Yun Peng2017-11-20
| | | | | | | https://github.com/bazelbuild/bazel/issues/3985 Change-Id: Ib566103e147219122b3f745a98ad30db5f27553f PiperOrigin-RevId: 176365079
* PiperOrigin-RevId: 176356590Gravatar lpino2017-11-20
|
* Change default behavior for cc_toolchain.compiler and cc_toolchain.libc forGravatar cpeyser2017-11-18
| | | | | | | | platform-based toolchain selection to match legacy behavior. This is a change over previous behavior in the platform case, which was to throw if either of those attributes is not present. The default_toolchain field in CROSSTOOL gives a mapping from cc_toolchain.cpu values to toolchains - this map should be used with compiler and libc are not specified, as is currently the non-platforms, legacy behavior. PiperOrigin-RevId: 176246316
* Convert JavaToolchainProvider to a concrete class, and a subclass of ↵Gravatar jcater2017-11-17
| | | | | | ToolchainInfo. PiperOrigin-RevId: 176117866
* Add cc_import rule definitionGravatar Yun Peng2017-11-17
| | | | | | | | Designed by https://docs.google.com/document/d/1hK2mWl3TYNL9oJYX_S020TKkXZvBw1aBoYERvTHVyfg/edit# Change-Id: I025adf555a9827c55a90acc3f254cbd105e224c6 PiperOrigin-RevId: 176114968
* Support incremental dexing tools in proguarded Android buildsGravatar kmb2017-11-17
| | | | | | RELNOTES: None. PiperOrigin-RevId: 176109497
* Document --build_python_zip optionGravatar pcloudy2017-11-17
| | | | | RELNOTES: None PiperOrigin-RevId: 176085426
* Deletes unused apk manifest.Gravatar ahumesky2017-11-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 176025413
* Build databinding annotation processor in host configuration.Gravatar ajmichael2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, add a fake databinding processor target. Bazel users will need to do something like this: # WORKSPACE local_repository( name = "databinding", path = "./databinding", ) bind( name = "databinding_annotation_processor", actual = "@databinding//:annotation_processor", ) # databinding/BUILD java_plugin( name = "annotation_processor", ... ) ... https://github.com/bazelbuild/bazel/issues/2694 RELNOTES: None PiperOrigin-RevId: 175975110
* Stop adding data deps to AndroidDeployInfo proto.Gravatar ajmichael2017-11-15
| | | | | | | This is not used by ASwB, and it also doesn't make sense to live in AndroidBinary since android_binary does nothing with it's data deps and they should be removed (b/69371443). RELNOTES: None PiperOrigin-RevId: 175877850
* Add experimental flag to skip the parsing action if using aapt2.Gravatar Googler2017-11-15
| | | | | RELNOTES: none PiperOrigin-RevId: 175866310
* Refactor the representation of a collection of package specificationsGravatar cushon2017-11-15
| | | | PiperOrigin-RevId: 175832159
* Save dwoFile on LTOBackendArtifacts objectGravatar Googler2017-11-14
| | | | | | | | | This is some clean up pulled out of unknown commit. It avoids needing to reconstruct the dwoFile, which will be harder when we move to using shared LTO backends in some cases. RELNOTES: None PiperOrigin-RevId: 175692708
* Move CppConfiguration#getBuiltinIncludeDirectories to CcToolchainProvider.Gravatar cpeyser2017-11-14
| | | | PiperOrigin-RevId: 175682806
* Add win_def_file attribute to cc rules.Gravatar Yun Peng2017-11-14
| | | | | | | | RELNOTES[NEW]: Users can use win_def_file attribute to specify a DEF file for exporting symbols when build a shared library on Windows. Change-Id: Ifa28d8b7b24eaefcefc9640d8dc56fd2931e9688 PiperOrigin-RevId: 175651203
* Automated rollback of commit 10b0d8aa6b73a024cc007c5e075cb329add878ef.Gravatar lberki2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Google-internal targets, sadly. *** Original change description *** Ban middlemen from runfiles artifacts. Previous changes have removed all middlemen from runfiles artifacts. This CL locks it down and removes various now-redundant *WithoutMiddlemen() methods from Runfiles. I put a check for middlemen in ConflictChecker.put, which should be a chokepoint for runfiles artifacts. It's unfortunate we can't detect middlemen earlier than execution, but I can't see a way to efficiently check every runfiles artifact earlier. Cha... *** RELNOTES: None. PiperOrigin-RevId: 175650018
* RELNOTES: NoneGravatar dannark2017-11-13
| | | | PiperOrigin-RevId: 175630707
* Open source ZipFilterBuilder for android_instrumentation_testGravatar jingwen2017-11-13
| | | | | | | GITHUB: #903 RELNOTES: None. PiperOrigin-RevId: 175600267
* objc_bundle_library uses the single-arch platform type instead of ↵Gravatar cparsons2017-11-13
| | | | | | | incorrectly using multi-arch iOS RELNOTES: None. PiperOrigin-RevId: 175579695