update excludes
[phorkie.git] / build.xml
index 551f2ce87e3a1e684875f5e1997da679d28a7f91..174fe3a809d81bc2259612a632551f6d73472fb9 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -8,13 +8,36 @@
   -->
   <property file="build.properties" />
 
   -->
   <property file="build.properties" />
 
-  <property name="version-m"  value="0.2" />
-  <property name="version"    value="0.2.0" />
+  <property name="version-m"  value="0.4" />
+  <property name="version"    value="0.4.0" />
   <property name="stability"  value="alpha" />
   <property name="releasenotes" value="
   <property name="stability"  value="alpha" />
   <property name="releasenotes" value="
-First release
+Version 0.3.1 - 2012-09-27
+--------------------------
+* Check for OpenID package in SetupCheck
+* Fix bug #24: setupcheck: verify geshi installation
+* Fix bug #25: setupcheck: verify markdown
+
+Version 0.3.0 - 2012-09-27
+--------------------------
+
+* Fix bug #10: error when nothing submitted [cweiske]
+* Fix bug #11: do not index edit, delete and tool pages [cweiske]
+* Fix bug #20: elasticsearch error on deletion [cweiske]
+* Fix bug #22: Edited pastes not in 'recently created' [cweiske]
+* Fix bug #23: 'work dir not found' on failed remote fork [cweiske]
+* Implement request #5: Add OpenID authentication [jnovack]
+* Implement request #9: autodetect file type [cweiske]
+* Implement request #12: DOAP and rel='vcs-git' support [cweiske]
+* Implement request #13: remote forking support [cweiske]
+* Hide additional file fields by default, button to toggle their visibility
+  [cweiske]
+* Markdown support [jnovack]
+* Added nginx rewrite rules to README [skl]
 " />
 " />
-  <property name="zipfile"     value="${phing.project.name}-${version}.zip" />
+  <property name="libdir"      value="${phing.dir}/lib"/>
+  <property name="zipfile"     value="${phing.project.name}-${version}.tar.bz2" />
+  <property name="pharfile"    value="${phing.dir}/dist/${phing.project.name}-${version}.phar" />
   <property name="pkgfile"     value="${phing.project.name}-${version}.tgz" />
   <property name="distfile"    value="dist/${zipfile}" />
   <property name="distpkgfile" value="dist/pear/${pkgfile}" />
   <property name="pkgfile"     value="${phing.project.name}-${version}.tgz" />
   <property name="distfile"    value="dist/${zipfile}" />
   <property name="distpkgfile" value="dist/pear/${pkgfile}" />
@@ -23,22 +46,111 @@ First release
 
   <fileset id="fs.zip" dir=".">
    <include name="data/**"/>
 
   <fileset id="fs.zip" dir=".">
    <include name="data/**"/>
+   <include name="scripts/**"/>
    <include name="src/**"/>
    <include name="www/**"/>
    <include name="src/**"/>
    <include name="www/**"/>
+
+   <include name="ChangeLog"/>
    <include name="LICENSE"/>
    <include name="LICENSE"/>
+   <include name="NEWS.rst"/>
    <include name="README.rst"/>
    <include name="README.rst"/>
+
+   <exclude name="**/.git/"/>
    <exclude name="**/.gitignore/"/>
    <exclude name="data/config.php"/>
    <exclude name="**/.gitignore/"/>
    <exclude name="data/config.php"/>
+   <exclude name="www/**/.phar"/>
+   <exclude name="www/repos"/>
+  </fileset>
+
+  <fileset id="fs.phar" dir="${phing.dir}">
+   <include name="data/**"/>
+   <include name="lib/**"/>
+   <include name="scripts/**"/>
+   <include name="src/**"/>
+   <include name="www/**"/>
+
+   <include name="ChangeLog"/>
+   <include name="README.rst"/>
+
+   <exclude name="data/config.php"/>
+   <exclude name="**/.git/"/>
+   <exclude name="**/.gitignore/"/>
+   <exclude name="www/**/.phar"/>
+   <exclude name="www/repos"/>
   </fileset>
 
   <fileset id="fs.doc" dir=".">
    <include name="README.rst"/>
   </fileset>
 
   <fileset id="fs.doc" dir=".">
    <include name="README.rst"/>
+   <include name="NEWS.rst"/>
   </fileset>
 
   </fileset>
 
-  <taskdef name="rST" classname="phing.tasks.ext.rSTTask" />
   <taskdef name="d51pearpkg2" classname="phing.tasks.ext.d51PearPkg2Task" />
 
   <taskdef name="d51pearpkg2" classname="phing.tasks.ext.d51PearPkg2Task" />
 
-  <target name="zip" depends="check"
+
+  <target name="phar" depends="preparedirs,collectdeps"
+          description="Create phar file for release"
+  >
+   <delete file="${pharfile}"/>
+   <exec command="php scripts/build-rewritemap.php" dir="${phing.dir}"/>
+   <pharpackage basedir="${phing.dir}"
+                destfile="${pharfile}"
+                stub="${phing.dir}/src/stub-phar.php"
+                alias="phorkie.phar"
+   >
+    <fileset refid="fs.phar"/>
+   </pharpackage>
+
+   <exec executable="bzip2" dir="${phing.dir}/dist">
+    <arg value="-kf"/>
+    <arg file="${pharfile}"/>
+   </exec>
+  </target>
+
+
+  <target name="collectdeps" description="Copy package dependencies to lib/">
+   <delete dir="${libdir}"/>
+   <mkdir dir="${libdir}"/>
+
+   <!-- requires phing >= 2.8.0 -->
+   <copy todir="${libdir}">
+    <pearPackageFileset package="pear.php.net/Cache_Lite"/><!-- OpenID -->
+    <pearPackageFileset package="pear.php.net/Console_Getopt"/>
+    <pearPackageFileset package="pear.php.net/Crypt_DiffieHellman"/><!-- OpenID -->
+    <pearPackageFileset package="pear.php.net/Date_HumanDiff"/>
+    <pearPackageFileset package="pear.geshi.org/geshi">
+     <!-- remove files that are probably not needed to save space in the .phar -->
+     <exclude name="geshi/arm.php"/>
+     <exclude name="geshi/autoit.php"/>
+     <exclude name="geshi/thinbasic.php"/>
+    </pearPackageFileset>
+    <pearPackageFileset package="pear.php.net/HTTP2"/>
+    <pearPackageFileset package="pear.php.net/HTTP_Request2"/>
+    <pearPackageFileset package="pear.php.net/MIME_Type"/>
+    <pearPackageFileset package="zustellzentrum.cweiske.de/MIME_Type_PlainDetect"/>
+    <pearPackageFileset package="zustellzentrum.cweiske.de/MIME_Type_PlainDetect" role="data"/>
+    <pearPackageFileset package="pear.michelf.com/Markdown"/>
+    <pearPackageFileset package="pear.php.net/Net_URL2"/>
+    <pearPackageFileset package="pear.php.net/OpenID"/>
+    <pearPackageFileset package="pear.php.net/Pager"/>
+    <pearPackageFileset package="pear.php.net/PEAR">
+     <include name="PEAR/Exception.php"/>
+     <include name="PEAR.php"/>
+     <include name="PEAR5.php"/>
+     <include name="OS/Guess.php"/>
+     <include name="System.php"/>
+    </pearPackageFileset>
+    <pearPackageFileset package="pear.php.net/Services_Libravatar"/>
+    <pearPackageFileset package="pear2.php.net/PEAR2_Services_Linkback"/>
+    <pearPackageFileset package="pear.php.net/Services_Yadis"/>
+    <pearPackageFileset package="pear.php.net/System_Command"/>
+    <pearPackageFileset package="pear.twig-project.org/Twig"/>
+    <pearPackageFileset package="pear.php.net/Validate"/>
+    <pearPackageFileset package="pear.php.net/VersionControl_Git"/>
+   </copy>
+  </target>
+
+
+  <target name="zip" depends="preparedirs"
    description="Create zip file for release"
    >
     <!--
    description="Create zip file for release"
    >
     <!--
@@ -49,9 +161,11 @@ First release
     -->
     <echo msg="Creating distribution zip for phorkie ${version}"/>
     <delete file="${distfile}" failonerror="false"/>
     -->
     <echo msg="Creating distribution zip for phorkie ${version}"/>
     <delete file="${distfile}" failonerror="false"/>
-    <zip destfile="${distfile}" prefix="${phing.project.name}-${version}/">
+    <tar compression="bzip2" destfile="${distfile}"
+         prefix="${phing.project.name}-${version}/"
+    >
      <fileset refid="fs.zip"/>
      <fileset refid="fs.zip"/>
-    </zip>
+    </tar>
   </target>
 
 
   </target>
 
 
@@ -77,33 +191,50 @@ First release
      <notes>${releasenotes}</notes>
 
      <dependencies>
      <notes>${releasenotes}</notes>
 
      <dependencies>
-       <php minimum_version="5.2.0" />
+       <php minimum_version="5.3.0" />
        <pear minimum_version="1.9.0" />
 
        <package name="Date_HumanDiff"
                 channel="pear.php.net"
        <pear minimum_version="1.9.0" />
 
        <package name="Date_HumanDiff"
                 channel="pear.php.net"
-                minimum_version="0.1.0"
+                minimum_version="0.4.0"
                 />
        <package name="HTTP_Request2"
                 channel="pear.php.net"
                 minimum_version="2.1.0"
                 />
                 />
        <package name="HTTP_Request2"
                 channel="pear.php.net"
                 minimum_version="2.1.0"
                 />
+       <package name="OpenID"
+                channel="pear.php.net"
+                minimum_version="0.3.3"
+                />
        <package name="Pager"
                 channel="pear.php.net"
                 minimum_version="2.4.8"
                 />
        <package name="Pager"
                 channel="pear.php.net"
                 minimum_version="2.4.8"
                 />
+       <package name="PEAR2_Services_Linkback"
+                channel="pear2.php.net"
+                minimum_version="0.2.1"
+                />
        <package name="Services_Libravatar"
                 channel="pear.php.net"
        <package name="Services_Libravatar"
                 channel="pear.php.net"
-                minimum_version="0.2.1"
+                minimum_version="0.2.2"
                 />
        <package name="VersionControl_Git"
                 channel="pear.php.net"
                 minimum_version="0.4.4"
                 />
                 />
        <package name="VersionControl_Git"
                 channel="pear.php.net"
                 minimum_version="0.4.4"
                 />
+
        <package name="geshi"
        <package name="geshi"
-                channel="mediawiki.googlecode.com/svn"
+                channel="pear.geshi.org/geshi"
                 minimum_version="1.0.0"
                 />
                 minimum_version="1.0.0"
                 />
+       <package name="Markdown"
+                channel="pear.michelf.com"
+                minimum_version="0.0.2"
+                />
+       <package name="MIME_Type_PlainDetect"
+                channel="zustellzentrum.cweiske.de"
+                minimum_version="0.0.2"
+                />
        <package name="Twig"
                 channel="pear.twig-project.org"
                 minimum_version="1.6.0"
        <package name="Twig"
                 channel="pear.twig-project.org"
                 minimum_version="1.6.0"
@@ -112,14 +243,14 @@ First release
      </dependencies>
 
      <!-- map directory (key) to role -->
      </dependencies>
 
      <!-- map directory (key) to role -->
-     <dirroles key="www">www</dirroles>
      <dirroles key="data">data</dirroles>
      <dirroles key="data">data</dirroles>
+     <dirroles key="scripts">data</dirroles>
      <dirroles key="src">php</dirroles>
      <dirroles key="src">php</dirroles>
+     <dirroles key="www">www</dirroles>
 
      <!-- do not add the following files to the package.
           copied from excludes above -->
      <ignore>**/.gitignore</ignore>
 
      <!-- do not add the following files to the package.
           copied from excludes above -->
      <ignore>**/.gitignore</ignore>
-     <ignore>**/.svn</ignore>
      <ignore>build*</ignore>
      <ignore>data/config.php</ignore>
      <ignore>dist/**</ignore>
      <ignore>build*</ignore>
      <ignore>data/config.php</ignore>
      <ignore>dist/**</ignore>
@@ -231,15 +362,17 @@ First release
   </target>
 
 
   </target>
 
 
-  <target name="check"
+  <target name="preparedirs">
+    <mkdir dir="dist" />
+  </target>
+
+  <target name="check" depends="preparedirs"
    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!" />
    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!" />
-
-    <mkdir dir="dist" />
   </target>
 
 </project>
   </target>
 
 </project>