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