aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
Commit message (Collapse)AuthorAge
* Root GenObjcBundledProtos input filelist under the appropriate build ↵Gravatar cparsons2017-05-26
| | | | | | | configuration RELNOTES: None. PiperOrigin-RevId: 157017608
* Add "uses_protobuf" attribute to objc_proto_library rule.Gravatar kaipi2017-05-03
| | | | PiperOrigin-RevId: 154860105
* Remove the ability for an aspect to propagate a different aspect.Gravatar Dmitry Lomov2017-01-20
| | | | | | | | | This functionality is never used, have never been exposed to Skylark and is a continuous pain to maintain and test. -- PiperOrigin-RevId: 145079832 MOS_MIGRATED_REVID=145079832
* Provide AspectDescriptor to ConfiguredAspect.Gravatar Dmitry Lomov2016-11-29
| | | | | | | | Also clean up the setting of aspect name in ConfiguredAspect and AspectDefintion - it is now obtained from the AspectClass. -- MOS_MIGRATED_REVID=140357052
* Add a specialized TransitiveInfoProviderMap to map TransitiveInfoProviders ↵Gravatar Googler2016-09-19
| | | | | | | | | | | | by class. TransitiveInfoProviderMap enforces that the provider implements the interface it's keyed by and provides accessors the reduce the amount of casting. This in general reduces boilerplate throughout wherever TransitiveInfoProviders are mapped by their class. Also add shorthand for adding a provider where it only implements TransitiveInfoProvider once, reducing the redundant specification of the TransitiveInfoProvider class. Infer the class as the exclusive direct implementor of TransitiveInfoProvider to account for special cases like AutoValue and LicenseProvider. -- MOS_MIGRATED_REVID=133386336
* Make the proto bundling behavior the default when using the new library. Take 2Gravatar Sergio Campama2016-08-17
| | | | | -- MOS_MIGRATED_REVID=130406840
* Adds proto grouping behavior so that generation and compilation actions are ↵Gravatar Sergio Campama2016-08-16
| | | | | | | much smaller. This adds more granularity and helps prevent excessive compilation by minimizing the number of inputs for each action. -- MOS_MIGRATED_REVID=130359288
* Adds propagation of protobuf's headers and search paths through ↵Gravatar Sergio Campama2016-08-12
| | | | | | | ObjcProtoProvider and ObjcProtoAspect. -- MOS_MIGRATED_REVID=129997369
* Rollback of commit ee36dd3f5db8e7ad129b2782a24eb97a0478fc42.Gravatar Sergio Campama2016-07-25
| | | | | | | | | | | | | *** Reason for rollback *** Prevent [] from burning up *** Original change description *** Make the proto bundling behavior the default when using the new library. -- MOS_MIGRATED_REVID=128226570
* Make the proto bundling behavior the default when using the new library.Gravatar Sergio Campama2016-07-19
| | | | | -- MOS_MIGRATED_REVID=127747661
* [ObjcProtoAspect] Fixes an issue where targets that don't have a deps ↵Gravatar Sergio Campama2016-05-27
| | | | | | | attribute would fail requesting its deps, and crash. Also checks whether the portable_proto_filters attribute was explicitly specified. -- MOS_MIGRATED_REVID=123218724
* Delete the interface NativeAspectFactory and make native aspects extend from ↵Gravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NativeAspectClass. This a large refactoring of the aspects, currently we have the following: - AspectClasses: The interface AspectClass is a implemented by either SkylarkAspectClass or NativeAspectClass<NativeAspectFactory>. They are wrappers for the AspectFactories and they hold the information about the Class<> of the factory. - AspectFactories (FooAspect.java): Represented by the interfaces ConfiguredAspectFactory and NativeAspectFactory, also by the interface ConfiguredNativeAspectFactory which is the union of the two aforementioned interfaces. All aspects implement ConfiguredNativeAspectFactory except Skylark aspects which implement only ConfiguredAspectFactory. After this CL the distinction between NativeAspectFactories and NativeAspectClasses dissappear, namely aspect that extends NativeAspectClass is considered native and if it implements ConfiguredAspectFactory it is configured. Therefore the interfaces NativeAspectFactory and ConfiguredNativeAspectFactory both disappear. With this refactoring the aspectFactoryMap in the ConfiguredRuleClassProvider changes its type from (String -> Class<? extends NativeAspectClass>) to (String -> NativeAspectClass) which means it is now able to have an instance of the aspect instead of its Class only. By doing this, it is now possible to pass parameters when creating an aspect in the ConfiguredRuleClassProvider. -- MOS_MIGRATED_REVID=120819647
* Adds an ObjcProtoProvider which bundles the proto sources and filters, along ↵Gravatar Sergio Campama2016-04-26
with an ObjcProtoAspect which propagates the proto provider through the dependency chain. -- MOS_MIGRATED_REVID=120747710