Development Environment

Here is a quick guide how to setup Eclipse for SolarEclipse development.

Eclipse Preferences

Workbench -> Label Decorations

  • enable 'Binary Plug-in Projects' decorations
  • enable 'CVS' decorations

Java -> Code Formatter

  • all checkboxes in 'New Lines' must be unchecked (turn off 'Insert a new line inside an empty block')
  • set 'Line Splitting -> Maximum line length' to 80 (default)
  • 'Style -> Compact Assignement' must be unchecked (default)
  • 'Style -> Indentation is represented by a tab' must be checked (default)
  • 'Style -> Number of spaces representing a tab' must be set to 4 (default)

Java -> Code Generation

  • Create Javadoc comments for methods and types (template typecomment) should be checked
  • Create non-Javadoc comments for owerriden methods should be checked
  • Create file comments for new files should be checked

Java -> Compiler

  • Set 'Unused imports' to warning
  • Set 'Unused local variables' to warning

Java -> Editor

  • Set 'Displayed tab width' to 4 (default)
  • Set 'Print margin column' to 80 (default)
  • 'Insert spaces for tabs' must be unchecked
  • 'Show print margin' should be checked
  • Create file comments for new files should be checked

Java -> New Project

  • Set 'As source and output location use' to 'Folders' src/bin

Java -> Organize Imports set to the following order:

  • net.sf.solareclipse
  • org.eclipse
  • com
  • net
  • org
  • javax
  • java

Java -> Templates

  • 'filecomment' must be replaced with:
    Copyright (c) {date} {name of original contributor} and others.
    All rights reserved.   This program and the accompanying materials
    are made available under the terms of the Common Public License v1.0
    which accompanies this distribution, and is available at
        <contributor1> - <description of contribution>
    $$Id:  $$
  • 'typecomment' must be replaced with:
     * @author {your full name}

Plig-in Development -> Target Platform

  • Select all plugins except for net.sf.solareclipse[.*]

Team -> CVS

  • Set 'Default keyword substitution' to 'ASCII with keyword expansion (-kkv)'

CVS Access
Developer CVS Repository Access: Creating your home directory

Before a developer may access their CVS repository, they must first connect once, via an interactive SSH session, to the project CVS servers as to have their home directory created. Home directories are not shared between the project shell and project CVS servers; it is necessary to connect to the CVS server directly before using CVS services as a developer.

Upon connecting to interactively using your SSH client, your home directory will be created, and you will be logged-out of that host automatically. The only reason to connect to the project CVS servers interactively is to have your home directory created; direct access to the project CVS repositories (i.e. filesystem level access via a shell) is not provided.

Failure to create your home directory before accessing CVS services will result in an error message similar to the following:

Could not chdir to home directory /home/users/u/us/username:
No such file or directory

/usr/bin/X11/xauth:  error in locking authority file
Should you encounter this error message, you may remedy this issue simply by logging in to interactively via SSH, as described previously.

Repository Location
Repository path: /cvsroot/solareclipse
Connection type: extssh
Adding Projects

We use distributed self-hosting style and binary projects for SolarEclipse development.

Adding projects from the repository

  1. Turn the auto-build off.
  2. Open the CVS view by selecting Perspective->Show View->CVS Repositories
  3. Expand the HEAD folder (or another desired development stream)
  4. Select projects you want and select 'Checkout as Project' from the pop-up menu.

Importing binary projects

  1. Select File->Import->Plug-ins and Fragments wizard.
  2. Leave the default settings on the first page.
  3. Press 'Existing Projects' then 'Invert Selection' buttons. This will select all the projects except those you previously added from the repository.
  4. Press 'Finish' and wait until the wizard completes the operation.