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. (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.

Cheers,
Peter 



--
View this message in context: 
http://gradle.1045684.n5.nabble.com/Package-names-for-tasks-and-plugins-tp5711007.html
Sent from the gradle-dev mailing list archive at Nabble.com.

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

    http://xircles.codehaus.org/manage_email


Reply via email to