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