diff --git a/install-plugins.sh b/install-plugins.sh
new file mode 100755
index 0000000..750eb5c
--- /dev/null
+++ b/install-plugins.sh
@@ -0,0 +1,60 @@
+#! /bin/bash
+
+function download() {
+	plugin=$1
+
+	if [[ ! -f ${plugin}.hpi ]]; then
+
+		url=http://updates.jenkins-ci.org/latest/${plugin}.hpi
+		echo "download plugin : $plugin from $url"
+
+		curl -s -f -L $url -o ${plugin}.hpi
+		if [[ $? -ne 0 ]]
+		then
+			>&2 echo "failed to download plugin ${plugin}"
+			exit -1
+		fi
+	else
+		echo "$plugin is allready downloaded."
+	fi	
+	resolveDependencies $1
+}
+
+function resolveDependencies() {	
+	plugin=$1
+
+	dependencies=`jrunscript -e '\
+	java.lang.System.out.println(\
+		new java.util.jar.JarFile("'${plugin}.hpi'")\
+			.getManifest()\
+			.getMainAttributes()\
+			.getValue("Plugin-Dependencies")\
+	);'`
+
+	if [[ "$dependencies" == "null" ]]; then
+		echo " > plugin has no dependencies"
+		return
+	fi
+
+	echo " > depends on  ${dependencies}"
+
+	IFS=',' read -a array <<< "${dependencies}"
+
+    for d in "${array[@]}"
+	do
+		plugin=$(echo $d | cut -d':' -f1 -)
+		if [[ $d == *"resolution:=optional"* ]] 
+		then	
+			echo "skipping optional dependency $plugin"
+		else
+    		download $plugin
+		fi
+	done
+}
+
+
+shift
+for plugin in "$@"
+do
+    download $plugin
+done
