aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Moved all external calls to isDataEnabled to DataBindingContext and made it ↵Gravatar corysmith2018-08-03
| | | | | | | private. RELNOTES: None PiperOrigin-RevId: 207335684
* Reduce and centralize databinding context instances.Gravatar corysmith2018-08-03
| | | | | | | Due to some of the vagaries of skylark and multiple entry points, the databinding context is currently updated by the parse action. RELNOTES: None PiperOrigin-RevId: 207333111
* Introduce the DataBindingContext interface as part of centralizing the data ↵Gravatar corysmith2018-08-03
| | | | | | | binding processing pipeline. RELNOTES: None PiperOrigin-RevId: 207312398
* Update config_setting to get the target platform from the ToolchainContext.Gravatar John Cater2018-08-03
| | | | | | | Closes #5746. Change-Id: Ib5946d405bf22af131f9dbd7b93393958b0848b4 PiperOrigin-RevId: 207261030
* Polish archiver_flags feature to behave better with the toolchain apiGravatar hlopko2018-08-03
| | | | | | | With this fix we can get archiver flags from the Skylark API to the C++ toolchain even when we don't pass output_file RELNOTES: None. PiperOrigin-RevId: 207248839
* C++: Change Skylark API whitelisting to be part of flag.Gravatar plf2018-08-03
| | | | | | | | This uses SkylarkSemantics now instead of the C++ configuration. The flag is: --experimental_cc_skylark_api_enabled_packages RELNOTES:none PiperOrigin-RevId: 207235431
* Keep the analysis cache between builds when only trimmed test options change.Gravatar mstaib2018-08-02
| | | | | | | | | | | | | | | | | | | | When --trim_test_configuration is on and the only options which have changed are from the (trimmed) TestOptions (not counting trim_test_configuration itself), preserve the analysis cache rather than dropping it all. This means that as long as no non-test options change, non-test rules will not need to be reanalyzed. This also applies to test rules which were analyzed with this configuration since the last time non-test options changed. For example: --test_arg=A //test (//test and its dependencies are analyzed) --test_arg=B //test (only //test is reanalyzed) --test_arg=A //test (no reanalysis needed) --test_arg=A --define=Test=A //test (full reanalysis) --test_arg=A //test (full reanalysis) RELNOTES: None. PiperOrigin-RevId: 207105915
* BEGIN_PUBLICGravatar cushon2018-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | Internal change END_PUBLIC Automated rollback of commit 81a2dddbcfd4a9c7ea9c664195f2f44ae8abeb55. *** Reason for rollback *** fix forward *** Original change description *** Automated rollback of commit 75810d5910073aa7a1550bbd36544971f3c95ae1. *** Reason for rollback *** [] *** Original change description *** Remove the gen_jars output group RELNOTES: Removed the gen_jars output group PiperOrigin-RevId: 207099489
* Return Java providers only onceGravatar elenairina2018-08-02
| | | | | | | through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 207068520
* Add builtin include directories to action key for CppCompileActionGravatar hlopko2018-08-01
| | | | | | | | Since builtin include directories affect validation, they have to be part of the action key. RELNOTES: None. PiperOrigin-RevId: 206960988
* Automated rollback of commit 15b27e46ad766e777fb898f39bff06efa9268c2a.Gravatar Googler2018-08-01
| | | | | | | | | Keep the usage of Streams in place. Keep the test in place, updated it with the new expected values. Only removed the neverlink filter. RELNOTES: none. PiperOrigin-RevId: 206951071
* Automated rollback of commit 75810d5910073aa7a1550bbd36544971f3c95ae1.Gravatar twerth2018-08-01
| | | | | | | | | | | | | *** Reason for rollback *** [] *** Original change description *** Remove the gen_jars output group RELNOTES: Removed the gen_jars output group PiperOrigin-RevId: 206921241
* Automated rollback of commit 38899f708923d6a7e1edd011af2ba70f505bb4c9.Gravatar twerth2018-08-01
| | | | | | | | | | | | | | | *** Reason for rollback *** Necessary for [] *** Original change description *** Return Java providers only once through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 206915058
* Remove the need for discoverInputsStage2(). Much like every other SkyframeGravatar Googler2018-08-01
| | | | | | | | function, discoverInputs() can be implemented to return null upon encountering missing ActionExecutionValues. RELNOTES: None. PiperOrigin-RevId: 206913969
* There is no need to do input discovery or .d file analysis for modular codegen.Gravatar Googler2018-08-01
| | | | | | | | Modular codegen simply transforms a .pcm file to a .o file containing the code of inline functions of the module's headers. RELNOTES: None PiperOrigin-RevId: 206902693
* Remove output jar from runfiles and the ijar from the OutputJar when sourcesGravatar Googler2018-07-31
| | | | | | | are not provided. RELNOTES: none. PiperOrigin-RevId: 206768891
* Add the source jars of exports to the list of transitive source jars.Gravatar Googler2018-07-31
| | | | | RELNOTES: none. PiperOrigin-RevId: 206760974
* Stop generating .d files when they won't be looked at later.Gravatar Googler2018-07-31
| | | | | | | | While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules, which isn't used anymore and would make the logic here (even) more complicated. RELNOTES: None. PiperOrigin-RevId: 206752281
* Add JavaSourceInfoProvider to JavaInfo.Gravatar elenairina2018-07-31
| | | | | | | | | JavaSourceInfoProvider is returned through JavaInfo instead of ConfiguredTarget for all Java rules. Only android_library and android_binary return it directly through ConfiguredTarget, since they don't return a JavaInfo provider. RELNOTES: None. PiperOrigin-RevId: 206746172
* Only call filterDiscoveredHeaders() if include scanning is in effect.Gravatar lberki2018-07-31
| | | | | | | | | | | | This is a step towards making CppCompileAction work without input discovery. This works because: - filterDiscoveredHeaders() is not necessary if we don't discover any - shouldPruneModules is always false if `shouldScanIncludes` is false (see CppCompileActionBuilder#shouldPruneModules()) RELNOTES: None. PiperOrigin-RevId: 206721143
* Do not collect source jars for neverlink targets.Gravatar Googler2018-07-31
| | | | | RELNOTES: none. PiperOrigin-RevId: 206717454
* Disable include scanning for C++ linkstamp compile actions, which are ↵Gravatar lberki2018-07-31
| | | | | | | | | supposed to be shared. Note that CppCompileAction#discoversInputs() will still almost always return true because it's still set to true when .d file pruning is enabled. RELNOTES: None. PiperOrigin-RevId: 206716704
* Internal changeGravatar ruperts2018-07-30
| | | | PiperOrigin-RevId: 206642715
* Return Java providers only onceGravatar elenairina2018-07-30
| | | | | | | through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 206585413
* Add manifestProtoOutput produced during Java compilation to the OutputJar so ↵Gravatar Googler2018-07-30
| | | | | | | that it can be accessed in Skylark. One example where this is used is in Android IDL processing where the manifestProtoOutput is used to split out the Android IDL generated Java classes from the overarching outputJar produced by the android_library rule. RELNOTES: none PiperOrigin-RevId: 206580880
* Document AndroidLibrary.java for readability.Gravatar jingwen2018-07-27
| | | | | RELNOTES: None. PiperOrigin-RevId: 206393574
* Make sure the --host_platform_remote_properties_override flags isGravatar John Cater2018-07-27
| | | | | | | | | | | | | honored when creating the host platform. Fixes #5695. Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86 Closes #5696. Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86 PiperOrigin-RevId: 206371468
* Automated rollback of commit 71479d3ef1627a30b9ec75ca50e6a90cf7db6377.Gravatar ruperts2018-07-27
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** http://https://github.com/bazelbuild/bazel/commit/71479d3ef1627a30b9ec75ca50e6a90cf7db6377 broke thousands of targets in the nightly, notably: //abuse/ares/rulesystem/generator/python/rule_set:main (x1754) //net/encapdecap/common/templates:gen_dr_scopes (x903) //testing/cloud/vex/public:vex_main_internal (x782) //wireless/android/play/playlog/server:playlog_server (x401) *** Original change description *** C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.Builder This is in preparation for deleting CcLinkParamsStore. All remaining calls to the setCcLinkparamsStore method of the CcLinkingInfo builder have been removed. RELNOTES:none PiperOrigin-RevId: 206361808
* Generalize fix to not emit a -gensrc.jar if the annotation processor ↵Gravatar cushon2018-07-26
| | | | | | | | classpath is non-empty but there are no annotation processors to run. PiperOrigin-RevId: 206244327
* Fix databinding after ↵Gravatar cushon2018-07-26
| | | | | | https://github.com/bazelbuild/bazel/commit/9b29a1bd7bbe37500b28a6508cb82ca1943c75b5 PiperOrigin-RevId: 206182289
* Add a flag to make Apple rules not share C++ compile actions.Gravatar lberki2018-07-26
| | | | | | | | | | | | | | | | | | | This is accomplished by: - Setting the APPLE_CROSSTOOL configuration distinguisher in AppleCrosstoolTransition - Doing nothing in AppleCrosstoolTransition in case we are already in an Apple configuration so that funky use cases like a binary having a dependency on a swift_library both directly and through an objc_library work - Adding the "apl-" prefix to the output directory name in APPLE_CROSSTOOL configurations Plus a few minor cleanups: - Removed some unused methods - Nopped out --enable_apple_crosstool_transition if the new flag is set - Nopped out --target_uses_apple_crosstool if the new flag is set These latter reduce the possible space of Apple configurations, thus making the code a bit more comprehensible. RELNOTES: None. PiperOrigin-RevId: 206157413
* Add the .py3 extension as a valid Python source.Gravatar Googler2018-07-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 206156886
* C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.BuilderGravatar plf2018-07-26
| | | | | | | | This is in preparation for deleting CcLinkParamsStore. All remaining calls to the setCcLinkparamsStore method of the CcLinkingInfo builder have been removed. RELNOTES:none PiperOrigin-RevId: 206128439
* C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.BuilderGravatar plf2018-07-26
| | | | | | | | | | This is in preparation for deleting CcLinkParamsStore. Not all calls to setCcLinkparamsStore have been removed in this CL. Roll forward with bzl change in separate CL (unknown commit) and giving a proper error in Skylark instead of a crash when CcLinkingInfo is not built correctly. RELNOTES:none PiperOrigin-RevId: 206122870
* Add support for data dependencies to java_plugin and java_package_configurationGravatar cushon2018-07-25
| | | | | | | | | This allows loading data inputs to annotation processors and Error Prone plugins. Previously the only supported way to do this was using Java resources, but in the case of per-package configuration that ties any changes to the resources to JavaBuilder's release process. PiperOrigin-RevId: 206106802
* Automated rollback of commit ce8f52060e2cf1e5a49a522039f0cba2a340f7e3.Gravatar cushon2018-07-25
| | | | PiperOrigin-RevId: 206102499
* Remove the gen_jars output groupGravatar cushon2018-07-25
| | | | | RELNOTES: Removed the gen_jars output group PiperOrigin-RevId: 206092599
* Automated rollback of commit 16dde0de06a3a4157a13e7e7264afeb6a50b2dde.Gravatar janakr2018-07-25
| | | | | | | | *** Reason for rollback *** Crash (see linked bug). PiperOrigin-RevId: 206060905
* Expose the JavaConfiguration get fields to Skylark for the android_sdk rule.Gravatar Googler2018-07-25
| | | | | RELNOTES: none. PiperOrigin-RevId: 206035881
* Allow the AndroidResourcesInfo to be created from Skylark.Gravatar Googler2018-07-25
| | | | | RELNOTES: none. PiperOrigin-RevId: 206035420
* Support optional repository verificationGravatar Klaus Aehlig2018-07-25
| | | | | | | | | | | | | | | | Add an option to provide a file with a resolved value, that will be used to verify that the repositories mentioned in this file produce a correct directory tree. RELNOTES: newly added options --experimental_repository_hash_file and --experimental_verify_repository_rules allow to verify for repositories the directory generated against pre-recorded hashes. See documentation for those options. Work towards #5660. Change-Id: I2d8becb188d0fa51e890fb8f6139f321cca14b7b PiperOrigin-RevId: 206016792
* C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.BuilderGravatar plf2018-07-25
| | | | | | | | This is in preparation for deleting CcLinkParamsStore. Not all calls to setCcLinkparamsStore have been removed in this CL. RELNOTES:none PiperOrigin-RevId: 205998687
* Fake a JavaStrictCompilationArgsProvider if there's none.Gravatar twerth2018-07-25
| | | | | | | | | There were convoluted cases with multiple JavaInfo created from Skylark that didn't have the JavaStrictCompilationArgsProvider. If these were to be merged and later forwarded with exports we would miss them as dependencies. RELNOTES: None PiperOrigin-RevId: 205980933
* C++: Remove AbstractCcLinkParamsStore from providers.Gravatar plf2018-07-25
| | | | | | | | | | | | | 3 providers had AbstractCcLinkParamsStore as a class field, now they wrap CcLinkingInfo instead. This is being rolled forward, first try caused a NullPointerException in go_wrap_cc rules that had the attribute use_default_import set to False. GoWrapCcConfiguredTargetTest now has a go_wrap_cc rule that has this attribute set to false and fails with the previous version of this CL. RELNOTES:none PiperOrigin-RevId: 205959266
* Prevent unnecessary file stats when looking at whether an include is in one ofGravatar Googler2018-07-25
| | | | | | | | | the declared directories. Especially when doing validation during input discovery, the discovery's over-approximation can lead to isDeclaredIn walking the full path to the root without finding a declared include directory. RELNOTES: None. PiperOrigin-RevId: 205958078
* Automated rollback of commit 6f1915114ec7af104a2649a454cc1519ce7806bf.Gravatar laurentlb2018-07-24
| | | | | | | | | | | | | | | | *** Reason for rollback *** Crash with NullPointerException *** Original change description *** C++: Remove AbstractCcLinkParamsStore from providers. 3 providers had AbstractCcLinkParamsStore as a class field, now they wrap CcLinkingInfo instead. RELNOTES:none PiperOrigin-RevId: 205885939
* Automated rollback of commit f309ad3be36363070e87eef0ee04b12f4956d601.Gravatar janakr2018-07-24
| | | | | | | | | | *** Reason for rollback *** Fixed duplicate derived inputs bug. Test is in diffbase. RELNOTES[INC]: If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args. PiperOrigin-RevId: 205863806
* Create the native headers jar in java_common.compile.Gravatar Irina Iancu2018-07-24
| | | | | | | | RELNOTES: java_common.compile creates the native headers jar accesible via JavaInfo.outputs.native_headers. Closes #5662. PiperOrigin-RevId: 205832180
* Minor readability cleanup.Gravatar twerth2018-07-24
| | | | | RELNOTES: None PiperOrigin-RevId: 205825362
* C++: Remove AbstractCcLinkParamsStore from providers.Gravatar plf2018-07-24
| | | | | | | | 3 providers had AbstractCcLinkParamsStore as a class field, now they wrap CcLinkingInfo instead. RELNOTES:none PiperOrigin-RevId: 205821081