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
