On Mon, Jan 31, 2011 at 11:17 PM, Adam Murdoch <[email protected]> wrote: > 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?
appBundler? appCreator? > * 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? Yes. > * Should the plugin handle multiple distributions per application (eg > -bin.zip, -src.zip, etc) ? Yes. > * Should we generate a .tgz distribution as well? Yes. > * Should we include javadoc and source zips/directories in the distribution? Yes. > 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. I like this idea, I have ad hoc solutions now, but a common spot in the src tree would be so much nicer. > * 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. The other very useful thing is to create/include the gradle wrapper in cases where the source is included. That also implies that a version of build.gradle is included and probably a copy of buildSrc??? And in the case of an app being part of a multiproject, it would be really nice if it could unwind/extract project dependencies and turn them into regular jar dependencies and point to the copy included in the dist, perhaps in the lib directory? I made a stab at a task that creates a minimal build.gradle that references a lib directory to find dependency jars, see attachment. thanks, Philip > > -- > Adam Murdoch > Gradle Developer > http://www.gradle.org > CTO, Gradle Inc. - Gradle Training, Support, Consulting > http://www.gradle.biz > >
CreateBuildScript.groovy
Description: Binary data
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
