[jbosstools-commits] JBoss Tools SVN: r44065 - in trunk/download.jboss.org/jbosstools/updates: scripted-installation and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Sep 26 17:16:07 EDT 2012


Author: nickboldt
Date: 2012-09-26 17:16:07 -0400 (Wed, 26 Sep 2012)
New Revision: 44065

Added:
   trunk/download.jboss.org/jbosstools/updates/scripted-installation/
   trunk/download.jboss.org/jbosstools/updates/scripted-installation/README.txt
   trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.cmd
   trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.sh
   trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.xml
Log:
https://issues.jboss.org/browse/JBIDE-12747 move from build/installation to download.jboss.org/jbosstools/updates/scripted-installation

Added: trunk/download.jboss.org/jbosstools/updates/scripted-installation/README.txt
===================================================================
--- trunk/download.jboss.org/jbosstools/updates/scripted-installation/README.txt	                        (rev 0)
+++ trunk/download.jboss.org/jbosstools/updates/scripted-installation/README.txt	2012-09-26 21:16:07 UTC (rev 44065)
@@ -0,0 +1,40 @@
+The scripts in this folder can be used to install JBoss Tools via commandline
+into a new or existing Eclipse 3.6 installation.
+
+.cmd is for Windows
+.sh is for Mac or Linux
+
+These files are simply wrappers which call Ant and run the .xml script, passing 
+in variables for source, target, and what to install (if not everything). They 
+contain examples of what you might want to do.
+
+Last tested with Eclipse 3.6.2 (maintenance build) for linux 32-bit (Fedora 12, 
+OpenJDK 6) and JBoss Tools 3.2.0.CR1 on Jan 11, 2011. First attempt was incomplete
+due to timeout, but on second attempt install succeeded in 9 mins. Script used 
+is below for reference. Resulting footprint on disk (including Eclipse): 784M
+
+-- Nick Boldt (nboldt at redhat.com)
+
+--- --- --- --- --- --- --- --- 
+
+workspace=/home/nboldt/eclipse/workspace-clean36; \
+target=/home/nboldt/eclipse/36clean; \
+eclipse=/home/nboldt/tmp/Eclipse_Bundles/eclipse-SDK-M20110105-0951-linux-gtk.tar.gz; \
+echo "Wipe $target/eclipse and $workspace ..."; rm -fr $target/eclipse $workspace; \
+echo "Unpack $eclipse ..."; cd $target; tar xzf $eclipse; cd -; \
+export GDK_NATIVE_WINDOWS=true; \
+$target/eclipse/eclipse -clean -consolelog -nosplash -data $workspace \
+	-application org.eclipse.ant.core.antRunner -f installJBossTools.xml \
+	-DtargetDir=$target/eclipse \
+	-DsourceZip=/tmp/jbosstools-3.2_trunk.aggregate-Update-SNAPSHOT.zip \
+	-DotherRepos=\
+http://download.jboss.org/jbosstools/updates/target-platform/latest/,\
+http://download.eclipse.org/releases/helios/,\
+http://download.eclipse.org/birt/update-site/2.6/,\
+http://m2eclipse.sonatype.org/sites/m2e/,\
+http://m2eclipse.sonatype.org/sites/m2e-extras/,\
+http://subclipse.tigris.org/update_1.6.x\
+	-vm /opt/jdk1.5.0_19/bin/java -vmargs -Xms128M \
+	-Xmx256M -XX:PermSize=128M -XX:MaxPermSize=256M \
+	2>&1 | tee "$target/eclipse.log.`date`.txt"
+ 

Added: trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.cmd
===================================================================
--- trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.cmd	                        (rev 0)
+++ trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.cmd	2012-09-26 21:16:07 UTC (rev 44065)
@@ -0,0 +1,43 @@
+ at echo off
+
+:: plugin-only install example - two plugins
+c:\eclipse\36clean\eclipse\eclipse.exe -consolelog -nosplash -data c:\tmp ^
+      -application org.eclipse.ant.core.antRunner ^
+      -f installJBossTools.xml ^
+	-DsourceZip=c:\eclipse\36clean\jbosstools-3.2.0.M2.aggregate-Update-2010-09-08_17-17-54-H243.zip ^
+	-DtargetDir=c:\eclipse\36clean\eclipse ^
+	-Dinstall=org.jboss.tools.jmx.core,org.jboss.tools.jmx.ui
+	
+:: simple install example - one feature
+:: note that if the file is org.jboss.tools.jmx.feature_*.jar, the feature to install is org.jboss.tools.jmx.feature.feature.group
+c:\eclipse\36clean\eclipse\eclipse.exe -consolelog -nosplash -data c:\tmp ^
+      -application org.eclipse.ant.core.antRunner ^
+      -f installJBossTools.xml ^
+	-DsourceZip=c:\eclipse\36clean\jbosstools-3.2.0.M2.aggregate-Update-2010-09-08_17-17-54-H243.zip ^
+	-DtargetDir=c:\eclipse\36clean\eclipse ^
+	-Dinstall=org.jboss.tools.jmx.feature.feature.group
+
+:: full install example - all available features
+c:\eclipse\36clean\eclipse\eclipse.exe -consolelog -nosplash -data c:\tmp ^
+      -application org.eclipse.ant.core.antRunner ^
+      -f installJBossTools.xml ^
+	-DsourceZip=c:\eclipse\36clean\jbosstools-3.2.0.M2.aggregate-Update-2010-09-08_17-17-54-H243.zip ^
+	-DtargetDir=c:\eclipse\36clean\eclipse ^
+	-DotherRepos=http://download.jboss.org/jbosstools/updates/target-platform/latest/,^
+http://download.eclipse.org/releases/helios/,^
+http://download.eclipse.org/birt/update-site/2.6/,^
+http://m2eclipse.sonatype.org/sites/m2e/,^
+http://m2eclipse.sonatype.org/sites/m2e-extras/
+
+:: more features; note that some require addition of -DotherRepos to resolve missing dependencies (ie., BIRT, Maven)
+::   -Dinstall=org.drools.eclipse.feature.feature.group,org.drools.eclipse.task.feature.feature.group,org.guvnor.tools.feature.feature.group,\
+:: org.hibernate.eclipse.feature.feature.group,org.jboss.ide.eclipse.archives.feature.feature.group,org.jboss.ide.eclipse.as.feature.feature.group,\
+:: org.jboss.ide.eclipse.freemarker.feature.feature.group,\
+:: org.jboss.tools.birt.feature.feature.group,org.jboss.tools.bpel.feature.feature.group,org.jboss.tools.esb.feature.feature.group,\
+:: org.jboss.tools.flow.common.feature.feature.group,org.jboss.tools.flow.jpdl4.feature.feature.group,org.jboss.tools.jbpm.common.feature.feature.group,\
+:: org.jboss.tools.jbpm.convert.feature.feature.group,org.jboss.tools.jbpm4.feature.feature.group,org.jboss.tools.jmx.feature.feature.group,\
+:: org.jboss.tools.maven.feature.feature.group,org.jboss.tools.maven.seam.feature.feature.group,\
+:: org.jboss.tools.portlet.feature.feature.group,org.jboss.tools.profiler.feature.feature.group,\
+:: org.jboss.tools.project.examples.feature.feature.group,org.jboss.tools.richfaces.feature.feature.group,org.jboss.tools.seam.feature.feature.group,\
+:: org.jboss.tools.smooks.feature.feature.group,org.jboss.tools.struts.feature.feature.group,\
+:: org.jboss.tools.ws.feature.feature.group,org.jboss.tools.xulrunner.feature.feature.group,org.jbpm.gd.jpdl.feature.feature.group


Property changes on: trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.cmd
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.sh
===================================================================
--- trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.sh	                        (rev 0)
+++ trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.sh	2012-09-26 21:16:07 UTC (rev 44065)
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+## plugin-only install example - two plugins
+/home/nboldt/eclipse/36clean/eclipse/eclipse -consolelog -nosplash -data /tmp \
+      -application org.eclipse.ant.core.antRunner \
+      -f installJBossTools.xml \
+	-DsourceZip=/home/nboldt/eclipse/36clean/jbosstools-3.2.0.M2.aggregate-Update-2010-09-08_17-17-54-H243a.zip \
+	-DtargetDir=/home/nboldt/eclipse/36clean/eclipse \
+	-Dinstall=org.jboss.tools.jmx.core,org.jboss.tools.jmx.ui
+exit
+
+## simple install example - one feature
+## note that if the file is org.jboss.tools.jmx.feature_*.jar, the feature to install is org.jboss.tools.jmx.feature.feature.group
+/home/nboldt/eclipse/36clean/eclipse/eclipse -consolelog -nosplash -data /tmp \
+      -application org.eclipse.ant.core.antRunner \
+      -f installJBossTools.xml \
+	-DsourceZip=/home/nboldt/eclipse/36clean/jbosstools-3.2.0.M2.aggregate-Update-2010-09-08_17-17-54-H243a.zip \
+	-DtargetDir=/home/nboldt/eclipse/36clean/eclipse \
+	-Dinstall=org.jboss.tools.jmx.feature.feature.group
+exit
+
+## full install example - all available features
+/home/nboldt/eclipse/36clean/eclipse/eclipse -consolelog -nosplash -data /tmp \
+      -application org.eclipse.ant.core.antRunner \
+      -f installJBossTools.xml \
+	-DsourceZip=/home/nboldt/eclipse/36clean/jbosstools-3.2.0.M2.aggregate-Update-2010-09-08_17-17-54-H243a.zip \
+	-DtargetDir=/home/nboldt/eclipse/36clean/eclipse \
+	-DotherRepos=http://download.jboss.org/jbosstools/updates/target-platform/latest/,\
+http://download.eclipse.org/releases/helios/,\
+http://download.eclipse.org/birt/update-site/2.6/,\
+http://m2eclipse.sonatype.org/sites/m2e/,\
+http://m2eclipse.sonatype.org/sites/m2e-extras/
+exit
+
+## more features; note that some require addition of -DotherRepos to resolve missing dependencies (ie., BIRT, Maven)
+##   -Dinstall=org.drools.eclipse.feature.feature.group,org.drools.eclipse.task.feature.feature.group,org.guvnor.tools.feature.feature.group,\
+## org.hibernate.eclipse.feature.feature.group,org.jboss.ide.eclipse.archives.feature.feature.group,org.jboss.ide.eclipse.as.feature.feature.group,\
+## org.jboss.ide.eclipse.freemarker.feature.feature.group,\
+## org.jboss.tools.birt.feature.feature.group,org.jboss.tools.bpel.feature.feature.group,org.jboss.tools.esb.feature.feature.group,\
+## org.jboss.tools.flow.common.feature.feature.group,org.jboss.tools.flow.jpdl4.feature.feature.group,org.jboss.tools.jbpm.common.feature.feature.group,\
+## org.jboss.tools.jbpm.convert.feature.feature.group,org.jboss.tools.jbpm4.feature.feature.group,org.jboss.tools.jmx.feature.feature.group,\
+## org.jboss.tools.maven.feature.feature.group,org.jboss.tools.maven.seam.feature.feature.group,\
+## org.jboss.tools.portlet.feature.feature.group,org.jboss.tools.profiler.feature.feature.group,\
+## org.jboss.tools.project.examples.feature.feature.group,org.jboss.tools.richfaces.feature.feature.group,org.jboss.tools.seam.feature.feature.group,\
+## org.jboss.tools.smooks.feature.feature.group,org.jboss.tools.struts.feature.feature.group,\
+## org.jboss.tools.ws.feature.feature.group,org.jboss.tools.xulrunner.feature.feature.group,org.jbpm.gd.jpdl.feature.feature.group


Property changes on: trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.xml
===================================================================
--- trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.xml	                        (rev 0)
+++ trunk/download.jboss.org/jbosstools/updates/scripted-installation/installJBossTools.xml	2012-09-26 21:16:07 UTC (rev 44065)
@@ -0,0 +1,259 @@
+<project default="install">
+	<target name="help">
+		<echo>
+		REQUIRMENTS:
+		
+		This script requires Ant-Contrib. If missing, it will attempt to download 
+		it from Sourceforge.net for you into this folder.
+		
+		COMMANDLINE PARAMS:
+		
+		install   - csv list of features to install; if missing, install ALL found features.
+		
+		sourceZip - /full/path/to/jboss-tools-update.zip; zip must exist
+		
+		targetDir - /full/path/to/an/existing/jbdevstudio/eclipse; folder must exist
+		
+		OPTIONAL / MAY BE REQUIRED:
+		
+		otherRepos - csv list of local, zipped, or remote update sites from which to install 
+			prereqs (eg., BIRT, Maven); may want these sites: 
+			http://download.jboss.org/jbosstools/updates/target-platform/latest/
+			http://download.eclipse.org/releases/helios/,\
+			http://download.eclipse.org//birt/update-site/2.6/,\
+			http://m2eclipse.sonatype.org/sites/m2e/,\
+			http://m2eclipse.sonatype.org/sites/m2e-extras/,\
+			http://subclipse.tigris.org/update_1.6.x
+			
+		RUNNING THIS SCRIPT:
+		
+		/path/to/eclipse-dir/eclipse -consolelog -nosplash -data /tmp \
+      		-application org.eclipse.ant.core.antRunner \
+      		-f /path/to/installJBossTools.xml \
+      			-DotherRepos=http://download.jboss.org/jbosstools/updates/target-platform/latest/
+			-DsourceZip=/path/to/JBossTools-Update-3.1.0.v200909102049M-H274-M3.zip \
+			-DtargetDir=/path/to/eclipse-dir \
+			-Dinstall=org.jboss.tools.jmx.sdk.feature.feature.group
+</echo>
+	</target>
+
+	<property name="install" value="" />
+	<property name="otherRepos" value="" />
+
+	<property name="sourceZip" value="" />
+	<property name="targetDir" value="" />
+
+	<target name="install" depends="init">
+		<if>
+			<or>
+				<not>
+					<isset property="targetDir" />
+				</not>
+				<equals arg1="${targetDir}" arg2="" />
+				<not>
+					<available file="${targetDir}" type="dir" />
+				</not>
+			</or>
+			<then>
+				<fail>
+ERROR!
+Must specify path to an existing Eclipse or JBoss Developer Studio  
+install folder into which features will be installed.
+</fail>
+			</then>
+		</if>
+
+		<if>
+			<or>
+				<not>
+					<isset property="sourceZip" />
+				</not>
+				<equals arg1="${sourceZip}" arg2="" />
+			</or>
+			<then>
+				<fail>
+ERROR!
+Must specify path to a previously downloaded JBoss Tools 
+or JBoss Developer Studio Update site zip.  
+</fail>
+			</then>
+		</if>
+
+		<if>
+			<not>
+				<available file="${sourceZip}" type="file" />
+			</not>
+			<then>
+				<fail>ERROR!
+Cannot find sourceZip in ${sourceZip}. 
+</fail>
+			</then>
+		</if>
+
+		<if>
+			<or>
+				<not>
+					<isset property="install" />
+				</not>
+				<equals arg1="${install}" arg2="" />
+			</or>
+			<then>
+				<!-- for update site zips, dest must be ${temp.dir}/eclipse; for SDKs, ${temp.dir} -->
+				<tempfile property="temp.dir" />
+				<mkdir dir="${temp.dir}/eclipse" />
+				<unzip src="${sourceZip}" dest="${temp.dir}/eclipse" overwrite="false" />
+
+				<!-- collect features to install if not specified -->
+				<var name="install" value="" />
+				<for param="featureJar">
+					<path>
+						<fileset dir="${temp.dir}/eclipse/features" includes="*.jar" />
+					</path>
+					<sequential>
+						<var name="feature.jarfile" unset="true" />
+						<var name="feature.id" unset="true" />
+						<propertyregex property="feature.jarfile"
+						               defaultvalue="@{featureJar}"
+						               input="@{featureJar}"
+						               regexp=".+/features/([^/]+\.jar)"
+						               replace="\1"
+						               override="true"
+						/>
+						<propertyregex property="feature.id"
+						               defaultvalue="${feature.jarfile}"
+						               input="${feature.jarfile}"
+						               regexp="([^_]+)_(\d+\.\d+\.\d+\..+)\.jar"
+						               replace="\1"
+						               override="true"
+						/>
+						<propertyregex property="feature.id"
+						               defaultvalue="${feature.id}"
+						               input="${feature.id}"
+						               regexp="([^_]+)_(\d+\.\d+\.\d+)\.jar"
+						               replace="\1"
+						               override="true"
+						/>
+						<var name="install" value="${install},${feature.id}.feature.group" />
+						<var name="feature.jarfile" unset="true" />
+						<var name="feature.id" unset="true" />
+					</sequential>
+				</for>
+				<!-- trim prefix "," -->
+				<propertyregex property="install" input="${install}" defaultvalue="${install}" regexp=",(.+)" replace="\1" override="true" />
+				<delete dir="${temp.dir}" />
+			</then>
+		</if>
+
+		<if>
+			<and>
+				<isset property="otherRepos" />
+				<not>
+					<equals arg1="${otherRepos}" arg2="" />
+				</not>
+			</and>
+			<then>
+				<var name="p2.director.input.repo" value="jar:file:${sourceZip}!/,${otherRepos}" />
+			</then>
+			<else>
+				<var name="p2.director.input.repo" value="jar:file:${sourceZip}!/" />
+			</else>
+		</if>
+
+
+		<antcall target="run.director">
+			<param name="p2.director.installIU" value="${install}" />
+			<param name="p2.director.install.path" value="${targetDir}" />
+			<param name="p2.director.input.repo" value="${p2.director.input.repo}" />
+		</antcall>
+
+	</target>
+
+	<target name="run.director">
+		<property name="p2.director.extraArgs" value="" />
+		<property name="p2.director.installIU" value="${install}" />
+		<property name="p2.director.install.path" value="${targetDir}" />
+		<property name="p2.director.input.repo" value="jar:file:${sourceZip}!/" />
+		<echo>
+Source Repo(s): ${p2.director.input.repo}
+Install Path: ${p2.director.install.path}
+Feature(s) or Plugin(s) to Install:
+${install}
+ </echo>
+
+		<mkdir dir="${p2.director.install.path}" />
+		<chmod perm="ugo+rwx" file="${p2.director.install.path}/eclipse" />
+		<exec executable="${p2.director.install.path}/eclipse"
+		      failonerror="true"
+		      dir="${p2.director.install.path}"
+		      timeout="1200000"
+		      taskname="p2.dir"
+		>
+			<!-- deprecated application for Eclipse 3.4: org.eclipse.equinox.p2.director.app.application -->
+			<arg line=" -application org.eclipse.equinox.p2.director" />
+			<arg line=" -nosplash" />
+			<arg line=" --launcher.suppressErrors" />
+			<arg line=" -consoleLog" />
+			<arg line=" -flavor tooling" />
+			<arg line=" -roaming" />
+			<arg line=" -profile SDKProfile" />
+			<arg line=" -destination ${p2.director.install.path}" />
+			<arg line=" -bundlepool ${p2.director.install.path}" />
+			<arg line=" -installIU ${p2.director.installIU}" />
+			<arg line=" -metadataRepository ${p2.director.input.repo},file:${p2.director.install.path}/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile"
+			/>
+			<arg line=" -artifactRepository ${p2.director.input.repo},file:${p2.director.install.path}" />
+			<arg line=" -profileProperties org.eclipse.update.install.features=true" />
+			<arg line=" -vmargs" />
+			<arg line=" -Declipse.p2.data.area=${p2.director.install.path}/p2" />
+			<arg line=" -Declipse.p2.MD5Check=false" />
+		</exec>
+	</target>
+
+	<target name="check.ant-contrib" if="antContribJarUnavailable">
+		<antcall target="get.ant-contrib" />
+		<available file="ant-contrib.jar" property="antContribJarAvailable" />
+		<fail unless="antContribJarAvailable">Error! 
+
+Ant-Contrib 1.0b2 is required. Download it from http://downloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip,
+then place it in one of the following 4 locations. You can also redefine these paths in your build.properties file:
+
+./ant-contrib.jar
+  or
+/usr/share/java/ant-contrib.jar
+</fail>
+	</target>
+
+	<target name="get.ant-contrib">
+		<get src="http://downloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip" dest="/tmp/ant-contrib-1.0b2-bin.zip" usetimestamp="true" />
+		<touch file="/tmp/ant-contrib-1.0b2-bin.zip" />
+		<unzip src="${downloadsDir}/ant-contrib-1.0b2-bin.zip" dest="/tmp/ant-contrib-1.0b2-bin.zip_" overwrite="true" />
+		<copy file="/tmp/ant-contrib-1.0b2-bin.zip_/ant-contrib/lib/ant-contrib.jar" tofile="./ant-contrib.jar" failonerror="true" />
+		<delete dir="/tmp/ant-contrib-1.0b2-bin.zip_" includeemptydirs="true" quiet="true" />
+		<delete file="/tmp/ant-contrib-1.0b2-bin.zip" quiet="true" />
+	</target>
+
+	<target name="init">
+		<condition property="antContribJarUnavailable">
+			<not>
+				<or>
+					<available file="/usr/share/java/ant-contrib.jar" type="file" />
+					<available file="../lib/ant-contrib.jar" type="file" />
+					<available file="./ant-contrib.jar" type="file" />
+				</or>
+			</not>
+		</condition>
+		<antcall target="check.ant-contrib" />
+		<!-- This will fail if ant-contrib.jar cannot be found. You can install Ant-Contrib via RPM, or download it here:
+			http://downloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip
+	-->
+		<taskdef resource="net/sf/antcontrib/antlib.xml">
+			<classpath>
+				<pathelement location="/usr/share/java/ant-contrib.jar" />
+				<pathelement location="../lib/ant-contrib.jar" />
+				<pathelement location="./ant-contrib.jar" />
+			</classpath>
+		</taskdef>
+
+	</target>
+
+</project>



More information about the jbosstools-commits mailing list