Release scripts.
diff --git a/juneau-release.sh b/juneau-release.sh
index f2518f6..93a69ab 100755
--- a/juneau-release.sh
+++ b/juneau-release.sh
@@ -32,57 +32,87 @@
 	exit 1; 
 }
 
+function message { 
+	echo ' '
+	echo '-------------------------------------------------------------------------------'
+	echo '> $1'
+	echo '-------------------------------------------------------------------------------'
+	echo ' '
+	exit 1; 
+}
+
+
 function yprompt {
+	echo ' '
 	echo -n "$1 (Y/n): "
 	read prompt
 	if [ "$prompt" != "Y" ] && [ "$prompt" != "" ] 
 	then 
 		fail;
 	fi
-
 } 
 
 cd ~/.m2
+
+message "Cleaning existing Git repository"
 mv repository repository-old
 rm -rf repository-old & 
 rm -rf $X_STAGING
 mkdir -p $X_STAGING
 mkdir $X_STAGING/git
 cd $X_STAGING/git
+
+message "Cloning juneau.git"
 git clone https://gitbox.apache.org/repos/asf/juneau.git
+
+message "Cloning juneau-website.git"
 git clone https://gitbox.apache.org/repos/asf/juneau-website.git
+
 cd juneau
 git config user.name $X_USERNAME
 git config user.email $X_EMAIL
 
+message "Checking Java version"
 java -version
 yprompt "Are you using at least Java 8?";
 
+message "Checking Maven version"
 mvn -version
 yprompt "Are you using at least Maven 3?"
 
+message "Running clean verify"
 cd $X_STAGING/git/juneau
 mvn clean verify
 
+message "Running javadoc:aggregate"
 mvn javadoc:aggregate
 yprompt "Is the javadoc generation clean?"
 
-yprompt "Can juneau/juneau-microservice/juneau-my-jetty-microservice/target/my-jetty-microservice-$X_VERSION.bin.zip be deployed into an Eclipse workspace?"
-yprompt "Can juneau/juneau-microservice/juneau-my-springboot-microservice/target/my-springboot-microservice-$X_VERSION.bin.zip be deployed into an Eclipse workspace?"
-yprompt "Can juneau/juneau-examples/juneau-examples-rest-jetty/target/juneau-examples-rest-jetty-$X_VERSION.bin.zip be deployed into an Eclipse workspace?"
-yprompt "Can juneau/juneau-examples/juneau-examples-rest-springboot/target/juneau-examples-rest-springboot-$X_VERSION.bin.zip be deployed into an Eclipse workspace?"
+message "Creating test workspace"
+export WORKSPACE=target/workspace
+rm -Rf $WORKSPACE
+mkdir -p $WORKSPACE
+unzip -o juneau-microservice/juneau-my-jetty-microservice/target/my-jetty-microservice-$X_VERSION-bin.zip -d $WORKSPACE/my-jetty-microservice
+unzip -o juneau-microservice/juneau-my-springboot-microservice/target/my-springboot-microservice-$X_VERSION-bin.zip -d $WORKSPACE/my-springboot-microservice
+unzip -o juneau-examples/juneau-examples-core/target/juneau-examples-core-$X_VERSION-bin.zip -d $WORKSPACE/juneau-examples-core
+unzip -o juneau-examples/juneau-examples-rest-jetty/target/juneau-examples-rest-jetty-$X_VERSION-bin.zip -d $WORKSPACE/juneau-examples-rest-jetty
+unzip -o juneau-examples/juneau-examples-rest-springboot/target/juneau-examples-rest-springboot-$X_VERSION-bin.zip -d $WORKSPACE/juneau-examples-rest-springboot
 
+yprompt "Can all workspace projecs in $X_STAGING/git/juneau/target/workspace be cleanly imported into Eclipse?"
+
+message "Running deploy"
 cd $X_STAGING/git/juneau
 mvn deploy
 
+message "Running release:prepare"
 mvn release:prepare -DautoVersionSubmodules=true -DreleaseVersion=$X_VERSION -Dtag=$X_RELEASE -DdevelopmentVersion=$X_NEXT_VERSION
-
 yprompt "Did the release:prepare command succeed?"
 
+message "Running git diff"
 git diff $X_RELEASE
 
+message "Running release:perform"
 mvn release:perform
-
 open "https://repository.apache.org/#stagingRepositories"
 
 echo "On Apache's Nexus instance, locate the staging repository for the code you just released.  It should be called something like orgapachejuneau-1000." 
@@ -98,6 +128,7 @@
 
 yprompt "X_REPO = $X_REPO.  Is this correct?"
 
+message "Creating binary artifacts"
 cd $X_STAGING
 rm -rf dist 
 svn co https://dist.apache.org/repos/dist/dev/juneau dist
diff --git a/launches/juneau-create-workspace.launch b/launches/juneau-create-workspace.launch
new file mode 100644
index 0000000..b347f20
--- /dev/null
+++ b/launches/juneau-create-workspace.launch
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/juneau-root/launches/juneau-create-workspace.sh}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/juneau-root}"/>
+</launchConfiguration>
diff --git a/launches/juneau-create-workspace.sh b/launches/juneau-create-workspace.sh
new file mode 100755
index 0000000..4603500
--- /dev/null
+++ b/launches/juneau-create-workspace.sh
@@ -0,0 +1,28 @@
+# ***************************************************************************************************************************
+# * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
+# * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
+# * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
+# * with the License.  You may obtain a copy of the License at                                                              *
+# *                                                                                                                         *
+# *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
+# *                                                                                                                         *
+# * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
+# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
+# * specific language governing permissions and limitations under the License.                                              *
+# ***************************************************************************************************************************
+
+. launches/juneau-env.sh
+
+export WORKSPACE=target/workspace
+
+rm -Rf $WORKSPACE
+mkdir -p $WORKSPACE
+unzip -o juneau-microservice/juneau-my-jetty-microservice/target/my-jetty-microservice-$X_VERSION-bin.zip -d $WORKSPACE/my-jetty-microservice
+unzip -o juneau-microservice/juneau-my-springboot-microservice/target/my-springboot-microservice-$X_VERSION-bin.zip -d $WORKSPACE/my-springboot-microservice
+unzip -o juneau-examples/juneau-examples-core/target/juneau-examples-core-$X_VERSION-bin.zip -d $WORKSPACE/juneau-examples-core
+unzip -o juneau-examples/juneau-examples-rest-jetty/target/juneau-examples-rest-jetty-$X_VERSION-bin.zip -d $WORKSPACE/juneau-examples-rest-jetty
+unzip -o juneau-examples/juneau-examples-rest-springboot/target/juneau-examples-rest-springboot-$X_VERSION-bin.zip -d $WORKSPACE/juneau-examples-rest-springboot
+
+echo '*******************************************************************************'
+echo '***** SUCCESS *****************************************************************'
+echo '*******************************************************************************'
diff --git a/launches/juneau-env.sh b/launches/juneau-env.sh
index 9b371f1..1dbd0f6 100755
--- a/launches/juneau-env.sh
+++ b/launches/juneau-env.sh
@@ -14,3 +14,4 @@
 . ~/.profile
 set -e
 export JUNEAU_VERSION=8.0.0
+[ -z "$X_VERSION" ] && export X_VERSION="${JUNEAU_VERSION}-SNAPSHOT"