diff options
author | Jani Laakso <jani.laakso@itmill.com> | 2007-03-14 18:50:29 +0000 |
---|---|---|
committer | Jani Laakso <jani.laakso@itmill.com> | 2007-03-14 18:50:29 +0000 |
commit | d47edff182bce0538f4e40fb2a72913b9a731546 (patch) | |
tree | 3d143a3addc9dd7707791935dde1f4b264134aab /build | |
parent | e212e73ebb3e2705ef269bba1ac204abdd29511c (diff) | |
download | vaadin-framework-d47edff182bce0538f4e40fb2a72913b9a731546.tar.gz vaadin-framework-d47edff182bce0538f4e40fb2a72913b9a731546.zip |
svn changeset:924/svn branch:trunk
Diffstat (limited to 'build')
-rw-r--r-- | build/toolkit-release-make.pl | 66 |
1 files changed, 44 insertions, 22 deletions
diff --git a/build/toolkit-release-make.pl b/build/toolkit-release-make.pl index da1a8ee414..df75ed27c4 100644 --- a/build/toolkit-release-make.pl +++ b/build/toolkit-release-make.pl @@ -19,21 +19,21 @@ my $usage = " <version> is new version, e.g. 4.0.1-rc3\n". " <target> is directory to store release zip file, e.g. internal/4.0.1-rc/\n"; -my $BRANCH = shift(@ARGV) || die($usage); -my $VERSION = shift(@ARGV) || die($usage); -my $TARGET = shift(@ARGV) || die($usage); +my $BRANCH = shift(@ARGV) || &failure($usage); +my $VERSION = shift(@ARGV) || &failure($usage); +my $TARGET = shift(@ARGV) || &failure($usage); my $t = ""; if (!$BRANCH =~ /([4-9]{1}\.[0-9]{1})/) { - die ("<branch> must be format {x}.{y} where {x}=major (4-9), ". + &failure ("\n<branch> must be format {x}.{y} where {x}=major (4-9), ". "{y}=minor (0-9).\n"); } if ( (!$VERSION =~ /[4-9]{1}\.[0-9]{1,2}.[0-9]{1,3}/) && (!$VERSION =~ /[4-9]{1}\.[0-9]{1,2}.[0-9]{1,3}-rc[0-9]{1,2}/) ) { - die ("<version> must be format {x}.{y}.{z} or x.y.z-rc{m} ". + &failure ("\n<version> must be format {x}.{y}.{z} or x.y.z-rc{m} ". "where {x}=major (4-9), {y}=minor (0-99), {z}=revision ". "(0-999) and optional release candidate number {m}=(0-99).\n"); } @@ -41,19 +41,25 @@ if ( (!$TARGET =~ /release\/[4-9]{1}\.[0-9]{1,2}.[0-9]{1,3}/) && (!$TARGET =~ /internal\/[4-9]{1}\.[0-9]{1,2}.[0-9]{1,3}-rc[0-9]{1,2}/) ) { - die ("<dir> must be e.g. internal/4.0.1-rc/ or release/4.0.\n"); + &failure ("\n<target> must be e.g. internal/4.0.1-rc/ or release/4.0.\n"); } -print "Make sure $WORKDIR directory\n"; -print "BRANCH [$BRANCH]\nVERSION [$VERSION]\nDIR [$SVN_URL_BUILDS$TARGET]\n"; +# Open log file +open(LOG, "> $WORKDIR/builds/$TARGET/itmill-toolkit-$VERSION.make.log"); -&proceed("Initializing repositories"); +# Make sure $WORKDIR directory exists +&message( + "\n BRANCH [$BRANCH]\n VERSION [$VERSION]\n". + " DIR [$SVN_URL_BUILDS/$TARGET]\n" +); + +&message(" Initializing repositories "); # go to directory where repository working copies (WC) are -chdir($WORKDIR); +chdir($WORKDIR) || &failure("Could not chdir to $WORKDIR.\n"); # delete old repo &execute("rm -rf $BRANCH"); # checkout (if missing) build repository -&execute("svn co $SVN_ROOT/builds"); +&execute("svn co $SVN_ROOT/builds | grep \"Checked out\""); # it's safest to replace 4.0 from trunk (but you could use also merging) &execute( "svn rm $SVN_ROOT/branches/$BRANCH ". @@ -64,9 +70,9 @@ chdir($WORKDIR); "-m \"Recreating $BRANCH branch from trunk. Copying new $BRANCH.\"" ); # checkout $BRANCH -&execute("svn co $SVN_ROOT/branches/$BRANCH"); +&execute("svn co $SVN_ROOT/branches/$BRANCH | grep \"Checked out\""); -&proceed("Changing VERSION"); +&message(" Changing VERSION"); # go to $BRANCH directory chdir("$WORKDIR/$BRANCH"); # fix links as VERSION changes @@ -79,42 +85,58 @@ chdir("$WORKDIR/$BRANCH"); # increment VERSION &execute("echo \"version=$VERSION\" >build/VERSION"); -&proceed("Commit changes"); +&message(" Commit changes "); # commit changes &execute("svn ci -m \"Building $VERSION release.\""); -&proceed("Executing ant"); +&message(" Executing ant "); # execute build script, takes 5-40 minutes depending on hw chdir("$WORKDIR/$BRANCH/build"); &execute("ant"); -&proceed("Copying branch 4.0 under tags branch"); +&message(" Copying branch 4.0 under tags branch"); # copy branch 4.0 into tags directory (some may interpret this as tagging) &execute( "svn copy $SVN_ROOT/branches/4.0 $SVN_ROOT/tags/$VERSION ". "-m \"Copying $VERSION release into tags.\"" ); -&proceed("Committing release package zip file to builds dir"); +&message(" Committing release package zip file to builds dir "); # commit release package zip to SVN &execute("cp result/itmill-toolkit-$VERSION.zip $WORKDIR/builds/$TARGET"); chdir("$WORKDIR/builds/$TARGET"); &execute("svn add itmill-toolkit-$VERSION.zip"); -&execute("svn ci -m \"Added $VERSION release package.\""); +&execute( + "svn ci itmill-toolkit-$VERSION.zip ". + "-m \"Added $VERSION release package.\"" +); +&message(" Done "); + +# store log to SVN +close(LOG); +`svn add $WORKDIR/builds/$TARGET/itmill-toolkit-$VERSION.make.log`; +`svn ci $WORKDIR/builds/$TARGET/itmill-toolkit-$VERSION.make.log -m \"Added $VERSION toolkit-release-make log file.\"`; -print "Done.\n"; exit; -sub proceed() { +sub message() { my $msg = shift; - $msg = "\n\n*** ".$msg.", press any key to continue ***"; + $msg = "\n***".$msg."***\n"; print $msg; - <STDIN>; + print LOG $msg; } sub execute() { my $cmd = shift; print " $cmd\n"; + print LOG " $cmd\n"; my $result = `$cmd`; print $result."\n"; + print LOG $result."\n"; } + +sub failure() { + my $msg = shift; + print $msg."\n"; + exit; +}
\ No newline at end of file |