Download appropriate version of p2 admin by looking for the current platform spec. Also, do not re-download it if already here
diff --git a/hudson-scripts/init/1_p2.sh b/hudson-scripts/init/1_p2.sh
index a1dd0e8..a06e373 100644
--- a/hudson-scripts/init/1_p2.sh
+++ b/hudson-scripts/init/1_p2.sh
@@ -10,17 +10,46 @@
# Obeo - initial API and implementation
# ====================================================================
-P2_ADMIN_URL="https://github.com/mbarbero/p2-admin/releases/download/v1.0.2/p2-admin-1.0.2-linux.gtk.x86_64.tar.gz"
+P2_ADMIN_VERSION="1.1.0"
+
+if [[ "$OSTYPE" == "linux"* || "$OSTYPE" == "freebsd"* ]]; then
+ OSWS="linux.gtk"
+ FILE_EXT="tar.gz"
+elif [[ "$OSTYPE" == "cygwin"* ]]; then
+ OSWS="win32.win32"
+ FILE_EXT="zip"
+elif [[ "$OSTYPE" == "darwin"* ]]; then
+ OSWS="macosx.cocoa"
+ FILE_EXT="tar.gz"
+else
+ LSCRITICAL "Unknown 'OSTYPE'=$OSTYPE."
+ exit -1
+fi
+
+if [[ $(uname -m) == *"64"* ]]; then
+ ARCH="x86_64"
+else
+ ARCH="x86"
+fi
+
+PLATFORM_SPECIFIER="${OSWS}.${ARCH}"
+LSDEBUG "Platform specifier is '$PLATFORM_SPECIFIER'"
+P2_ADMIN_ARCHIVE="p2-admin-${P2_ADMIN_VERSION}-${PLATFORM_SPECIFIER}.${FILE_EXT}"
+P2_ADMIN_URL="https://github.com/mbarbero/p2-admin/releases/download/v${P2_ADMIN_VERSION}/${P2_ADMIN_ARCHIVE}"
if [ -d 'p2-admin' ]; then
- LSINFO "Removing previous p2-admin"
+ LSINFO "Removing previous p2-admin folder"
rm -rf "p2-admin"
fi
-LSINFO "Downloading p2-admin"
-LSDEBUG "$P2_ADMIN_URL"
+if [ ! -f "${P2_ADMIN_ARCHIVE}" ]; then
+ LSDEBUG "Unable to find p2-admin archive '${P2_ADMIN_ARCHIVE}'"
+ LSINFO "Downloading p2-admin '$P2_ADMIN_URL'"
+ wget -q --no-check-certificate $P2_ADMIN_URL -O - > "${P2_ADMIN_ARCHIVE}"
+fi
-wget -q --no-check-certificate $P2_ADMIN_URL -O - | tar zx
+LSINFO "Unziping '${P2_ADMIN_ARCHIVE}'"
+tar zxf "${P2_ADMIN_ARCHIVE}"
LSINFO "Defining p2 aliases"
shopt -s expand_aliases