diff options
| -rw-r--r-- | build/gluster-management-console.target | 12 | ||||
| -rwxr-xr-x | build/gmc-build.sh | 111 | ||||
| -rwxr-xr-x | build/gmc-checkout.sh | 6 | ||||
| -rwxr-xr-x | build/gmc-gui-buckminster.commands | 9 | ||||
| -rw-r--r-- | build/gmc-junit-buckminster.commands | 5 | ||||
| -rwxr-xr-x | build/gmc-server-buckminster.commands | 11 | ||||
| -rwxr-xr-x | build/package-server.sh | 55 |
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!" |
