<?xml version="1.0" encoding="utf-8"?> <project name="SemanticScuttle" default="zip" basedir="."> <!-- SemanticScuttle phing build file. This script should provide a one-stop tool for all administrative tasks around SemanticScuttle, like creating a release version, tagging a release, running unit tests etc. --> <property file="build.properties" /> <property name="version-m" value="0.95" /> <property name="version" value="0.95.1" /> <property name="zipfile" value="${phing.project.name}-${version}.zip" /> <property name="distfile" value="dist/${zipfile}" /> <property name="sfproject" value="SemanticScuttle" /> <property name="sffilepath" value="s/se/semanticscuttle/" /> <property name="svnpath" value="https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/" /> <target name="zip" depends="check" description="Create zip file for release" > <!-- The release file is for end users, so it is safe to remove anything developer-related. Test your zip with: unzip -l SemanticScuttle-0.95.0.zip --> <mkdir dir="dist" /> <echo msg="Creating distribution zip for SemanticScuttle ${version}"/> <delete file="${distfile}" failonerror="false"/> <zip destfile="${distfile}" prefix="${phing.project.name}-${version}/"> <fileset dir="."> <include name="data/**"/> <include name="doc/**"/> <include name="src/**"/> <include name="www/**"/> <exclude name="**/.gitignore/"/> <exclude name="**/.svn/"/> <exclude name="data/config.php"/> <exclude name="data/locales/messages.po"/> <exclude name="data/locales/*/LC_MESSAGES/messages.po"/> <exclude name="doc/developers/"/> <exclude name="src/php-gettext/examples/" /> <exclude name="src/php-gettext/bin/"/> </fileset> </zip> </target> <target name="release" depends="check,zip,deploy-sf,svntag" description="Release the version on sourceforge" > <!-- meta-target --> </target> <!-- /home/frs/project/s/se/semanticscuttle/SemanticScuttle/v0.94/ /home/frs/project/s/se/semanticscuttle/SemanticScuttle/v0.94/SemanticScuttle-v0.94.zip /home/frs/project/s/se/semanticscuttle/SemanticScuttle/v0.94/SemanticScuttle-v0.94.1.zip https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download --> <target name="deploy-sf" depends="check,zip" description="Upload release to sourceforge" > <delete dir="dist/deploy-sf" /><!-- make empty --> <mkdir dir="dist/deploy-sf" /> <mkdir dir="dist/deploy-sf/v${version-m}" /> <copy file="${distfile}" tofile="dist/deploy-sf/v${version-m}/${zipfile}"/> <!-- test <exec command="rsync -av dist/deploy-sf/ /tmp/test/" escape="false" /> --> <exec command="rsync -av -e ssh dist/deploy-sf/ ${sfuser},${sfproject}@frs.sourceforge.net:/home/frs/project/${sffilepath}/${sfproject}/" escape="false" checkreturn="false" /> <!-- rsync always returns code 23 on sourceforge releases, so we can't check return values --> </target> <target name="svntag" description="create the svn tag for the current version" > <exec command="svn cp ${svnpath}trunk ${svnpath}/tags/${version} -m 'tag version ${version}'" escape="false" checkreturn="true" /> </target> <target name="check" description="Check variables" > <fail unless="version" message="Version not defined!" /> <fail unless="sfuser" message="Sourceforge username not defined!" /> <fail unless="sfproject" message="Sourceforge project name not defined!" /> <fail unless="sffilepath" message="Sourceforge project file path not defined!" /> </target> </project>