Appendix D. Roo Resources

As an open source project, Spring Roo offers a large number of resources to assist the community learn, interact with one another and become more involved in the project. Below you'll find a short summary of the official project resources.

D.1. Project Home Page


The project home page provides a brief summary of Roo's main features and links to most of the other project resources. Please use this URI if you are referring other people to the Spring Roo project, as it is the main landing point for the project.

From the main Roo web site you'll also find links to our "resources index". The resources index provides convenient, up-to-date links to all of the services shown below, as well as third-party add-ons you are able to install.

D.2. Downloads and Maven Repositories


You can always access the latest Spring Roo release ZIP by visiting the above URI. The download site not only provides the download itself, but also provides access to all historically released versions plus SHA1 hash codes of those files.

We publish all Roo modules to a Maven repository at This Maven repository is automatically included in user project so that the annotation library can be downloaded. It is also automatically included in the POM for add-ons created via the add-on creator.

D.3. Community Forums


For fast and free end user support for all official Spring projects, the Spring Community Forum is an excellent place to visit. Because Roo is an official top-level Spring project, of course you'll find there is a dedicated "Spring Roo forum" for all your questions, comments and experiences.

The Roo project does not have a "mailing list" or "newsgroup" as you might be familiar with from other open source projects, although commercial support options are available.

Extensive search facilities are provided on the community forums, and the Roo developers routinely answer user questions. One excellent way of contributing to the Roo project is to simply keep an eye on the forum messages and help other people. Even recommendations along the lines of, "I don't know how to do what you're trying to do, but we usually tackle the problem this way instead...." are very helpful to other community members.

When you ask a question on the forum, it's highly recommended you include a small Roo sample script that can be used to reproduce your problem. If that's infeasible, using Roo's "backup" command is another alternative and you can attach the resulting ZIP file to your post. Other tips include always specifying the version of Roo that you're running (as can be obtained from the "version" command), and if you're having trouble with IDE integration, the exact version of the IDE you are using (and, if an Eclipse-based IDE, the version of AspectJ Development Tools in use). Another good source of advice on how to ask questions on the forum can be found in Eric Raymond's often-cited essay, "How to Ask Smart Questions".

If you believe you have found a bug or are experiencing an issue, it is recommended you first log a message on the forum. This allows other experienced users to comment on whether it appears there is a problem with Roo or perhaps just needs to be used a different way. Someone will usually offer a solution or recommend you log a bug report (usually by saying "please log this in Jira"). When you do log a bug report, please ensure you link to the fully-qualified URI to the forum post. That way the developer who attempts to solve your bug will have background information. Please also post the issue tracking link back in thread you started on the forum, as it will help other people cross-reference the two systems.

D.4. Twitter

Roo Hash Code (please include in your tweets, and also follow for low-volume announcements): @SpringRoo

Follow the core Roo development team for interesting Roo news and progress (higher volume than just following @SpringRoo, but only a few Tweets per week): @alankstewart.

Many people who use Roo also use Twitter, including the core Roo development team. If you're a Twitter user, you're welcome to follow the Roo development team (using the Twitter IDs above) to receive up-to-the-minute Tweets on Roo activities, usage and events.

The Roo team also monitors Tweets that include @SpringRoo, so if you're Tweeting about Roo, please remember to include @SpringRoo somewhere in the Tweet. If you like Roo or have found it helpful on a project, please Tweet about it and help spread the word!

We do request that you use the Community Forums if you have a question or issue with Roo, as 140 characters doesn't allow us to provide in-depth technical support or provide a growing archive of historical answers that people can search against.

D.5. Issue Tracking


Spring projects use Atlassian Jira for tracking bugs, improvements, feature requests and tasks. Roo uses a public Jira instance you're welcome to use in order to log issues, watch existing issues, vote for existing issues and review the changes made between particular versions.

As discussed in the Community Forums section, we ask that you refrain from logging bug reports until you've first discussed them on the forum. This allows others to comment on whether a bug actually exists. When logging an issue in Jira, there is a field explicitly provided so you can link the forum discussion to the Jira issue.

Please note that every commit into the Roo source repository will be prefixed with a particular Jira issue number. All Jira issue numbers for the Roo project commence with "ROO-", providing you an easy way to determine the rationale of any change.

Because open source projects receive numerous enhancement requests, we generally prioritise enhancements that have patches included, are quick to complete or those which have received a large number of votes. You can vote for a particular issue by logging into Jira (it's fast, easy and free to create an account) and click the "vote" link against any issue. Similarly you can monitor the progress on any issue you're interested in by clicking "watch".

Enhancement requests are easier to complete (and therefore more probable to be actioned) if they represent fine-grained units of work that include as much detail as possible. Enhancement requests should describe a specific use case or user story that is trying to be achieved. It is usually helpful to provide a Roo sample script that can be used to explain the issue. You should also consider whether a particular enhancement is likely to appeal to most Roo users, and if not, whether perhaps writing it as an add-on would be a good alternative.

D.6. Source Repository

Read repository:

The Git source control system is currently used by Roo for mainline development.

Historical releases of Roo can be accessed by browsing the tags branches within our Git repository. The mainline development of Roo occurs on the "master" branch.

To detailed information about how to check out and build Roo from Subversion, please refer to the Development Processes chapter.

D.7. Source Web Browsing


To assist those who wish to simply review the current Roo code but not check it out fully onto their own computer, Spring Roo offers a public Atlassian FishEye instance. You can use this to not only view the current source code, but also access old releases, perform sophisticated searches and even build graphs and reports.

If you need to link to source code from an issue report or forum post, please use the FishEye service to provide a fully-qualified URI.

D.8. Commercial Products and Services


Pivitol Software employs the Roo development team and offers a wide range of products and professional services around Roo and the technologies which Roo enables. Available professional services include training, consulting, design reviews and mentoring, with products including service level agreement (SLA) backed support subscriptions, certified builds, indemnification and integration with various commercial products. Please visit the above URI to learn more about SpringSource products and services and how these can add value to your build-run-manage application lifecycle.

D.9. Other

Please let us know if you believe it would be helpful to list any other resources in this documentation.