Introduction
In previous chapters, we saw that executing a Roo command kicks-off code generation logic in Roo add-ons. You may want to create a custom add-on for functionality that is not yet supported by base or installable add-ons. For instance, currently there is no Roo add-on that provides support for creating Java portlets using the Spring Portlet MVC. So, we can develop a Roo add-on which is responsible for scaffolding Spring Portlet MVC controllers and JSPs from JPA entities.
In this chapter, we'll look at recipes which show how Roo simplifies installing, developing, and publishing add-ons. Also, we'll take a broad look at the Roo architecture and Roo commands which you'll find useful while developing and testing add-ons.