Andrew Overholt 307bbe4
#!/bin/sh
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
# Generate a source drop for an eclipse.org project (tailored a bit for EMF)
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
# Usage message
Andrew Overholt 307bbe4
usage="usage: $0 <project_name> <cvs_root> <cvs_tag> <cvs_directory>"
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
project_name=$1
Andrew Overholt 307bbe4
cvs_root=$2
Andrew Overholt 307bbe4
cvs_tag=$3
Andrew Overholt 307bbe4
cvs_directory=$4
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
# Ensure we got all of the variables
Andrew Overholt 307bbe4
if [ "x$project_name"x = "xx" ]
Andrew Overholt 307bbe4
then
Andrew Overholt 307bbe4
        echo >&2 "$usage"
Andrew Overholt 307bbe4
        exit 1
Andrew Overholt 307bbe4
fi
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
if [ "x$cvs_root"x = "xx" ]
Andrew Overholt 307bbe4
then
Andrew Overholt 307bbe4
        echo >&2 "$usage"
Andrew Overholt 307bbe4
        exit 1
Andrew Overholt 307bbe4
fi
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
if [ "x$cvs_tag"x = "xx" ]
Andrew Overholt 307bbe4
then
Andrew Overholt 307bbe4
        echo >&2 "$usage"
Andrew Overholt 307bbe4
        exit 1
Andrew Overholt 307bbe4
fi
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
if [ "x$cvs_directory"x = "xx" ]
Andrew Overholt 307bbe4
then
Andrew Overholt 307bbe4
        echo >&2 "$usage"
Andrew Overholt 307bbe4
        exit 1
Andrew Overholt 307bbe4
fi
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
mkdir -p temp/home && cd temp
Andrew Overholt 307bbe4
touch home/.cvspass
Andrew Overholt 307bbe4
cvs -d $cvs_root co -r $cvs_tag $cvs_directory
Andrew Overholt 307bbe4
pushd $cvs_directory
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
# These patches do the following:
Andrew Overholt 307bbe4
#   1. add a fetch target to grab the source
Andrew Overholt 307bbe4
#   2. make it so that we don't have to strip the version at source grab time
Andrew Overholt 307bbe4
#      (and thus depend upon org.eclipse.releng
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
patch -p0 << _EOF_
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
Index: build.xml
Andrew Overholt 307bbe4
===================================================================
Andrew Overholt 307bbe4
RCS file: /home/tools/org.eclipse.emf.releng.build/build.xml,v
Andrew Overholt 307bbe4
retrieving revision 1.14
Andrew Overholt 307bbe4
diff -u -p -r1.14 build.xml
Andrew Overholt 307bbe4
--- build.xml	7 Nov 2005 20:37:26 -0000	1.14
Andrew Overholt 307bbe4
+++ build.xml	25 Oct 2006 18:07:28 -0000
Andrew Overholt 307bbe4
@@ -44,4 +44,16 @@
Andrew Overholt 307bbe4
 			<property name="builder" value="\${basedir}/\${component}" />
Andrew Overholt 307bbe4
 		</ant>
Andrew Overholt 307bbe4
 	</target>
Andrew Overholt 307bbe4
-</project>
Andrew Overholt 307bbe4
\ No newline at end of file
Andrew Overholt 307bbe4
+
Andrew Overholt 307bbe4
+        <target name="fetch" depends="init">
Andrew Overholt 307bbe4
+                
Andrew Overholt 307bbe4
+                                target="preBuild">
Andrew Overholt 307bbe4
+                        <property name="builder" value="\${basedir}/\${component}" />
Andrew Overholt 307bbe4
+                </ant>
Andrew Overholt 307bbe4
+                
Andrew Overholt 307bbe4
+                                target="fetch">
Andrew Overholt 307bbe4
+                        <property name="builder" value="\${basedir}/\${component}" />
Andrew Overholt 307bbe4
+                </ant>
Andrew Overholt 307bbe4
+        </target>
Andrew Overholt 307bbe4
+
Andrew Overholt 307bbe4
+</project>
Andrew Overholt 307bbe4
Index: sdk/customTargets.xml
Andrew Overholt 307bbe4
===================================================================
Andrew Overholt 307bbe4
RCS file: /home/tools/org.eclipse.emf.releng.build/sdk/customTargets.xml,v
Andrew Overholt 307bbe4
retrieving revision 1.36
Andrew Overholt 307bbe4
diff -u -p -r1.36 customTargets.xml
Andrew Overholt 307bbe4
--- sdk/customTargets.xml	17 Jul 2006 00:02:48 -0000	1.36
Andrew Overholt 307bbe4
+++ sdk/customTargets.xml	25 Oct 2006 17:59:33 -0000
Andrew Overholt 307bbe4
@@ -28,7 +28,6 @@
Andrew Overholt 307bbe4
   
Andrew Overholt 307bbe4
   
Andrew Overholt 307bbe4
   <target name="checkLocal">
Andrew Overholt 307bbe4
-    <available property="mapsLocal" file="\${buildDirectory}/maps/org.eclipse.emf" />
Andrew Overholt 307bbe4
   </target>
Andrew Overholt 307bbe4
 
Andrew Overholt 307bbe4
   <target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
Andrew Overholt 307bbe4
@@ -206,11 +205,11 @@
Andrew Overholt 307bbe4
   </target>
Andrew Overholt 307bbe4
 
Andrew Overholt 307bbe4
   <target name="getBaseInit">
Andrew Overholt 307bbe4
-    <taskdef name="stripVersions" classname="org.eclipse.releng.VersionNumberStripper" />
Andrew Overholt 307bbe4
     <property file="\${buildDirectory}/maps/org.eclipse.emf/build.cfg" />
Andrew Overholt 307bbe4
   </target>
Andrew Overholt 307bbe4
 
Andrew Overholt 307bbe4
   <target name="getBaseEclipse" unless="baseExists" depends="getBaseInit">
Andrew Overholt 307bbe4
+    <taskdef name="stripVersions" classname="org.eclipse.releng.VersionNumberStripper" />
Andrew Overholt 307bbe4
     
Andrew Overholt 307bbe4
     <available file="\${downloadsDir}/\${eclipseFile}" property="baseZipExists" />
Andrew Overholt 307bbe4
     <antcall target="downloadBaseEclipse" />
Andrew Overholt 307bbe4
Index: examples/customTargets.xml
Andrew Overholt 307bbe4
===================================================================
Andrew Overholt 307bbe4
RCS file: /home/tools/org.eclipse.emf.releng.build/examples/customTargets.xml,v
Andrew Overholt 307bbe4
retrieving revision 1.16
Andrew Overholt 307bbe4
diff -u -p -r1.16 customTargets.xml
Andrew Overholt 307bbe4
--- examples/customTargets.xml	24 Aug 2006 14:47:17 -0000	1.16
Andrew Overholt 307bbe4
+++ examples/customTargets.xml	25 Oct 2006 17:59:33 -0000
Andrew Overholt 307bbe4
@@ -27,7 +27,6 @@
Andrew Overholt 307bbe4
   
Andrew Overholt 307bbe4
   
Andrew Overholt 307bbe4
   <target name="checkLocal">
Andrew Overholt 307bbe4
-    <available property="mapsLocal" file="\${buildDirectory}/maps/org.eclipse.emf" />
Andrew Overholt 307bbe4
   </target>
Andrew Overholt 307bbe4
 
Andrew Overholt 307bbe4
   <target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
Andrew Overholt 307bbe4
@@ -179,11 +178,11 @@
Andrew Overholt 307bbe4
   </target>
Andrew Overholt 307bbe4
 
Andrew Overholt 307bbe4
   <target name="getBaseInit">
Andrew Overholt 307bbe4
-    <taskdef name="stripVersions" classname="org.eclipse.releng.VersionNumberStripper" />
Andrew Overholt 307bbe4
     <property file="\${buildDirectory}/maps/org.eclipse.emf/build.cfg" />
Andrew Overholt 307bbe4
   </target>
Andrew Overholt 307bbe4
 
Andrew Overholt 307bbe4
   <target name="getBaseEclipse" unless="baseExists" depends="getBaseInit">
Andrew Overholt 307bbe4
+    <taskdef name="stripVersions" classname="org.eclipse.releng.VersionNumberStripper" />
Andrew Overholt 307bbe4
     
Andrew Overholt 307bbe4
     <available file="\${downloadsDir}/\${eclipseFile}" property="baseZipExists" />
Andrew Overholt 307bbe4
     <antcall target="downloadBaseEclipse" />
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
_EOF_
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
# Fetch the actual source
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
java -cp /usr/share/eclipse/startup.jar \
Andrew Overholt 307bbe4
  -Duser.home=../home org.eclipse.core.launcher.Main \
Andrew Overholt 307bbe4
  -application org.eclipse.ant.core.antRunner \
Andrew Overholt 307bbe4
  -buildfile build.xml \
Andrew Overholt 307bbe4
  -DbaseLocation=/usr/share/eclipse \
Andrew Overholt 307bbe4
  -Dpde.build.scripts=/usr/share/eclipse/plugins/org.eclipse.pde.build/scripts \
Andrew Overholt 307bbe4
  -Dcomponent=sdk \
Andrew Overholt 307bbe4
  -DbaseExists=true \
Andrew Overholt 307bbe4
  -DbuildLabel=$cvs_tag \
Andrew Overholt 307bbe4
  -DfetchTag=$cvs_tag \
Andrew Overholt 307bbe4
  -DmapCvsRoot="$cvs_root" \
Andrew Overholt 307bbe4
  -DmapVersionTag=$cvs_tag \
Andrew Overholt 307bbe4
  fetch
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
# Fetch examples
Andrew Overholt 307bbe4
Andrew Overholt 307bbe4
java -cp /usr/share/eclipse/startup.jar \
Andrew Overholt 307bbe4
    -Duser.home=../../home \
Andrew Overholt 307bbe4
    org.eclipse.core.launcher.Main \
Andrew Overholt 307bbe4
    -application org.eclipse.ant.core.antRunner \
Andrew Overholt 307bbe4
    -buildfile build.xml \
Andrew Overholt 307bbe4
    -DbaseLocation=/usr/share/eclipse \
Andrew Overholt 307bbe4
    -Dpde.build.scripts=/usr/share/eclipse/plugins/org.eclipse.pde.build/scripts \
Andrew Overholt 307bbe4
    -Dcomponent=examples \
Andrew Overholt 307bbe4
    -DbaseExists=true \
Andrew Overholt 307bbe4
    -DbuildLabel=$cvs_tag \
Andrew Overholt 307bbe4
    -DfetchTag=$cvs_tag \
Andrew Overholt 307bbe4
    -DmapCvsRoot="$cvs_root" \
Andrew Overholt 307bbe4
    -DmapVersionTag=$cvs_tag \
Andrew Overholt 307bbe4
    fetch
Andrew Overholt 307bbe4
  
Andrew Overholt 307bbe4
popd
Andrew Overholt 307bbe4
# Make the source tarball
Andrew Overholt 307bbe4
tar jcf eclipse-$project_name-fetched-src-$cvs_tag.tar.bz2 $cvs_directory