Add new 'release' task to push releases into a shared directory and the website.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2695 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2010-01-26 22:50:20 +00:00
parent 1f64c5d41a
commit 169032aa78
3 changed files with 30 additions and 12 deletions

View File

@ -379,9 +379,13 @@
<!-- Build a package consisting of all supporting files -->
<target name="package" depends="dist,stage" description="bundle up an executable for distribution">
<mkdir dir="${dist.dir}/packages" />
<xslt in="packages/${executable}.xml" out="${dist.dir}/packages/Build${executable}.xml" style="packages/CreatePackager.xsl" />
<ant antfile="${dist.dir}/packages/Build${executable}.xml" />
<mkdir dir="${dist.dir}/packages" />
<xslt in="packages/${executable}.xml" out="${dist.dir}/packages/Build${executable}.xml" style="packages/CreatePackager.xsl" />
<ant antfile="${dist.dir}/packages/Build${executable}.xml" target="package" />
</target>
<target name="release" depends="package" description="release a build, putting each file in a location specified by the package">
<ant antfile="${dist.dir}/packages/Build${executable}.xml" target="release" />
</target>
<!-- Build a subset of picard with only those classes we need by completely abusing the packaging system -->

View File

@ -6,6 +6,7 @@
<xsl:variable name="classpath" select="'${sting.dir}/staging:${additional.jars}'" />
<xsl:variable name="dist.dir" select="'${sting.dir}/dist'" />
<xsl:variable name="staging.dir" select="'${sting.dir}/staging'" />
<xsl:variable name="package.basename" select="'${package.basename}'" />
<xsl:variable name="package.dir" select="'${package.dir}'" />
<xsl:variable name="package.filename" select="'${package.filename}'" />
<xsl:variable name="resources.dir" select="'${package.dir}/resources'" />
@ -13,25 +14,22 @@
<xsl:template match="package">
<xsl:output method="xml" indent="yes"/>
<xsl:variable name="project.name" select="@name" />
<project name="{@name}" default="package">
<project name="{$project.name}" default="package">
<property name="sting.dir" value="{$ant.basedir}" />
<!-- Read version information out of the xml file -->
<xsl:choose>
<xsl:when test="version/@property">
<echo message="VERSION!!! = {version/@property}" />
<xsl:variable name="version.property" select="concat('${',version/@property,'}')" />
<property file="{$staging.dir}/{version/@file}" />
<property name="package.dir" value="{concat($dist.dir,'/packages/',$project.name,'-',$version.property)}" />
<property name="package.filename" value="{concat(@name,'-',$version.property,'.tar.bz2')}" />
<property name="package.basename" value="{concat(@name,'-',$version.property)}" />
</xsl:when>
<xsl:otherwise>
<property name="package.dir" value="{concat($dist.dir,'/packages/',$project.name)}" />
<property name="package.filename" value="{concat(@name,'.tar.bz2')}" />
<property name="package.basename" value="{@name}" />
</xsl:otherwise>
</xsl:choose>
<property name="package.dir" value="{concat($dist.dir,'/packages/',$package.basename)}" />
<property name="package.filename" value="{concat($package.basename,'.tar.bz2')}" />
<target name="package">
<!-- Verify that all classes specified are present -->
@ -65,7 +63,19 @@
<tar destfile="{$dist.dir}/packages/{$package.filename}" basedir="{$package.dir}" compression="bzip2" />
</target>
<target name="install">
<target name="release">
<xsl:for-each select="release/executable">
<copy todir="{@directory}/{$package.basename}"><fileset dir="{$package.dir}" /></copy>
<xsl:if test="@symlink">
<symlink link="{@directory}/{@symlink}" resource="{@directory}/{$package.basename}" overwrite="true" />
</xsl:if>
</xsl:for-each>
<xsl:for-each select="release/archive">
<copy file="{$dist.dir}/packages/{$package.filename}" todir="{@directory}" />
<xsl:if test="@symlink">
<symlink link="{@directory}/{@symlink}" resource="{@directory}/{$package.filename}" overwrite="true" />
</xsl:if>
</xsl:for-each>
</target>
</project>
</xsl:template>

View File

@ -44,4 +44,8 @@
<file name="testdata/exampleFASTA.fasta.fai" />
<file name="testdata/exampleFASTA.dict" />
</resources>
<release>
<executable directory="/humgen/gsa-hpprojects/GATK/bin" symlink="current" />
<archive directory="/web/ftp/pub/gsa/GenomeAnalysisTK" symlink="GenomeAnalysisTK.tar.bz2" />
</release>
</package>