Hi,

Recently, Rene Groeschke contributed an 'application' plugin, which adds tasks 
for running your application and building a distribution for it (including 
generating launcher scripts). Many thanks for this, Rene.

I have a few comments/questions about this plugin:

* I don't really like the name 'application plugin'. The term 'application' is 
much too general, whereas the plugin is really intended for applications with a 
main method. Some possible names for this plugin: command-line application 
plugin, j2se application plugin, main-method application plugin. Any other 
suggestions?

* The plugin adds an 'install' task, which will conflict with the maven 
plugin's 'install' task. I think we should rename the maven plugin's task to 
something like 'publishMavenLocal'. While we're doing this, we should think 
about renaming upload<config> to publish<config>.

* Should the plugin handle multiple applications per project?

* Should the plugin handle multiple distributions per application (eg -bin.zip, 
-src.zip, etc) ?

* Should we generate a .tgz distribution as well?

* Should we include javadoc and source zips/directories in the distribution? 
How about other documentation, such as user guides, etc.

Some thoughts about future work:

* It might be nice to have some conventional location in the source tree to 
look for files to be included in the distribution, such as src/dist. Things 
such as readme, license files and so on can be added here, and automatically 
included in the distribution.

* Perhaps we could add a 'dists' configuration which publishes the 
distribution(s)? This would automatically add an uploadDists task, for example.

* I think we should add an equivalent 'library' plugin, which does things such 
as adding a source and javadoc jar, and creating a distribution zip file.

* Some way to make an executable, self-contained jar

* Some way to make a mac application bundle would be nice.


--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz

Reply via email to