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
>
>

Attachment: CreateBuildScript.groovy
Description: Binary data

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

    http://xircles.codehaus.org/manage_email

Reply via email to