Hi Hans,
hdockter wrote:
>
>
>> So, why not use the artifact identification for plugins and let gradle
>> download them automatically using ivy? something like
>> plugin('org.gradle:java')? (there's no version on purpose, this
>> means use
>> latest). Gradle can still be shipped with a default plugin
>> repository, and
>> maybe maintain the ability to use classes directly (plugin(class:
>> MyPlugin)), for ad-hoc plugins.
>
> I agree. This is a feature we want to have for our new plugin system.
>
>
Some small notes, just so that the plugin system doesn't become a mess like
in maven:
1. when using a plugin, it uses the gradle core as installed, not
downloading parts of it that were defined as dependencies (I have a maven
system with 6 'maven-artifact' jars, 3 'maven-core', 6 'maven-model', etc.,
because each plugin brings the jar it was built against). Instead, plugins
should define a range of versions of gradle they support (like in firefox).
Maybe allow them to define other plugins they require or conflict with, but
also, just with ranges they support (not a specific version that is
downloaded automatically)
2. plugins should not be installed in a local repository somewhere, but
somewhere under GRADLE_HOME, thus allowing a user to put them there manually
3. there should be the possibility to put plugins in the project's source
tree (e.g., create a 'gradle' directory next to gradlefile). that way, if a
developer checkouts the source tree, he already has all plugins and there's
no need to rely on some remote repository to preserve them (btw, this is
also true for regular dependencies: allow them to be stored in the source
tree)
4. automatic downloading of plugins should be turned *off* by default. just
error out if a plugin is not found and give a hint to the user of a command
he can run to download all/some of the plugins required. Btw, an automatic
check for plugin updates could be nice (but should be turned off easily).
5. missing plugins should be discovered early, for all modules, not as the
build progresses. so a developer can install gradle, checkout the code, run
something like 'gradle install-plugins' and know for sure that now he has
all plugins
HTH,
Ittay
--
View this message in context:
http://www.nabble.com/The-new-Gradle-plugin-system-tp17239360p17769232.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