summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/gluster-management-console.target12
-rwxr-xr-xbuild/gmc-build.sh111
-rwxr-xr-xbuild/gmc-checkout.sh6
-rwxr-xr-xbuild/gmc-gui-buckminster.commands9
-rw-r--r--build/gmc-junit-buckminster.commands5
-rwxr-xr-xbuild/gmc-server-buckminster.commands11
-rwxr-xr-xbuild/package-server.sh55
7 files changed, 209 insertions, 0 deletions
diff --git a/build/gluster-management-console.target b/build/gluster-management-console.target
new file mode 100644
index 00000000..e30fcf49
--- /dev/null
+++ b/build/gluster-management-console.target
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.6"?>
+
+<target includeMode="feature" name="Gluster Storage Platform Target">
+<locations>
+<location path="gmc-target/com.gluster.storage.management.gui.target/rcp.sdk.helios.SR1" type="Directory"/>
+<location path="gmc-target/com.gluster.storage.management.gui.target/richclientgui.rcptoolbox" type="Directory"/>
+<location path="gmc-target/com.gluster.storage.management.gui.target/birt.charts.helios" type="Directory"/>
+<location path="gmc-target/com.gluster.storage.management.gui.target/delta.pack.helios" type="Directory"/>
+</locations>
+<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+</target>
diff --git a/build/gmc-build.sh b/build/gmc-build.sh
new file mode 100755
index 00000000..4a9b1982
--- /dev/null
+++ b/build/gmc-build.sh
@@ -0,0 +1,111 @@
+USAGE_ERR=1
+
+BUILD_DIR=/tmp/buckminster/glustermc
+BUCKMINSTER_URL=http://download.eclipse.org/tools/buckminster/headless-3.6/
+TARGET_PLATFORM_URL=/data/private/gmc-target.git
+SRC_URL=/data/private/gmc-src.git
+
+BUCKMINSTER_PRODUCT_NAME=org.eclipse.buckminster.cmdline.product
+MAIN_FEATURE=com.gluster.storage.management.gui.feature.webstart
+
+TYPE_ALL="a"
+TYPE_SETUP="s"
+TYPE_BUILD="b"
+
+startBold() {
+ tput bold
+}
+
+stopBold() {
+ tput sgr0
+}
+
+# Shows given text in bold
+showBold() {
+ startBold
+ echo ${1}
+ stopBold
+}
+
+# Get the director that can be used to install headless buckminster
+get_director()
+{
+ echo "Downloading `startBold`director`stopBold`..."
+ wget http://ftp.daum.net/eclipse//tools/buckminster/products/director_latest.zip
+ echo "Installing director..."
+ unzip director_latest.zip
+}
+
+install_buckminster()
+{
+ echo "Installing `startBold`Buckminster`stopBold`..."
+ cd director
+ ./director -r ${BUCKMINSTER_URL} -d ${BUCKMINSTER_HOME} -p Buckminster -i ${BUCKMINSTER_PRODUCT_NAME}
+
+ echo "Setting up Buckminster..."
+ cd ${BUCKMINSTER_HOME}
+ ./buckminster install ${BUCKMINSTER_URL} org.eclipse.buckminster.core.headless.feature
+ ./buckminster install ${BUCKMINSTER_URL} org.eclipse.buckminster.pde.headless.feature
+ ./buckminster install ${BUCKMINSTER_URL} org.eclipse.buckminster.git.headless.feature
+ ./buckminster install ${BUCKMINSTER_URL} org.eclipse.buckminster.emma.headless.feature
+}
+
+configure_workspace()
+{
+ echo "Configuring the workspace..."
+ cd ${WORKSPACE_DIR}
+ rm -rf *
+ git clone ${TARGET_PLATFORM_URL}
+ git clone ${SRC_URL}
+
+ echo "Importing target platform..."
+ ../buckminster importtarget --active gmc-src/com.gluster.storage.management.releng/gluster-management-console.target
+ echo "Importing component query for glustermc..."
+ ../buckminster import gmc-src/com.gluster.storage.management.releng/com.gluster.storage.management.gui.feature.webstart.cquery
+ cd -
+}
+
+build()
+{
+ echo "Cleaning build directory..."
+ rm -rf ${BUILD_DIR}/*
+
+ echo "Exporting the product..."
+ ./buckminster perform --properties ${PROPERTIES_FILE} ${MAIN_FEATURE}#create.eclipse.jnlp.product
+ ./buckminster perform --properties ${PROPERTIES_FILE} ${MAIN_FEATURE}#copy.root.files
+
+ # buckminster signs the jars using eclipse certificate - hence unsign and sign them again
+ echo "Signing product jars..."
+ ./buckminster perform --properties ${PROPERTIES_FILE} ${MAIN_FEATURE}#unsign.jars
+ ./buckminster perform --properties ${PROPERTIES_FILE} ${MAIN_FEATURE}#sign.jars
+}
+
+#-----------------------------------
+# Main Action Body
+#-----------------------------------
+
+echo
+if [ $# -ne 2 ]; then
+ echo "Usage: ${0} <build-type> <build-directory>"
+ echo "build-type value can be one of:"
+ echo " `startBold` ${TYPE_ALL}`stopBold` - Sets up the build directoryand then triggers a full build"
+ echo " `startBold` ${TYPE_SETUP}`stopBold` - Sets up the build directory; doesn't trigger build"
+ echo " `startBold` ${TYPE_BUILD}`stopBold` - Assumes that build directory is set up and simply triggers the build"
+ echo
+ exit ${USAGE_ERR}
+fi
+
+BUILD_MODE=${1}
+BUCKMINSTER_HOME=${2}
+WORKSPACE_DIR=${BUCKMINSTER_HOME}/workspace
+PROPERTIES_FILE=${WORKSPACE_DIR}/gmc-src/com.gluster.storage.management.releng/glustermc_build.properties
+
+if [ "${BUILD_MODE}" == "${TYPE_ALL}" -o "${BUILD_MODE}" == "${TYPE_SETUP}" ]; then
+ get_director
+ install_buckminster
+fi
+
+if [ "${BUILD_MODE}" == "${TYPE_ALL}" -o "${BUILD_MODE}" == "${TYPE_BUILD}" ]; then
+ configure_workspace
+ build
+fi
diff --git a/build/gmc-checkout.sh b/build/gmc-checkout.sh
new file mode 100755
index 00000000..e7ba352c
--- /dev/null
+++ b/build/gmc-checkout.sh
@@ -0,0 +1,6 @@
+# cleans the workspace and checks out gmc projects in to it
+
+cd ${WORKSPACE}
+rm -rf gmc-src gmc-target
+git clone /data/private/gmc-src.git
+git clone /data/private/gmc-target.git
diff --git a/build/gmc-gui-buckminster.commands b/build/gmc-gui-buckminster.commands
new file mode 100755
index 00000000..8d55075b
--- /dev/null
+++ b/build/gmc-gui-buckminster.commands
@@ -0,0 +1,9 @@
+# Buckminster commands to build Gluster Management Console projects
+
+importtarget --active gmc-src/com.gluster.storage.management.releng/gluster-management-console.target
+
+import gmc-src/com.gluster.storage.management.releng/com.gluster.storage.management.gui.feature.webstart.cquery
+perform com.gluster.storage.management.gui.feature.webstart#create.eclipse.jnlp.product
+perform com.gluster.storage.management.gui.feature.webstart#copy.root.files
+perform com.gluster.storage.management.gui.feature.webstart#unsign.jars
+perform com.gluster.storage.management.gui.feature.webstart#sign.jars
diff --git a/build/gmc-junit-buckminster.commands b/build/gmc-junit-buckminster.commands
new file mode 100644
index 00000000..7334298c
--- /dev/null
+++ b/build/gmc-junit-buckminster.commands
@@ -0,0 +1,5 @@
+importtarget --active gmc-src/com.gluster.storage.management.releng/gluster-management-console.target
+
+import gmc-src/com.gluster.storage.management.releng/com.gluster.storage.management.core.cquery
+perform com.gluster.storage.management.core#java.binaries
+junit -o test-reports/core.xml -l /com.gluster.storage.management.core/junit/core.junit.launch
diff --git a/build/gmc-server-buckminster.commands b/build/gmc-server-buckminster.commands
new file mode 100755
index 00000000..31c82956
--- /dev/null
+++ b/build/gmc-server-buckminster.commands
@@ -0,0 +1,11 @@
+# Buckminster commands to build Gluster Management Console projects
+
+importtarget --active gmc-src/com.gluster.storage.management.releng/gluster-management-console.target
+
+import gmc-src/com.gluster.storage.management.releng/com.gluster.storage.management.core.cquery
+#import gmc-src/com.gluster.storage.management.releng/com.gluster.storage.management.client.cquery
+import gmc-src/com.gluster.storage.management.releng/com.gluster.storage.management.server.cquery
+
+perform com.gluster.storage.management.core#bundle.jar
+#perform com.gluster.storage.management.client#bundle.jar
+perform com.gluster.storage.management.server#archive
diff --git a/build/package-server.sh b/build/package-server.sh
new file mode 100755
index 00000000..9a051ea7
--- /dev/null
+++ b/build/package-server.sh
@@ -0,0 +1,55 @@
+WAR_NAME="glustermc.war"
+TAR_NAME=${WAR_NAME}.tar
+SERVER_DIST_DIR="${WORKSPACE}/../../gluster-management-server/lastSuccessful"
+
+prepare-dist-dir()
+{
+ if [ -d ${WAR_NAME} ]; then
+ rm -rf ${WAR_NAME}
+ fi
+ mkdir ${WAR_NAME}
+}
+
+get-server-war()
+{
+ cd ${WAR_NAME}
+ WAR_FILE=`find -L ${SERVER_DIST_DIR} -name ${WAR_NAME}`
+ jar xvf ${WAR_FILE}
+ cd -
+}
+
+get-dist()
+{
+ ARCH=${1}
+ OS=${2}
+ WS=${3}
+
+ OUT_DIR="${WORKSPACE}/../../gluster-management-console/workspace/arch/${ARCH}/os/${OS}/ws/${WS}/buckminster.output/com.gluster.storage.management.gui.feature.webstart*.feature/glustermc"
+ NEW_DIR=${WAR_NAME}/${OS}.${WS}.${ARCH}
+ cp -R ${OUT_DIR} ${NEW_DIR}
+}
+
+get-console-dists()
+{
+ get-dist x86 win32 win32
+ get-dist x86_64 win32 win32
+ get-dist x86 linux gtk
+ get-dist x86_64 linux gtk
+ get-dist x86 macosx cocoa
+ get-dist x86_64 macosx cocoa
+}
+
+#---------------------------------------------
+# Main Action Body
+#---------------------------------------------
+echo "Packaging Gluster Management Server..."
+
+prepare-dist-dir
+get-server-war
+get-console-dists
+
+/bin/rm -rf ${TAR_NAME} ${TAR_NAME}.gz
+tar cvf ${TAR_NAME} ${WAR_NAME}
+gzip ${TAR_NAME}
+
+echo "Done!"