aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Create new config module that is responsible for creating BuildSetting ↵Gravatar juliexxia2018-08-14
| | | | | | | | | | descriptor objects. Build settings are units of configuration i.e. a key/value pair of a setting (e.g. cpu) and a value (e.g. ppc). A build setting descriptor is used to describe what kind of build setting a skylark rule is (if any at all). The BuildSettingDescriptor implementation of the API describes two facets of the build setting rule: the type of the value and whether or not the setting is settable on the command line. The methods exposed here will eventually be hooked up to a new parameter in the <code> rule() </code> function. Validation for these restrictions will also happen in a later CL attached to the same bug. PiperOrigin-RevId: 208669663
* Add exports attribute to proto_library.Gravatar twerth2018-08-14
| | | | | | | Note that it is currently only used by the java_proto_library family of rules (if enabled per flag). RELNOTES: None PiperOrigin-RevId: 208601730
* Don't disable preverificationGravatar cushon2018-08-13
| | | | | | | to ensure output contains valid stack map tables. context: https://github.com/bazelbuild/bazel/issues/5855 PiperOrigin-RevId: 208555048
* bazel: handle proto_src_root when dealing with proto includes, generated ↵Gravatar Googler2018-08-13
| | | | | | | | | | files and C++ headers This change completes the handling of proto_src_root when it comes to inclusion of protos, generating the proto files in the right place and adding the generated headers to the include paths. WANT_LGTM=elenairina RELNOTES: None. PiperOrigin-RevId: 208457740
* ActionAnalysisMetadata exposes whether loose headers are present. ↵Gravatar shahan2018-08-12
| | | | | | TransitiveVersionTable uses futures. PiperOrigin-RevId: 208402465
* Use NestedSets to store topLevelModules and discoveredModules. Also improveGravatar Googler2018-08-11
| | | | | | | | computeTransitivelyUsedModules to return early on missing values instead of starting to create datastructures. RELNOTES: None. PiperOrigin-RevId: 208351193
* Only remember discovered modules for modules. For all other compiles, we won'tGravatar Googler2018-08-11
| | | | | | | need them later. RELNOTES: None. PiperOrigin-RevId: 208345603
* Adds a flag --experimental_includes_attribute_subpackage_traversal to toggle ↵Gravatar shahan2018-08-10
| | | | | | wildcarding on the presence of an includes attribute. PiperOrigin-RevId: 208225306
* Stop generating .d files when they won't be looked at later.Gravatar Googler2018-08-09
| | | | | | | | While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules, which isn't used anymore and would make the logic here (even) more complicated. RELNOTES: None. PiperOrigin-RevId: 208077525
* Stop allowing targets with loose headers checking that reference srcs/hdrs ↵Gravatar shahan2018-08-09
| | | | | | in other package to also treat those package as loose. PiperOrigin-RevId: 208051086
* Final asset/resource decoupling cleanupGravatar asteinb2018-08-09
| | | | | | | | | | | | | | | | | | - Remove MergableAndroidData interface, and clean up various converters to explicitly use ParsedAndroid{Resources|Assets} - Remove calls to getters that always return an empty list (based on the above cleanup) - Stop passing around empty transitiveAssets in ResourceDependencies and AndroidResourcesInfo - Remove no-op getter method for decoupling settings in AndroidConfiguration Also, consolidate all AndroidDataConverter instances that were used in multiple places into the AndroidDataConverter class, rather than declaring them in multiple places. Add a bit of documentation as to which objects they represent in the action code, which should make mapping between one and the other easier. RELNOTES: none PiperOrigin-RevId: 208042452
* Automated rollback of commit 09bf7cc5865f7edd9a3eeabb42792e8de3ad862f.Gravatar tomlu2018-08-08
| | | | | | | | | | | | | | | | *** Reason for rollback *** Causes crashes in fake_cc_binary in combination with --experimental_nodotd_scanning_with_modules. *** Original change description *** Stop generating .d files when they won't be looked at later. While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules, which isn't used anymore and would make the logic here (even) more complicated. RELNOTES: None. PiperOrigin-RevId: 207932548
* Remove ApplicationManifestGravatar asteinb2018-08-08
| | | | | | | | | | | | This class just contains methods used elsewhere; move them to appropriate places (generally AndroidManifest or StampedAndroidManifest). Also, somewhat reduce code duplication by having more stuff use the existing AndroidManifest.from() method, which automatically handles unspecified manifests and packages. RELNOTES: none PiperOrigin-RevId: 207913410
* Remove CompiledMergeableAndroidDataGravatar asteinb2018-08-08
| | | | | | | | This was also just shared between ParsedAndroidResources and the now defunct ResourceContainer RELNOTES: none PiperOrigin-RevId: 207907140
* Expose GeneratedExtensionRegistryProvider to Skylark.Gravatar Googler2018-08-08
| | | | | RELNOTES: None PiperOrigin-RevId: 207905848
* Remove ValidatedAndroidData interfaceGravatar asteinb2018-08-08
| | | | | | | | Now that ValidatedAndroidResources is the only implementation, we can just use that instead. RELNOTES: none PiperOrigin-RevId: 207900844
* Remove support for explicitly setting java_toolchain.encoding to UTF-8Gravatar cushon2018-08-08
| | | | PiperOrigin-RevId: 207891979
* Remove ResourceContainerGravatar asteinb2018-08-08
| | | | | | | | | ValidatedAndroidResources is now the only implementation of ValidatedAndroidData, so we can also clean up some code. (The actual interface will be cleaned up in the next few changes.) RELNOTES: none PiperOrigin-RevId: 207891778
* Remove non-static ApplicationManifest methodsGravatar asteinb2018-08-08
| | | | | | | | | | | | | | | | Remove all state from the ApplicationManifest class. Actual methods in this class will be migrated to somewhere more appropriate in upcoming changes. We now usually use the manifest passed around in the ResourceApk object instead. (The exception is mobile-install, which still wants to use the raw manifest.) Note that this manifest is the processed manifest output by resource processing - using it will somewhat decrease parallelisim, but is also more correct. (We'll get the parallelisim gains back once we now longer use the legacy manifest merger and don't need to process the manifest in resource processing.) RELNOTES: none PiperOrigin-RevId: 207881830
* Expose methods returning bare C++ options in SkylarkGravatar hlopko2018-08-08
| | | | | | | | | | | | | This cl exposes getters for flags passed by --copt, --cxxopt, --conlyopt, and --linkopt Bazel options. Fixes #5602. While at it, I deprecated existing methods that are either migrated to the C++ toolchain, or to cc_common. RELNOTES: None. PiperOrigin-RevId: 207854692
* Migrate ObjcProvider to BuiltinProvider from NativeProviderGravatar cparsons2018-08-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 207778688
* Remove ResourceContainerConverterGravatar asteinb2018-08-07
| | | | | | | | Also, migrate Robolectric action that used it to use AndroidDataConverter instead. RELNOTES: none PiperOrigin-RevId: 207761747
* Remove analysis code for old resource processing pipelineGravatar asteinb2018-08-07
| | | | | | | | This code should all be unused now. Some code it calls into will be removed in the next changes. RELNOTES: none PiperOrigin-RevId: 207753966
* Remove decoupling flag from BazelGravatar asteinb2018-08-07
| | | | | | | | | | This flag is turned on everywhere. Remove it. There's a lot of dead code hidden behing this flag; will remove it in a series of upcoming changes. RELNOTES: none PiperOrigin-RevId: 207732126
* Delete the now unused ExtractInclusionAction.Gravatar Googler2018-08-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 207724147
* Improve implementation of filterDiscoveredHeaders. Instead of creating a hugeGravatar Googler2018-08-07
| | | | | | | | | | set of all declared headers, iterate over them and remove them from a (often much smaller) set. This should improve runtime as well as amount of garbage produced. RELNOTES: None. PiperOrigin-RevId: 207710867
* Pass cc_toolchain location to FeatureConfigurationGravatar rosica2018-08-07
| | | | | | | Paths to tools in CROSSTOOL are either absolute or relative to the CROSSTOOL location (which is the same as cc_toolchain location). As in the future CROSSTOOL will be gone, and the new skylark rule that will replace CROSSTOOL will not have to be in the same location as cc_toolchain, we need to pass information to FeatureConfiguration about the location of the cc_toolchain in use, so we can calculate the workspace relative paths to the tools. RELNOTES: None. PiperOrigin-RevId: 207695703
* Remove is_cc_test_link_action and is_not_cc_test_link_action build variablesGravatar hlopko2018-08-07
| | | | | | | All users have been migrated, so it's not used anymore. RELNOTES: None. PiperOrigin-RevId: 207688604
* C++: Removes CcLinkParamsStore from Skylark APIGravatar plf2018-08-07
| | | | | | | This class is deprecated and should not be exposed. RELNOTES:none PiperOrigin-RevId: 207685607
* C++: Stops passing workspace to whitelist check of providersGravatar plf2018-08-07
| | | | | | | The workspace changes from user to user and it shouldn't be taken into account. RELNOTES:none PiperOrigin-RevId: 207679881
* Add configuration for android data binding v2.Gravatar corysmith2018-08-06
| | | | | RELNOTES: None PiperOrigin-RevId: 207592136
* Inline static functions.Gravatar corysmith2018-08-06
| | | | | RELNOTES: None PiperOrigin-RevId: 207570533
* Add AndroidResources processing to the DataBindingContext.Gravatar corysmith2018-08-06
| | | | | RELNOTES: None PiperOrigin-RevId: 207564798
* Cleaning up errant sysouts.Gravatar corysmith2018-08-06
| | | | | RELNOTES: None PiperOrigin-RevId: 207559097
* Move maybeAddProvider to be part of the EnabledDataBindingContext.Gravatar corysmith2018-08-06
| | | | | RELNOTES: None PiperOrigin-RevId: 207553449
* C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.BuilderGravatar plf2018-08-06
| | | | | | | | | | This is in preparation for deleting CcLinkParamsStore. All remaining calls to the setCcLinkparamsStore method of the CcLinkingInfo builder have been removed. See b/111781390 for details of rollback. RELNOTES:none PiperOrigin-RevId: 207525881
* Explicitly create strict java compilation args in java_library.Gravatar twerth2018-08-06
| | | | | | | Otherwise we can construct cases where we don't handle exports in different cases correctly. RELNOTES: None PiperOrigin-RevId: 207517499
* C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.BuilderGravatar plf2018-08-06
| | | | | | | | This is in preparation for deleting CcLinkParamsStore. Not all calls to setCcLinkparamsStore have been removed in this CL. RELNOTES:none PiperOrigin-RevId: 207516944
* Remove the functionality to do ahead-of-time #include extraction as a separateGravatar Googler2018-08-06
| | | | | | | action. RELNOTES: None. PiperOrigin-RevId: 207516074
* 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