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 --> <!-- Build a package consisting of all supporting files -->
<target name="package" depends="dist,stage" description="bundle up an executable for distribution"> <target name="package" depends="dist,stage" description="bundle up an executable for distribution">
<mkdir dir="${dist.dir}/packages" /> <mkdir dir="${dist.dir}/packages" />
<xslt in="packages/${executable}.xml" out="${dist.dir}/packages/Build${executable}.xml" style="packages/CreatePackager.xsl" /> <xslt in="packages/${executable}.xml" out="${dist.dir}/packages/Build${executable}.xml" style="packages/CreatePackager.xsl" />
<ant antfile="${dist.dir}/packages/Build${executable}.xml" /> <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> </target>
<!-- Build a subset of picard with only those classes we need by completely abusing the packaging system --> <!-- 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="classpath" select="'${sting.dir}/staging:${additional.jars}'" />
<xsl:variable name="dist.dir" select="'${sting.dir}/dist'" /> <xsl:variable name="dist.dir" select="'${sting.dir}/dist'" />
<xsl:variable name="staging.dir" select="'${sting.dir}/staging'" /> <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.dir" select="'${package.dir}'" />
<xsl:variable name="package.filename" select="'${package.filename}'" /> <xsl:variable name="package.filename" select="'${package.filename}'" />
<xsl:variable name="resources.dir" select="'${package.dir}/resources'" /> <xsl:variable name="resources.dir" select="'${package.dir}/resources'" />
@ -13,25 +14,22 @@
<xsl:template match="package"> <xsl:template match="package">
<xsl:output method="xml" indent="yes"/> <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}" /> <property name="sting.dir" value="{$ant.basedir}" />
<!-- Read version information out of the xml file --> <!-- Read version information out of the xml file -->
<xsl:choose> <xsl:choose>
<xsl:when test="version/@property"> <xsl:when test="version/@property">
<echo message="VERSION!!! = {version/@property}" />
<xsl:variable name="version.property" select="concat('${',version/@property,'}')" /> <xsl:variable name="version.property" select="concat('${',version/@property,'}')" />
<property file="{$staging.dir}/{version/@file}" /> <property file="{$staging.dir}/{version/@file}" />
<property name="package.dir" value="{concat($dist.dir,'/packages/',$project.name,'-',$version.property)}" /> <property name="package.basename" value="{concat(@name,'-',$version.property)}" />
<property name="package.filename" value="{concat(@name,'-',$version.property,'.tar.bz2')}" />
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<property name="package.dir" value="{concat($dist.dir,'/packages/',$project.name)}" /> <property name="package.basename" value="{@name}" />
<property name="package.filename" value="{concat(@name,'.tar.bz2')}" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </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"> <target name="package">
<!-- Verify that all classes specified are present --> <!-- Verify that all classes specified are present -->
@ -65,7 +63,19 @@
<tar destfile="{$dist.dir}/packages/{$package.filename}" basedir="{$package.dir}" compression="bzip2" /> <tar destfile="{$dist.dir}/packages/{$package.filename}" basedir="{$package.dir}" compression="bzip2" />
</target> </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> </target>
</project> </project>
</xsl:template> </xsl:template>

View File

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