mirror of
https://github.com/moparisthebest/davmail
synced 2024-12-04 14:52:24 -05:00
cbec33e726
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2331 3d1905a2-6b24-0410-a738-b14d5a86fcbd
470 lines
22 KiB
XML
470 lines
22 KiB
XML
<project name="DavMail" default="dist" basedir=".">
|
|
<property file="user.properties"/>
|
|
<property name="version" value="4.6.0"/>
|
|
|
|
<path id="classpath">
|
|
<pathelement location="classes"/>
|
|
<fileset dir="lib">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
</path>
|
|
|
|
<target name="clean">
|
|
<delete dir="target"/>
|
|
<delete dir="dist"/>
|
|
<delete file="build.log"/>
|
|
</target>
|
|
|
|
<condition property="is.windows">
|
|
<os family="windows"/>
|
|
</condition>
|
|
<condition property="is.svn">
|
|
<available file=".svn"/>
|
|
</condition>
|
|
|
|
<condition property="is.java6">
|
|
<or>
|
|
<equals arg1="${ant.java.version}" arg2="1.6"/>
|
|
<equals arg1="${ant.java.version}" arg2="1.7"/>
|
|
</or>
|
|
</condition>
|
|
|
|
<condition property="is.utf8">
|
|
<equals arg1="${file.encoding}" arg2="UTF-8"/>
|
|
</condition>
|
|
|
|
<target name="check-java6" unless="is.java6">
|
|
<fail message="Java 6 needed to build DavMail, current version is ${ant.java.version}, check JAVA_HOME"/>
|
|
</target>
|
|
|
|
<target name="check-encoding" unless="is.utf8">
|
|
<fail message="Please force UTF-8 encoding to build debian package with set ANT_OPTS=-Dfile.encoding=UTF-8"/>
|
|
</target>
|
|
|
|
<target name="svnrelease" if="is.svn">
|
|
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml">
|
|
<classpath>
|
|
<fileset dir="svnant">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
</classpath>
|
|
</typedef>
|
|
<svnSetting svnkit="true" javahl="false" id="svn.settings"/>
|
|
<svn refid="svn.settings">
|
|
<wcversion path="."/>
|
|
</svn>
|
|
<!-- failover value for revision -->
|
|
<property name="revision.max" value=""/>
|
|
<property name="release" value="${version}-${revision.max}"/>
|
|
</target>
|
|
|
|
<target name="defaultrelease" unless="is.svn">
|
|
<property name="release" value="${version}"/>
|
|
</target>
|
|
|
|
<target name="init" depends="check-encoding, check-java6, svnrelease, defaultrelease">
|
|
<echo message="Creating DavMail ${release} dist package"/>
|
|
<mkdir dir="target/classes"/>
|
|
</target>
|
|
|
|
<target name="compile" depends="init">
|
|
<mkdir dir="target/classes"/>
|
|
<javac srcdir="src/java" destdir="target/classes" source="1.5" target="1.5" debug="on" encoding="UTF-8"
|
|
includeantruntime="false">
|
|
<classpath>
|
|
<path refid="classpath"/>
|
|
</classpath>
|
|
</javac>
|
|
<copy todir="target/classes">
|
|
<fileset dir="src/java">
|
|
<include name="**/*"/>
|
|
<exclude name="**/*.java"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="dist-nsis" if="is.windows">
|
|
<taskdef name="nsis" classname="net.sf.nsisant.Task">
|
|
<classpath location="lib/nsisant-1.2.jar"/>
|
|
</taskdef>
|
|
<nsis script="davmail-setup.nsi" verbosity="4" out="build.log" noconfig="yes">
|
|
<define name="VERSION" value="${release}"/>
|
|
</nsis>
|
|
</target>
|
|
|
|
<target name="dist-osx">
|
|
<!-- move jar files to new location -->
|
|
<copy todir="dist/DavMail.app/Contents/Java">
|
|
<fileset dir="dist">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<fileset dir="dist/lib">
|
|
<include name="*.jar"/>
|
|
<include name="*.jnilib"/>
|
|
<exclude name="swt*.jar"/>
|
|
<exclude name="junit-*.jar"/>
|
|
<exclude name="winrun4j-*.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
<!-- move libgrowl to library path -->
|
|
<copy todir="dist/DavMail.app/Contents/MacOS">
|
|
<fileset file="lib/libgrowl.jnilib"/>
|
|
</copy>
|
|
<copy file="src/osx/tray.icns" todir="dist/DavMail.app/Contents/Resources" overwrite="true"/>
|
|
<!-- use generic app launcher -->
|
|
<copy file="src/osx/davmail" todir="dist/DavMail.app/Contents/MacOS" overwrite="true"/>
|
|
<!-- template plist -->
|
|
<copy file="src/osx/Info.plist" todir="dist/DavMail.app/Contents" overwrite="true">
|
|
<filterchain>
|
|
<expandproperties/>
|
|
</filterchain>
|
|
</copy>
|
|
<zip file="dist/DavMail-MacOSX-${release-name}.app.zip" comment="In order to run DavMail on OSX Mountain Lion or later, you will need to disable Gatekeeper temporarily, see http://davmail.sourceforge.net/macosxsetup.html">
|
|
<zipfileset dir="dist">
|
|
<include name="DavMail.app/**/*"/>
|
|
<exclude name="DavMail.app/Contents/MacOS/davmail"/>
|
|
</zipfileset>
|
|
<zipfileset dir="dist" filemode="755">
|
|
<include name="DavMail.app/Contents/MacOS/davmail"/>
|
|
</zipfileset>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="dist-deb">
|
|
<taskdef resource="ant_deb_task.properties">
|
|
<classpath location="lib/ant-deb-0.0.1.jar"/>
|
|
</taskdef>
|
|
<desktopentry
|
|
toFile="dist/davmail.desktop"
|
|
name="DavMail"
|
|
comment="DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway"
|
|
exec="davmail"
|
|
icon="/usr/share/davmail/davmail.png"
|
|
categories="Network;"
|
|
/>
|
|
<deb todir="dist"
|
|
package="davmail"
|
|
section="mail"
|
|
depends="openjdk-8-jre|openjdk-7-jre|openjdk-6-jre|oracle-java7-jre|sun-java6-jre|default-jre,libswt-gtk-3-java|libswt-gtk-3.6-java|libswt-gtk-3.5-java|libswt-gtk-3.4-java,libswt-cairo-gtk-3-jni|libswt-cairo-gtk-3.5-jni">
|
|
<version upstream="${release}"/>
|
|
<maintainer email="mguessan@free.fr" name="Mickaël Guessant"/>
|
|
<description synopsis="DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway">
|
|
Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP exchange
|
|
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or
|
|
Apple iCal) with an Exchange server, even from the internet or behind a firewall through
|
|
Outlook Web Access.
|
|
DavMail now includes an LDAP gateway to Exchange global address book and user personal
|
|
contacts to allow recipient address completion in mail compose window and full calendar
|
|
support with attendees free/busy display.
|
|
The main goal of DavMail is to provide standard compliant protocols in front of proprietary
|
|
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse
|
|
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for
|
|
calendar support and Carddav for personal contacts sync.
|
|
Thus any standard compliant client can be used with Microsoft Exchange.
|
|
DavMail gateway is implemented in java and should run on any platform. Releases are tested
|
|
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone
|
|
(gateway running on a server).
|
|
|
|
http://davmail.sourceforge.net
|
|
</description>
|
|
<tarfileset dir="dist" prefix="usr/share/davmail">
|
|
<include name="lib/*.jar"/>
|
|
<include name="*.jar"/>
|
|
<!-- exclude swt jars from debian package -->
|
|
<exclude name="lib/swt*.jar"/>
|
|
<exclude name="lib/libgrowl-*.jar"/>
|
|
<exclude name="lib/winrun4j-*.jar"/>
|
|
</tarfileset>
|
|
<tarfileset dir="src/bin" prefix="usr/bin" filemode="755">
|
|
<include name="davmail"/>
|
|
</tarfileset>
|
|
<tarfileset dir="dist" prefix="usr/share/davmail">
|
|
<include name="davmail.png"/>
|
|
</tarfileset>
|
|
<tarfileset dir="dist" prefix="usr/share/applications">
|
|
<include name="davmail.desktop"/>
|
|
</tarfileset>
|
|
</deb>
|
|
</target>
|
|
|
|
<target name='dist-rpm'>
|
|
<taskdef name='redline' classname='org.freecompany.redline.ant.RedlineTask'>
|
|
<classpath location="lib/redline-1.1.9.jar"/>
|
|
</taskdef>
|
|
|
|
<redline name='davmail'
|
|
summary='DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange Gateway'
|
|
version='${release}'
|
|
release='1'
|
|
license='GPL'
|
|
group='Applications/Internet'
|
|
sourcePackage='davmail-${release}.src.rpm'
|
|
description='Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP exchange
|
|
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or
|
|
Apple iCal) with an Exchange server, even from the internet or behind a firewall through
|
|
Outlook Web Access.
|
|
DavMail now includes an LDAP gateway to Exchange global address book and user personal
|
|
contacts to allow recipient address completion in mail compose window and full calendar
|
|
support with attendees free/busy display.
|
|
The main goal of DavMail is to provide standard compliant protocols in front of proprietary
|
|
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse
|
|
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for
|
|
calendar support and Carddav for personal contacts sync.
|
|
Thus any standard compliant client can be used with Microsoft Exchange.
|
|
DavMail gateway is implemented in java and should run on any platform. Releases are tested
|
|
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone
|
|
(gateway running on a server).'
|
|
url='http://davmail.sourceforge.net'
|
|
vendor='Mickael Guessant'
|
|
destination='dist'>
|
|
<depends name="jre" version="1.6"/>
|
|
<zipfileset dir="dist" prefix="usr/share/davmail">
|
|
<include name="lib/*.jar"/>
|
|
<include name="*.jar"/>
|
|
<!-- exclude swt jars from package -->
|
|
<exclude name="lib/swt*.jar"/>
|
|
<exclude name="lib/libgrowl-*.jar"/>
|
|
</zipfileset>
|
|
<zipfileset dir="src/bin" prefix="usr/bin" filemode="755">
|
|
<include name="davmail"/>
|
|
</zipfileset>
|
|
<zipfileset dir="dist" prefix="usr/share/davmail">
|
|
<include name="davmail.png"/>
|
|
</zipfileset>
|
|
<zipfileset dir="dist" prefix="usr/share/applications">
|
|
<include name="davmail.desktop"/>
|
|
</zipfileset>
|
|
</redline>
|
|
|
|
</target>
|
|
|
|
|
|
<target name="dist" depends="compile">
|
|
<property name="release-name" value="${release}-trunk"/>
|
|
<delete dir="dist"/>
|
|
<mkdir dir="dist"/>
|
|
<echo file="dist/version.txt" message="${release}"/>
|
|
<pathconvert property="manifest-classpath" pathsep=" ">
|
|
<mapper>
|
|
<chainedmapper>
|
|
<!-- remove absolute path -->
|
|
<flattenmapper/>
|
|
<globmapper from="*" to="lib/*"/>
|
|
</chainedmapper>
|
|
</mapper>
|
|
<path>
|
|
<fileset dir="lib">
|
|
<include name="*.jar"/>
|
|
<exclude name="ant-deb*.jar"/>
|
|
<exclude name="jarbundler-*.jar"/>
|
|
<exclude name="jsmoothgen-ant-*.jar"/>
|
|
<exclude name="junit-*.jar"/>
|
|
<exclude name="libgrowl-*.jar"/>
|
|
<exclude name="nsisant-*.jar"/>
|
|
<exclude name="redline-*.jar"/>
|
|
<exclude name="servlet-api-*.jar"/>
|
|
<exclude name="swt-*.jar"/>
|
|
<exclude name="winrun4j-*.jar"/>
|
|
</fileset>
|
|
</path>
|
|
</pathconvert>
|
|
<jar basedir="target/classes" destfile="dist/davmail.jar">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="davmail.DavGateway"/>
|
|
<attribute name="Class-Path" value="${manifest-classpath}"/>
|
|
<section name="davmail/">
|
|
<attribute name="Implementation-Title" value="DavMail Gateway"/>
|
|
<attribute name="Implementation-Version" value="${release-name}"/>
|
|
<attribute name="Implementation-Vendor" value="Mickael Guessant"/>
|
|
</section>
|
|
</manifest>
|
|
</jar>
|
|
<copy todir="dist/lib">
|
|
<fileset dir="lib">
|
|
<include name="*.jar"/>
|
|
<include name="*.jnilib"/>
|
|
<exclude name="nsisant*.jar"/>
|
|
<exclude name="jsmoothgen-ant-*.jar"/>
|
|
<exclude name="jarbundler-*.jar"/>
|
|
<exclude name="servlet-api.jar"/>
|
|
<exclude name="ant-deb-*.jar"/>
|
|
<exclude name="redline-*.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy file="src/java/tray48.png" tofile="dist/davmail.png"/>
|
|
<copy file="davmail.sh" todir="dist"/>
|
|
|
|
<!-- use WinRun4J wrappers -->
|
|
<copy file="src/winrun4j/davmail.exe" todir="dist"/>
|
|
<copy file="src/winrun4j/davmailconsole.exe" todir="dist"/>
|
|
<copy file="src/winrun4j/davmailservice.exe" todir="dist"/>
|
|
<copy file="src/winrun4j/davmail64.exe" todir="dist"/>
|
|
<copy file="src/winrun4j/davmailservice64.exe" todir="dist"/>
|
|
|
|
<zip file="dist/davmail-${release-name}.zip">
|
|
<zipfileset dir="dist">
|
|
<include name="lib/*.jar"/>
|
|
<include name="*.jar"/>
|
|
<include name="davmail.desktop"/>
|
|
<exclude name="davmail.sh"/>
|
|
<!-- exclude swt jars from platform independent package -->
|
|
<exclude name="lib/swt*.jar"/>
|
|
<exclude name="lib/libgrowl-*.jar"/>
|
|
<exclude name="lib/junit-*.jar"/>
|
|
<exclude name="lib/winrun4j-*.jar"/>
|
|
</zipfileset>
|
|
<zipfileset dir="dist" filemode="755">
|
|
<include name="davmail.sh"/>
|
|
</zipfileset>
|
|
</zip>
|
|
<copy todir="dist/web">
|
|
<fileset dir="src/web"/>
|
|
</copy>
|
|
<copy todir="dist/web/WEB-INF/lib">
|
|
<fileset dir="dist">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<fileset dir="dist/lib">
|
|
<include name="*.jar"/>
|
|
<exclude name="nsisant*.jar"/>
|
|
<exclude name="jsmoothgen-ant*.jar"/>
|
|
<exclude name="swt*.jar"/>
|
|
<exclude name="libgrowl-*.jar"/>
|
|
<exclude name="winrun4j-*.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="dist/web/WEB-INF/classes" file="src/etc/davmail.properties"/>
|
|
<jar destfile="dist/davmail-${release-name}.war">
|
|
<fileset dir="dist/web"/>
|
|
</jar>
|
|
<tar tarfile="dist/davmail-linux-x86-${release-name}.tgz" compression="gzip">
|
|
<tarfileset prefix="davmail-linux-x86-${release}" dir="dist" filemode="755">
|
|
<include name="davmail.sh"/>
|
|
</tarfileset>
|
|
<tarfileset prefix="davmail-linux-x86-${release}" dir="dist">
|
|
<include name="davmail.desktop"/>
|
|
<include name="lib/*.jar"/>
|
|
<include name="*.jar"/>
|
|
<include name="lib/swt-*-gtk-linux-x86.jar"/>
|
|
<exclude name="lib/swt-*-gtk-linux-x86_64.jar"/>
|
|
<exclude name="lib/swt-*-carbon-macosx.jar"/>
|
|
<exclude name="lib/swt-*-win32-*.jar"/>
|
|
<exclude name="lib/libgrowl-*.jar"/>
|
|
<exclude name="lib/winrun4j-*.jar"/>
|
|
</tarfileset>
|
|
</tar>
|
|
<tar tarfile="dist/davmail-linux-x86_64-${release-name}.tgz" compression="gzip">
|
|
<tarfileset prefix="davmail-linux-x86_64-${release}" dir="dist" filemode="755">
|
|
<include name="davmail.sh"/>
|
|
</tarfileset>
|
|
<tarfileset prefix="davmail-linux-x86_64-${release}" dir="dist">
|
|
<include name="davmail.desktop"/>
|
|
<include name="lib/*.jar"/>
|
|
<include name="*.jar"/>
|
|
<include name="lib/swt-*-gtk-linux-x86_64.jar"/>
|
|
<exclude name="lib/swt-*-gtk-linux-x86.jar"/>
|
|
<exclude name="lib/swt-*-carbon-macosx.jar"/>
|
|
<exclude name="lib/swt-*-win32-*.jar"/>
|
|
<exclude name="lib/libgrowl-*.jar"/>
|
|
<exclude name="lib/winrun4j-*.jar"/>
|
|
</tarfileset>
|
|
</tar>
|
|
<zip file="dist/davmail-${release-name}-windows-noinstall.zip">
|
|
<fileset dir="dist">
|
|
<include name="lib/*.jar"/>
|
|
<include name="*.jar"/>
|
|
<include name="davmail*.exe"/>
|
|
<exclude name="lib/swt-*-gtk-*.jar"/>
|
|
<exclude name="lib/libgrowl-*.jar"/>
|
|
<exclude name="lib/junit-*.jar"/>
|
|
</fileset>
|
|
</zip>
|
|
<antcall target="dist-nsis"/>
|
|
<antcall target="dist-deb"/>
|
|
<!--antcall target="dist-rpm"/-->
|
|
<antcall target="dist-osx"/>
|
|
<!-- source with binary deps package -->
|
|
<tar tarfile="dist/davmail-src-${release-name}.tgz" compression="gzip" longfile="gnu">
|
|
<tarfileset prefix="davmail-src-${release-name}" dir=".">
|
|
<include name="**/*"/>
|
|
<exclude name="build.log"/>
|
|
<exclude name="dist/**"/>
|
|
<exclude name="target/**"/>
|
|
<exclude name="archive/**"/>
|
|
<exclude name="user.properties"/>
|
|
</tarfileset>
|
|
</tar>
|
|
<!-- davmail source only package for GNU/Linux distributions -->
|
|
<tar tarfile="dist/davmail-srconly-${release-name}.tgz" compression="gzip" longfile="gnu">
|
|
<tarfileset prefix="davmail-${release-name}" dir=".">
|
|
<include name="**/*"/>
|
|
<exclude name="build.log"/>
|
|
<exclude name="dist/**"/>
|
|
<exclude name="target/**"/>
|
|
<exclude name="archive/**"/>
|
|
<exclude name="lib/**"/>
|
|
<exclude name="libgrowl/**"/>
|
|
<exclude name="nsis/**"/>
|
|
<exclude name="svnant/**"/>
|
|
<exclude name="jsmooth-*/**"/>
|
|
<exclude name="*.jsmooth"/>
|
|
<exclude name="user.properties"/>
|
|
<exclude name="src/winrun4j/**"/>
|
|
<exclude name="src/osx/**"/>
|
|
<exclude name="src/osx/**"/>
|
|
<exclude name="src/contribs/**"/>
|
|
<exclude name="*.nsi"/>
|
|
</tarfileset>
|
|
</tar>
|
|
</target>
|
|
|
|
<target name='fix-site'>
|
|
<!-- fix site title generated by mvn site -->
|
|
<replaceregexp match="Maven - "
|
|
replace="">
|
|
<fileset dir="target/site"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="<a href="http://sourceforge.net/projects/davmail" id="bannerRight">"
|
|
replace="<script type="text/javascript"><!-- ${line.separator}var pkBaseURL = (("https:" == document.location.protocol) ? "https://sourceforge.net/apps/piwik/davmail/" : "http://sourceforge.net/apps/piwik/davmail/"); ${line.separator}document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); ${line.separator}//--></script>${line.separator}<script type="text/javascript">${line.separator}try {var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);piwikTracker.trackPageView();piwikTracker.enableLinkTracking();}catch(err){}${line.separator}</script><noscript><p><img src="http://sourceforge.net/apps/piwik/davmail/piwik.php?idsite=1" style="border:0" alt=""/></p></noscript>">
|
|
<fileset dir="target/site"/>
|
|
</replaceregexp>
|
|
</target>
|
|
|
|
<target name='upload-site' depends="fix-site">
|
|
<scp todir="${username},davmail@web.sourceforge.net:htdocs"
|
|
keyfile="${keyfile}" passphrase="${passphrase}" verbose="true" trust="true">
|
|
<fileset dir="target/site"/>
|
|
</scp>
|
|
</target>
|
|
|
|
<target name="upload-release" depends="release">
|
|
<mkdir dir="dist/${version}"/>
|
|
<move todir="dist/${version}">
|
|
<fileset dir="dist">
|
|
<include name="*${version}-*"/>
|
|
</fileset>
|
|
</move>
|
|
|
|
<scp todir="${username},davmail@frs.sourceforge.net:/home/frs/project/d/da/davmail/davmail"
|
|
keyfile="${keyfile}" passphrase="${passphrase}" verbose="true" trust="true">
|
|
<fileset dir="dist">
|
|
<include name="${version}/*"/>
|
|
</fileset>
|
|
</scp>
|
|
</target>
|
|
|
|
<target name="upload-version">
|
|
<scp todir="${username},davmail@web.sourceforge.net:htdocs"
|
|
keyfile="${keyfile}" passphrase="${passphrase}" verbose="true" trust="true">
|
|
<fileset dir="dist">
|
|
<include name="version.txt"/>
|
|
</fileset>
|
|
</scp>
|
|
</target>
|
|
|
|
<target name="release" depends="init">
|
|
<property name="release-name" value="${release}"/>
|
|
<antcall target="dist"/>
|
|
</target>
|
|
</project>
|