##(see the SpecSpec for an explanation) * '''Launchpad Entry''': UbuntuSpec:packageselection-server-n-java-dev-toolsets * '''Created''': JamesPage * '''Contributors''': * '''Packages affected''': Maven == 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 || http://www.grails.org || || Current release || 1.3.5 || || Dependencies || [[attachment:grails-dependencies.txt]] || || Debian ITP || http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473213 || * 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) * Miguel Landaeta is working on this package in Debian. === Gradle === || URL || http://www.gradle.org || || Current release || 0.8/0.9-rc1 || || Dependencies || [[attachment:gradle-dependencies.txt]] || || Debian ITP || http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=587832 || * build-by-convention Groovy based build system for developing Groovy and Java applications * Used by Grails (see above). * Gradle uses gradle to build itself (supplied in the source zip file) * Miguel Landaeta is working on this package in Debian. === Spring Roo === || URL || http://www.springsource.org/roo || || Current release || 1.1.0 RC1 || || Dependencies || [[attachment:roo-dependencies.txt]] || || Debian ITP || http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=585439 || * Spring/Java based web application framework for developing Java based web applications (alternative to Grails). * Implements the 'coding-by-convention' paradigm * Miguel Landaeta is assigned the ITP for this package in Debian. * Maven based build process: * some re-bundling for other jars for OSGi compatibility * some dependence on non-free jars such as oracle JDBC drivers. === buildr === || URL || http://buildr.apache.org/ || || Current release || 1.4.3 || || Dependencies || ruby-full ruby1.8-dev libopenssl-ruby build-essential rubygems || || Debian ITP || N/A || * Ruby based build-by-convention build system for Java,Scala and Groovy. * Based on Rake (Ruby make) * Potential drop-in replacement for Maven (to be validated). * Distributed as a Ruby gem so may be easy to on-board to Debian and Ubuntu? == Implementation == TBC == Test/Demo Plan == TBC == Unresolved issues == TBC == 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