On 11/03/2013, at 4:50 PM, Peter Niederwieser <[email protected]> wrote:

> Hi all,
> 
> it recently came up in one of my code reviews that plugin classes should
> live under `org.gradle.api.$function.plugins`, task classes under
> `org.gradle.api.$function.tasks`, and all other classes under
> `org.gradle.api.$function`. I'd like to question the use of the `plugins`
> and `tasks` subpackages. In my mind, the function should be dominant, and
> the `plugins` and `tasks` subpackages are often just unnecessary baggage
> (may contain just a single class, require extra imports, etc.). They also
> encourage to group only/primarily by plugins and tasks, rather than by
> function, which I think is the wrong axis of separation. (For an example,
> see the `plugins` subproject.) Hence, I propose that only
> `org.gradle.api.$function` should be mandatory, with the further package
> structure (if any) left to the plugin author.

I'm with you on this. I don't think the .plugins or .tasks separation is 
helpful. I'd prefer not to have it.

I don't quite understand the .api namespace either, but I don't want to derail 
this conversation with that.

> (We'd probably still have to
> use `internal` for non-public packages.)
> 
> We already have a couple of plugin subprojects that don't have `plugins` and
> `tasks` subpackages, but I was asked to bring this up here for
> clarification.

-- 
Luke Daley
Principal Engineer, Gradleware 
http://gradleware.com

Join me at the Gradle Summit 2013, June 13th and 14th in Santa Clara, CA: 
http://www.gradlesummit.com


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to