JavaDevelopmentToolsets

Differences between revisions 2 and 10 (spanning 8 versions)
Revision 2 as of 2010-10-21 10:56:09
Size: 3712
Editor: host86-169-243-0
Comment:
Revision 10 as of 2010-10-21 12:53:36
Size: 4669
Editor: host86-169-243-0
Comment:
Deletions are marked like this. Additions are marked like this.
Line 38: Line 38:
|| URL || www.grails.org || || URL || http://www.grails.org ||
Line 40: Line 40:
|| Dependencies || || || Dependencies || [[attachment:grails-dependencies.txt]] ||
|| Debian ITP || http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473213 ||
Line 45: Line 46:
 * 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.
Line 48: Line 62:
=== Gradle ==== || 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.
Line 52: Line 76:
|| 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?
Line 55: Line 88:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: TBC
Line 59: Line 92:
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.
TBC
Line 65: Line 96:
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. TBC

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

  • 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

  • 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

  • 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

ServerTeam/Specs/JavaDevelopmentToolsets (last edited 2010-10-21 12:53:36 by host86-169-243-0)