Hi together,

I committed a first prototype of the plugin portal and a plugin development plugin to github:
http://github.com/mpfau/gradle-plugins
http://github.com/mpfau/pluginDev

The following is basically a description of what is currently possible and what not and how you can test the workflow. To test the portal, you currently have to check it out and deploy it locally using grails-1.2.2. The pluginDev plugin has been written against gradle-0.9-preview-1.

Configuration:
If you want the portal to publish artifacts to gradle's artifactory, you have to put your credentials into 'grails-app/conf/Config.groovy'.

Current workflow:
* grails run-app
* Register at localhost:8080 or use one of the existing accounts (see BootStrap.groovy/ e.g. admin/admin)
* Click on publish and create a new plugin
* Use the pluginDev plugin (apply plugin: 'pluginDev')
* invoke 'gradle uploadPlugin' and supply your portal credentials
* after successfully uploading, the new release is in a state called Staging. * You need certain rights to publish your newly added release to the gradle repository, so use one of the admin user accounts to publish using the portal.

Limitations of the portal:
* No Mail challenge and response (e.g. for lost password of a user)
* Ratings, Comments and Search features have not been added (existing grails plugins should be used therefore)
* The css styles are a mixture of gradle.org and grails defaults
* Plugins have very few attributes
** A plugin has currently only one owner
** We should decide on what will be displayed on the plugin pages and what the home page should look like (maybe only a search textfield like google?)

The above points could be addressed easily but I definitely need help on this.

Limitations of the pluginDev plugin:
* For uploading, it asks for your credentials. Unfortunately, some gradle stuff is echoed when reading input from the console (at least with bash, not tested on windows or mac) * Groups are not supported. As plugins need a unique identifier, I would propose to use the group org.gradle or org.gradle.plugins for all plugins.
* Testing: There is currently no testing support
** The basic idea was, that each published gradle-plugin has to provide at least one integration test. This Test will be executed against a set of gradle-releases. This would allow the portal to make statements about the compatibility of a plugin. I have seen that there are some efforts to make plugins testable which is a great thing. * Documentation: I thought that it would be a good idea to publish a plugin-doc.xml (docbook format) with each plugin and generate the html contents of this file. However, this would require someone with deep docbook know-how to create a docbook plugin (gradle's build might be a good starting point for this). An alternative might be to put the documentation on a wiki-page (like the grails community does). However, this approach doesn't appeal to me as you need a specific documentation for each release.

As you see, there are many points that still need discussion and I would like to ask for feedback, your thoughts, code-reviews and contributions.

Kind regards
Matthias

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

   http://xircles.codehaus.org/manage_email


Reply via email to