You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2006/10/05 01:11:10 UTC

svn commit: r453061 - /geronimo/gbuild/scripts/publish_build.sh

Author: dain
Date: Wed Oct  4 16:11:10 2006
New Revision: 453061

URL: http://svn.apache.org/viewvc?view=rev&rev=453061
Log:
Now updated geronimo and openejb version numbers to be -r${SVN_REVISION}
Now checks out and builds OpenEJB with the same revision number as geronimo

Modified:
    geronimo/gbuild/scripts/publish_build.sh

Modified: geronimo/gbuild/scripts/publish_build.sh
URL: http://svn.apache.org/viewvc/geronimo/gbuild/scripts/publish_build.sh?view=diff&rev=453061&r1=453060&r2=453061
==============================================================================
--- geronimo/gbuild/scripts/publish_build.sh (original)
+++ geronimo/gbuild/scripts/publish_build.sh Wed Oct  4 16:11:10 2006
@@ -48,8 +48,6 @@
 #  relatively good state.
 RELEASE_DIR=${2:-/www/people.apache.org/dist/geronimo/unstable}
 
-PROJ=geronimo
-BIN_DIR=modules/assembly/target
 DIST=$PWD/dist
 
 #  Make the DIST directory if it isn't present
@@ -57,27 +55,29 @@
 test -d $DIST || mkdir $DIST
 
 #  The public repo url for geronimo
-SVN_URL="http://svn.apache.org/repos/asf/$PROJ"
-SVN_PATH="server/trunk"
+ASF_REPO="http://svn.apache.org/repos/asf"
+GSVN_PATH="geronimo/server/trunk"
+OSVN_PATH="incubator/openejb/trunk/openejb2"
 
 #  Get the current svn revision number for geronimo
 #  Example: 123456
-export SVN_VERSION=$(wget -q -O - $SVN_URL/$SVN_PATH | grep title | sed 's/[^0-9]//g')
+export SVN_VERSION=$(wget -q -O - $ASF_REPO/$GSVN_PATH | grep title | sed 's/[^0-9]//g')
 
 #  The version of geronimo we are building.  In the future we may have nightly builds
 #  of 1.0 and 2.0 going at the same time, so it's nice to include that in the build name
-VN='1.2'
+GVN='1.2'
+OVN='2.2'
 
-#  Example value: 1.0-123456
-VERSION="$VN-$SVN_VERSION"
+#  Example value: 1.0-r123456
+GVERSION="$GVN-r$SVN_VERSION"
+OVERSION="$OVN-r$SVN_VERSION"
+
+#  Example value: geronimo-1.0-r123456
+GRELEASE_ID="geronimo-$GVERSION"
+ORELEASE_ID="openejb-$OVERSION"
 
-#  Example value: geronimo-1.0-123456
-RELEASE_ID="$PROJ-$VERSION"
-
-#  Example value: /www/cvs.apache.org/dist/geronimo/unstable/1.0-123456
-VERSION_DIR="$RELEASE_DIR/$VERSION"
-
-echo "$RELEASE_ID"
+echo "$GRELEASE_ID"
+echo "$ORELEASE_ID"
 
 ### Build functions ########
 function package () { 
@@ -85,20 +85,41 @@
     tar czf $DEST.tar.gz $SOURCE
     zip -9rq $DEST.zip $SOURCE
 }
-function replace_version {
-        perl -i.orig -pe 's,(-SNAPSHOT)?$,-$ENV{SVN_VERSION}, if /^(geronimo.packaging.)?geronimo_?(.*?plugin_)?[Vv]ersion=/' etc/project.properties  plugins/*/*.properties
-
-        perl -i.orig -pe '
-s,(</currentVersion>),-$ENV{SVN_VERSION}$1, unless /SNAPSHOT/;
-s,-SNAPSHOT(</currentVersion>),-$ENV{SVN_VERSION}$1,;
-s,-SNAPSHOT(</(dep:)?version>),-$ENV{SVN_VERSION}$1, if $p2 =~ /<(dep:)?groupId>geronimo/; 
-$p2=$p1; $p1=$_;
-' plugins/*/project.xml plugins/geronimo-packaging-plugin/src/test-resources/*.xml
-
-        #perl -i.orig -pe 's,SNAPSHOT,GERONIMO, if $p2 =~ /<groupId>geronimo/;$p2=$p1;$p1=$_' plugins/geronimo-packaging-plugin/src/test-resources/plan.xml
-
-        perl -i.orig -pe 's,(-SNAPSHOT)?$,-$ENV{SVN_VERSION}, if /^geronimo...=/' etc/explicit_versions.properties
 
+function replace_version {
+    # change geronimo root pom version to 
+    perl -i.orig -pe '
+        $inParent = 1 if /<parent>/;
+        s,-SNAPSHOT</version>,-r$ENV{SVN_VERSION}</version>, if not $inParent and not $done;
+        $inParent = 0 if $inParent and /<\/parent>/;
+        $done = 1 if /<properties>/ or /<dependencyManagement>/ or /<build>/;
+        s,-SNAPSHOT</openejbVersion>,-r$ENV{SVN_VERSION}</openejbVersion>,;
+    ' $GRELEASE_ID/pom.xml
+
+    # update geronimo parent/version in all child poms
+    perl -i.orig -pe '
+        $done = 0 if /<\?xml/;
+        $inParent = 1 if not $done and /<parent>/;
+        s,-SNAPSHOT</version>,-r$ENV{SVN_VERSION}</version>, if $inParent and not $done;
+        $done = $inParent = 1 if /<\/parent>/;
+    ' $(find $GRELEASE_ID -name pom.xml | grep -v "$GRELEASE_ID/pom.xml")
+
+    # change openejb root pom version to 
+    perl -i.orig -pe '
+        $inParent = 1 if /<parent>/;
+        s,-SNAPSHOT</version>,-r$ENV{SVN_VERSION}</version>, if not $inParent and not $done;
+        $inParent = 0 if $inParent and /<\/parent>/;
+        $done = 1 if /<properties>/ or /<dependencyManagement>/ or /<build>/;
+        s,-SNAPSHOT</geronimoVersion>,-r$ENV{SVN_VERSION}</geronimoVersion>,;
+    ' $ORELEASE_ID/pom.xml
+
+    # update openejb parent/version in all child poms
+    perl -i.orig -pe '
+        $done = 0 if /<\?xml/;
+        $inParent = 1 if not $done and /<parent>/;
+        s,-SNAPSHOT</version>,-r$ENV{SVN_VERSION}</version>, if $inParent and not $done;
+        $done = $inParent = 1 if /<\/parent>/;
+    ' $(find $ORELEASE_ID -name pom.xml | grep -v "$ORELEASE_ID/pom.xml")
 }
 
 function checkout_source {
@@ -107,16 +128,23 @@
     #  just right to be the source directory, then we can just zip and tar
     #  it up before we build it.
     #
-    #  The directory will be named geronimo-1.0-SVN_REVISION_NUMBER
-    svn export --revision $SVN_VERSION $SVN_URL/$SVN_PATH $RELEASE_ID || fail "svn export failed"
+    #  The directory will be named geronimo-1.0-rSVN_REVISION_NUMBER
+    svn checkout --revision $SVN_VERSION $ASF_REPO/$GSVN_PATH $GRELEASE_ID || fail "svn export failed"
+    svn checkout --revision $SVN_VERSION $ASF_REPO/$OSVN_PATH $ORELEASE_ID || fail "svn export failed"
  
     # Replace the version number in the poms with our svn version number
-#    ( cd $RELEASE_ID && replace_version )
+    replace_version
+
+    # create the change log
+    # TODO remove from here and add to boilerplate mvn
+    #java -jar swizzle.jar roadmap.vm > $DIST/CHANGELOG.txt 
+    #cp $DIST/CHANGELOG.txt $GRELEASE_ID/assemblies/geronimo-boilerplate-minimal/src/main/resources/
+
 
     #  Now let's create the source zip and tar before we build while we
     #  still have a completely clean checkout with no target directories,
     #  velocity.log files and other junk created during a build.
-    package $DIST/${RELEASE_ID}-src $RELEASE_ID || fail "Unable to create source binaries"
+    package $DIST/${RELEASE_ID}-src $GRELEASE_ID || fail "Unable to create source binaries"
 }
 
 function build_archives {
@@ -125,16 +153,17 @@
     #  If the build fails to compile, the 'fail' function is called and this script will exit
     #  and nothing will be published.
     export MAVEN_OPTS="-Xmx512m $MAVEN_OPTS" 
-    ( cd $RELEASE_ID && mvn -e -U -Dmaven.{itest,test}.skip=true install ) || fail "Build failed"
+    ( cd $GRELEASE_ID && mvn -e -U -Dmaven.{itest,test}.skip=true -Dstage=bootstrap ) || fail "Build failed"
+    ( cd $ORELEASE_ID && mvn -e -U -Dmaven.{itest,test}.skip=true install ) || fail "Build failed"
+    ( cd $GRELEASE_ID && mvn -e -U -Dmaven.{itest,test}.skip=true -Dstage=assemble ) || fail "Build failed"
 }
 
 function gather_archives {
     #  During the assembly module a directory called geronimo-1.0-SVN_REVISION was created.  Let's 
     #  move in to that directory and create a geronimo-1.0-SVN_REVISION.zip and a tar.gz of the same name.
     #  When unpacked by users, these archives will extract into a directory called geronimo-1.0-SVN_REVISION/
-    #cp $RELEASE_ID/assemblies/*/target/*.{zip,gz} $DIST/  || faile "Unable to copy in built files"
-    for archive in $RELEASE_ID/assemblies/*/target/*.{zip,gz}; do
-        cp $archive $DIST/$(basename ${archive/SNAPSHOT-bin/$SVN_VERSION})
+    for archive in $GRELEASE_ID/assemblies/*/target/*.{zip,gz}; do
+        cp $archive $DIST/$(basename ${archive/-bin/})
     done || fail "Unable to copy in built files"
 
     #  Let's create checksums for our source and binary tars and zips.
@@ -151,7 +180,7 @@
     #  Here we setup some variables for use.  The VERSION_DIR will typically look like:
     #     /www/cvs.apache.org/dist/geronimo/unstable/1.0-SVN_REVISION/
     #  This is the directory on apache.org where non-release builds a placed.
-    VERSION_DIR=$RELEASE_DIR/$VERSION
+    VERSION_DIR=$RELEASE_DIR/$GVERSION
 
     #  At this point we are mostly done, we just need to make our release directory and copy the files.
     #
@@ -199,7 +228,7 @@
     [ "$DELETE_LIST" ] && ( $SSH "cd $RELEASE_DIR && rm -r $DELETE_LIST" )
 
     #  clean up locally
-    echo rm -r $DIST/* $RELEASE_ID
+    echo rm -r $DIST/* $GRELEASE_ID
 }
 
 checkout_source