
 Steps To Recreate Felix Hanging At Startup
--------------------------------------------

- Get the Felix 1.0.3 release and uncompress it.
  bash> cd
  bash> wget http://www.gtlib.gatech.edu/pub/apache/felix/felix-1.0.3.tar.gz
  bash> tar zxvf felix-1.0.3.tar.gz

- Get the eventadmin bundle.
  bash> cd ~/felix-1.0.3/bundle
  bash> wget http://www.gtlib.gatech.edu/pub/apache/felix/org.apache.felix.eventadmin-1.0.0.jar

- Get the log bundle.
  bash> cd
  bash> svn checkout http://svn.apache.org/repos/asf/felix/trunk/log \
        org.apache.felix.log
  bash> cd org.apache.felix.log
  bash> mvn package
  bash> cp target/org.apache.felix.log-0.9.0-SNAPSHOT.jar \
        ~/felix-1.0.3/bundle

- Get the Eclipse and uncompress it.
  bash> cd
  bash> wget http://www.gtlib.gatech.edu/pub/eclipse/technology/epp/downloads/release/europa/winter/eclipse-rcp-europa-winter-linux-gtk.tar.gz
  bash> tar zxvf eclipse-rcp-europa-winter-linux-gtk.tar.gz

- Start Eclipse.
  bash> ~/eclipse/eclipse &
  - Put a check in the "Use this as the default and do not ask again" checkbox.
  - Click on the "OK" button.
  - Click on the "Workbench / Go to the workbench" icon.

- Install the Q4E plugin.
  - Select the "Help" | "Software Updates >" | "Find and Install..." menu item.
  - Select the "Search for new features to install" radio button.
  - Click on the "Next >" button.
  - Click on the "New Remote Site..." button.
    - Enter "Q4E (dev)" for "Name".
    - Enter "http://q4e.googlecode.com/svn/trunk/updatesite-dev/" for "URL".
    - Click on the "OK" button.
  - Click on the "Finish" button.
  - Put a check next to the "Q4E (dev)" item in the "Select the features to
    install" list.
  - Click on the "Next >" button.
  - Click on the "I Accept the terms in the license agreements" radio button.
  - Click on the "Next >" button.
  - Click on the "Finish" button.
  - Click on the "Install All" button.
  - Click on the "Yes" button to restart Eclipse.

- Create the felix-1.0.3 Eclipse project.  These are a condensed version of the
  instructions found at
  http://felix.apache.org/site/integration-of-felix-inside-eclipse.html.
  - Select the "File" | "New >" | "Java Project" menu item.
  - Enter "felix-1.0.3" for the "Project name".
  - Click on the "Next >" button.
  - Chenge "Default output folder" from "felix-1.0.3/bin" to
    "felix-1.0.3/classes".
  - Click on the "Finish" button.

- Copy the Felix 1.0.3 release into the new felix-1.0.3 Eclipse project.
  bash> cp -r ~/felix-1.0.3/* ~/workspace/felix-1.0.3

- Refresh the felix-1.0.3 Eclipse project.
  - Select the project
  - Either
    - Press F5, or
    - Select the "File" | "Refresh" menu item.

- Add the Felix jar to the build path.
  - Right-click on "felix-1.0.3" | "bin" | "felix.jar" and select the
    "Build Path >" | "Add to Build Path" menu item.

- Uncompress the tar file containing this README.
  bash> cd ~/workspace
  bash> tar zxvf /path/to/com.foo.example.tgz

- Import the com.foo.example project into Eclipse.
  - Select the "File" | "Import..." menu item.
  - Select "Maven 2" | "Maven 2 Project".
  - Click on the "Next >" button.
  - Click on the "Browse..." button.
    - Navigate to ~/workspace/com.foo.example.
    - Click on the "OK" button.
  - Click on the "Finish" button.

- Build com.foo.example from the command line since Q4E doesn't always reliably
  create the bundle.
  bash> cd ~/workspace/com.foo.example
  bash> mvn clean package

- Run com.foo.example to experience the problem.
  - Select the "Run" | "Open Run Dialog..." menu item.
  - Select "Java Application" | "example" in the left panel.
  - Click on the "Run" button.
  - Note that "com.foo.example started" is not displayed in the Console view
    and that hitting <enter> does not display the "->" shell prompt.

NOTE: Running the following commands will work almost all the time but Felix
      will occasionally hang from the command line like it does in Eclipse.
      bash> cd ~/workspace/com.foo.example
      bash> java -Dfelix.config.properties=file:eclipse/config.properties \
            -jar ../felix-1.0.3/bin/felix.jar 

- Run com.foo.example to see proper execution.
  - Remove either line 20 (log bundle) or line 21 (eventadmin bundle) or both
    from ~/workspace/com.foo.examples/eclipse/config.properties.
  - Delete the ~/workspace/com.foo.examples/cache directory.
  - Select the "Run" | "Run History >" | "example" menu item.
  - Note that "com.foo.example started" is displayed in the Console view
    and that hitting <enter> displays the "->" shell prompt.
