217 lines
6.7 KiB
XML
217 lines
6.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<project name="GeSHi" default="pack" basedir=".">
|
|
<!--
|
|
GeSHi - Generic Syntax Highlighter - phing build file.
|
|
Works for 1.0.x
|
|
Packs up a new version of geshi, tags it in git and releases it on
|
|
sourceforge.net
|
|
-->
|
|
<property file="build.properties" />
|
|
|
|
<property name="version" value="1.0.9.1" />
|
|
<property name="stability" value="stable" />
|
|
<property name="zipfile" value="${phing.project.name}-${version}.zip" />
|
|
<property name="gzfile" value="${phing.project.name}-${version}.tar.gz" />
|
|
<property name="bz2file" value="${phing.project.name}-${version}.tar.bz2" />
|
|
<property name="pkgfile" value="geshi-${version}.tgz" />
|
|
<property name="fileprefix" value="geshi/" />
|
|
<property name="sfproject" value="GeSHi" />
|
|
<property name="sffilepath" value="g/ge/geshi/" />
|
|
|
|
<property name="releasenotes" value="
|
|
Version 1.0.9.1
|
|
" />
|
|
|
|
|
|
<fileset dir="src" id="files">
|
|
<include name="**"/>
|
|
<exclude name="**/.gitignore/"/>
|
|
</fileset>
|
|
|
|
<fileset dir="." id="extra">
|
|
<include name="contrib/**"/>
|
|
<include name="docs/**"/>
|
|
</fileset>
|
|
|
|
<taskdef name="d51pearpkg2" classname="phing.tasks.ext.d51PearPkg2Task" />
|
|
|
|
|
|
|
|
<target name="pack" depends=""
|
|
description="Create zip and tar files for release"
|
|
>
|
|
<mkdir dir="dist" />
|
|
<echo msg="Creating distribution files for ${phing.project.name} ${version}"/>
|
|
|
|
<delete file="dist/${zipfile}" failonerror="false"/>
|
|
<delete file="dist/${gzfile}" failonerror="false"/>
|
|
<delete file="dist/${bz2file}" failonerror="false"/>
|
|
|
|
<zip destfile="dist/${zipfile}" prefix="${fileprefix}">
|
|
<fileset refid="files" />
|
|
<fileset refid="extra" />
|
|
</zip>
|
|
<tar destfile="dist/${gzfile}" prefix="${fileprefix}" compression="gzip">
|
|
<fileset refid="files" />
|
|
<fileset refid="extra" />
|
|
</tar>
|
|
<tar destfile="dist/${bz2file}" prefix="${fileprefix}" compression="bzip2">
|
|
<fileset refid="files" />
|
|
<fileset refid="extra" />
|
|
</tar>
|
|
</target>
|
|
|
|
|
|
|
|
<target name="pack-pear" depends=""
|
|
description="Creates the PEAR package"
|
|
>
|
|
<mkdir dir="dist/pear" />
|
|
<delete file="src/package.xml" failonerror="false" />
|
|
<d51pearpkg2 dir="src" baseinstalldir="/">
|
|
<name>geshi</name>
|
|
<summary>Generic syntax highlighter, written in PHP.</summary>
|
|
<description>
|
|
GeSHi is a generic syntax highlighter, written in PHP. You simply
|
|
input the source code you wish to highlight with the language you
|
|
wish to use, and the output will be a file syntax highlighted to
|
|
XHTML standards.
|
|
</description>
|
|
<channel>pear.geshi.org</channel>
|
|
|
|
<lead user="benbe" name="Benny Baumann" email="benbe@geshi.org" />
|
|
<license>AGPL</license>
|
|
|
|
<version release="${version}" api="${version}" />
|
|
<stability release="${stability}" api="${stability}" />
|
|
|
|
<notes>${releasenotes}</notes>
|
|
|
|
<dependencies>
|
|
<php minimum_version="5.3.0" />
|
|
<pear minimum_version="1.9.0" />
|
|
</dependencies>
|
|
|
|
<!-- map directory (key) to role -->
|
|
<dirroles key="src">.</dirroles>
|
|
|
|
<ignore>**/.gitignore</ignore>
|
|
<ignore>contrib/**</ignore>
|
|
<ignore>dist/**</ignore>
|
|
<ignore>docs/**</ignore>
|
|
<ignore>*.properties</ignore>
|
|
<ignore>*.tgz</ignore>
|
|
</d51pearpkg2>
|
|
<!-- time to fix the package.xml file since the task does not
|
|
allow everything we need:
|
|
- strip the base directory names like src, data and www
|
|
- remove that dumb baseinstalldir from files
|
|
- md5sums are generated automatically when packaging
|
|
-->
|
|
<!-- yes, we need to generate a 2nd file and move it back -->
|
|
<copy file="src/package.xml" tofile="src/package2.xml" overwrite="true">
|
|
<filterchain>
|
|
<replaceregexp>
|
|
<!-- remove md5sums -->
|
|
<regexp
|
|
pattern="md5sum="[a-z0-9]{32}" "
|
|
replace=""
|
|
/>
|
|
<!-- remove baseinstalldir for files -->
|
|
<regexp
|
|
pattern="<file baseinstalldir="/""
|
|
replace="<file"
|
|
/>
|
|
<!-- install-as for different directories -->
|
|
<regexp
|
|
pattern="(<file name="data/(.+?)")"
|
|
replace="\1 install-as="\2""
|
|
/>
|
|
<regexp
|
|
pattern="(<file name="doc/(.+?)")"
|
|
replace="\1 install-as="\2""
|
|
/>
|
|
<regexp
|
|
pattern="(<file name="tests/(.+?)")"
|
|
replace="\1 install-as="\2""
|
|
/>
|
|
<regexp
|
|
pattern="(<file name="www/(.+?)")"
|
|
replace="\1 install-as="phorkie/\2""
|
|
/>
|
|
<regexp
|
|
pattern="(<file name="src/(.+?)")"
|
|
replace="\1 install-as="\2""
|
|
/>
|
|
</replaceregexp>
|
|
</filterchain>
|
|
</copy>
|
|
<move file="src/package2.xml" tofile="src/package.xml" overwrite="true" />
|
|
|
|
<!-- package up -->
|
|
<exec command="pear package" passthru="true" dir="src" />
|
|
<move file="src/${pkgfile}" todir="${phing.dir}/dist/pear/" />
|
|
|
|
<delete file="src/package.xml" failonerror="true" />
|
|
</target>
|
|
|
|
|
|
|
|
<target name="release" depends="check,pack,pack-pear,deploy-sf,gittag"
|
|
description="Release the version on sourceforge"
|
|
>
|
|
<!-- meta-target -->
|
|
</target>
|
|
|
|
|
|
<!--
|
|
https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download
|
|
-->
|
|
<target name="deploy-sf" depends="check,pack"
|
|
description="Upload release to sourceforge"
|
|
>
|
|
<delete dir="dist/deploy-sf" /><!-- make empty -->
|
|
<mkdir dir="dist/deploy-sf" />
|
|
<mkdir dir="dist/deploy-sf/geshi" />
|
|
<mkdir dir="dist/deploy-sf/geshi/GeSHi ${version}" />
|
|
<copy todir="dist/deploy-sf/geshi/GeSHi ${version}/">
|
|
<fileset dir="dist">
|
|
<include name="${zipfile}" />
|
|
<include name="${gzfile}" />
|
|
<include name="${bz2file}" />
|
|
</fileset>
|
|
</copy>
|
|
<!-- 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="gittag"
|
|
description="create the git tag for the current version"
|
|
>
|
|
<exec
|
|
command="git tag v${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>
|