Naked Objects' Sister Projects 1.0: Developers Guide

aka Star Objects

Dan Haywood

0.1

Permission is granted to make and distribute verbatim copies of this manual provided that the copyright notice and this permission notice are preserved on all copies.


Table of Contents

Preface
I. Building from Source
1. Prerequisite Software
1.1. Command Line Software
1.2. IDE
2. Manual Install of Maven Artifacts
2.1. JIMI Jar File
3. Building Projects from Source
3.1. Source Tree Hierarchy
3.1.1. The 'main' module
3.1.2. The 'support' module
3.1.3. The 'testapp' module
II. Contributing Changes
4. Coding Standards
4.1. Checkstyle
4.1.1. Maven Plugin
4.1.2. Eclipse Plugin
4.2. PMD
4.2.1. Maven Plugin
4.2.2. Eclipse Plugin
4.3. Code Coverage (Cobertura and Emma)
4.3.1. Maven Plugin (Cobertura)
4.3.2. Eclipse Plugin (Emma)
4.4. Eclipse Code Style
4.4.1. Formatter
4.4.2. Cleanup
4.4.3. Save Actions
5. Templates and Utilities
5.1. Eclipse Java Editor Templates
5.1.1. JUnit 4 Templates
5.1.2. JMock 2 Templates
6. Using the Corporate POM
6.1. Defining the Corporate POM
6.2. Defining the Corporate Repository
7. Writing DocBook Documentation
7.1. Source Code Repository
7.2. Editing the Documentation (using XMLMind)
7.2.1. XMLMind XML Editor
7.2.2. Images
7.2.3. Tables
7.3. Build the Documentation
7.4. Deploying the Documentation
8. Writing Site Documentation
8.1. Overview
8.2. Source Code Repository
8.3. Customizing the Site Descriptor (site.xml)
8.3.1. Parent Module and Standalone Modules
8.3.2. Child Modules
8.4. Writing Additional Site Content
8.4.1. File Formats
8.4.2. APT Quick Start
8.5. Generated Reports
8.6. Checking the Site by Deploying it Locally
8.6.1. Prerequisites
8.6.2. Performing the Local Deploy
III. Release Process
9. Deploying a Code Snapshot
9.1. Prerequisites
9.2. Deploying a Snapshot Manually
9.2.1. Deploying the main module
9.2.2. Deploying the support module
10. Deploying a Code Release
10.1. Pre-release Check List
10.2. Releasing the Main Module
10.2.1. Release Prepare (Dry Run)
10.2.2. Release Prepare
10.2.3. Deploying the Release
10.3. Support Module
10.4. Deploy Site
11. Deploying the Site
11.1. Prerequisites
11.2. Deploying Remotely to Sourceforge
IV. Building and Deploying the Corporate Artifacts
12. The Corporate POM
12.1. Source Code Repository
12.2. Build the Corporate POM
12.3. Deploy the Corporate POM
12.3.1. Prerequisites
12.3.2. Deploy
12.4. Using the Corporate POM
13. The Maven Skin
13.1. Source Code Repository
13.2. Build the Skin
13.3. Deploying the Skin
13.3.1. Prerequisites
13.3.2. Deploy
13.4. Using the Skin
14. The 'Main' Module (Docs & Site)
14.1. Source Code Repository
14.2. Building the Documentation & Site
14.3. Deploying the Site
V. Appendices
A. Deployment Prerequisites
A.1. How profile-based distribution management has been designed
A.2. Prerequisites for Deploying Corporate Artifacts (from the umbrella project)
A.3. Prequisites for Deploying Sister Project Artifacts

List of Tables

8.1. File formats supported by Maven site