JavaDevelopmentToolsets

Revision 4 as of 2010-10-21 11:04:26

Clear message

Summary

This specification outlines the details of packaging a number of popular Java and Groovy 'coding-by-convention' development tool-sets for Ubuntu.

Release Note

Ubuntu now features a [Gradle|Spring Roo|Grails|buildr] development toolset that you can use to build your [Java|Groovy) applications.

Rationale

Ubuntu currently packages Ant and Maven 2 to support Java packaging and development; a number of other development/build tool-sets including Gradle, Spring Roo, Grails and buildr are gaining popularity in the Java/Groovy development community and we should consider packaging for Ubuntu.

User stories

  • Felix is a Java developer who is new to the Spring development toolset; he quickly and easily installs both the Spring core libraries and the Spring Roo toolset on his Ubuntu Desktop without needing to download from www.springsource.com.
  • Janice is a Java developer who is fed-up of writing realms of XML to support Maven based build processes; she quickly and easily installs buildr on her Ubuntu desktop and uses it as a drop in replacement for her existing maven based Java projects and new Java/Scala/Groovy development projects.
  • Eric is a System Administrator for an estate Hudson based continuous integration servers; his development teams have adopted a new build toolset called Gradle and he is quickly and easily able to install this on all of his Ubuntu server infrastructure to support the requirements of the development team.
  • Luke is a Groovy developer who wants to use Grails to develop his next Web 2.0 project; he quickly and easily installs Grails on his Ubuntu Desktop without having to download lots of zips from various websites.

Assumptions

None at this point in time.

Design

Grails

URL

www.grails.org

Current release

1.3.5

Dependencies

grails-dependencies.txt

  • Popular Spring/Java based Web 2.0 development tool-set using the Groovy development language. Implements the 'coding-by-convention' paradigm eliminating the requirement for developers to write loads of boiler-plate/configuration allowing focus on what really adds value to an application.
  • Easy deployment of resulting .war artifacts onto Tomcat (already in main archive) for production deployment.
  • Uses gradle as a build system (see below)

Gradle

URL

www.grails.org

Current release

0.8/0.9-rc1

Dependencies

gradle-dependencies.txt

  • build-by-convention Groovy based build system for developing Groovy and Java applications
  • Used by Grails (see above).

Spring Roo

buildr

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


CategorySpec