JavaDevelopmentToolsets
|
Size: 2273
Comment:
|
← Revision 10 as of 2010-10-21 12:53:36 ⇥
Size: 4669
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 10: | Line 10: |
| This specification outlines the details of packaging a number of popular Java and Groovy 'coding-by-convention' development tool-sets for Ubuntu. |
|
| Line 12: | Line 14: |
| This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.) It is mandatory. |
Ubuntu now features a [Gradle|Spring Roo|Grails|buildr] development toolset that you can use to build your [Java|Groovy) applications. |
| Line 18: | Line 18: |
| 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. |
|
| Line 20: | Line 22: |
| * 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. |
|
| Line 21: | Line 31: |
None at this point in time. |
|
| Line 24: | Line 36: |
| You can have subsections that better describe specific parts of the issue. | === 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? |
| Line 28: | Line 88: |
| This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: === UI Changes === Should cover changes required to the UI, or specific UI that is required to implement this === Code Changes === Code changes should include an overview of what needs to change, and in some cases even the specific details. === Migration === Include: * data migration, if any * redirects from old URLs to new ones, if any * how users will be pointed to the new way of doing things, if necessary. |
TBC |
| Line 47: | 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 53: | 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 |
Launchpad Entry: 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 |
|
Current release |
1.3.5 |
Dependencies |
|
Debian ITP |
- 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 |
|
Current release |
0.8/0.9-rc1 |
Dependencies |
|
Debian ITP |
- 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 |
|
Current release |
1.1.0 RC1 |
Dependencies |
|
Debian ITP |
- 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 |
|
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.
ServerTeam/Specs/JavaDevelopmentToolsets (last edited 2010-10-21 12:53:36 by host86-169-243-0)