Which convention we shouldn't put into the base plugin?

Hi folks :wave:

I’m learning about plugin development and getting confused about which kind of convention we should not put into the base plugin. Because several popular plugins handle their convention even in base plugins.

For instance, the JavaBasePlugin contains several Property#convention() method invocations. The CargoBasePlugin also handles the “convention mapping” API that is simiar to the Property#convention() methods in my understanding.

On the other hand, JavaPlugin contains Property#convention() method invocations too. It makes me confused about the policy to place the Property#convention() method invocation in the plugin.

I know that the JavaPlugin generates SourceSets and tasks such as jar and test, as a part of its convention. It’s clear for me to split plugin’s capabilities and conventions.

I guess that it’s better to stop worrying about the Property#convention() method? It’s probably wrongly named, or at least not so intuitive… it’s not about the convention in the context of the plugin development. Is my understanding correct?

I don’t really understand this, but your question was very useful for me x) Waiting for the opinion of experts.

1 Like