gecko-dev/directory/java-sdk/build.xml
richm%stanfordalumni.org 59ef87b922 Bug: 309518
Description: Replace ORO Regexp with java 1.4 Pattern/Matcher
Fix Description: I removed any and all references to oro from build.properties and build.xml.  For the code replacement, the conversion was pretty straightforward.  I had to slightly modify the regular expressions but for the most part they just work the same as the oro ones.  ORO uses a PatternInput to hold the state of the iteration over the string to match, but the Matcher class does that implicitly.  For the most part, it didn't matter because the code didn't really use the state, it would just always reset the PatternInput to the beginning of the string, so I just used the String instead.  There was one place where I needed to keep track of state, so I used the Matcher object instead of a Perl5Pattern + PatternInput.  Thanks to nkinder@redhat.com for the review.
2005-09-23 15:05:55 +00:00

248 lines
9.8 KiB
XML

<project name="Mozilla Java LDAP SDK" default="show" basedir=".">
<!--
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Tony Dahbura (tony@dahbura.com) initial creation of ant build files
*
*/
-->
<!-- ===================== Initialize Property Values =================== -->
<property file="build.properties"/>
<!-- Project Properties -->
<property name="name" value="java-sdk" />
<property name="year" value="2002" />
<property name="version" value="4.17" />
<property name="sdkjarfilename" value="ldapjdk.jar" />
<property name="filtjarfilename" value="ldapfilt.jar" />
<property name="jdnijarfilename" value="ldapsp.jar" />
<property name="beansjarfilename" value="ldapbeans.jar" />
<property name="doczipfilename" value="ldapdoc.zip" />
<!-- Build Defaults -->
<property name="jdk.dist" value="${basedir}/dist/classes"/>
<property name="filter.dist" value="${basedir}/dist/ldapfilt"/>
<property name="jndi.dist" value="${basedir}/dist/classes"/>
<property name="doc.dist" value="${basedir}/dist/doc"/>
<property name="package.dist" value="${basedir}/dist/packages"/>
<property name="src" value="."/>
<property name="build" value="build"/>
<property name="dist" value="dist"/>
<!-- the following is to setup the correct info for sun jsse which
is jdk dependent -->
<property name="ssllibs14" value="${basedir}/ldapjdk/lib/jss32_stub.jar"/>
<property name="ssllibs13" value="${basedir}/ldapjdk/lib/jaas.jar:${basedir}/ldapjdk/lib/jnet.jar:${basedir}/ldapjdk/lib/jsse.jar:${basedir}/ldapjdk/lib/jss32_stub.jar"/>
<!-- we do not use the users existing classpath and instead build our own
comment the following line out if this is not desired -->
<property name="build.sysclasspath" value="ignore"/>
<!-- the following target is the default target so show some help -->
<target name="show">
<echo>The following targets are defined:
dist : will build entire sdk and package all the pieces
dist-jdk : will build only the ldap jdk jar (ldapjdk.jar)
dist-filter : will build only the ldap filter jar (ldapfilt.jar)
dist-beans : will build only the beans jar (ldapbeans.jar)
dist-jndi : will build only the jndi service provider (ldapsp.jar)
dist-docs : will package up all the documentation (ldapdoc.zip)
build : will compile the entire sdk but not package
build-jdk : will compile only the ldap jdk jar
build-filter : will compile only the filter classes
build-beans : will compile only the ldap beans
build-jndi : will compile only the jndi service provider
build-docs : will compile the complete javadocs
clean : will remove all compiled files and packages
clean-dists : will remove all the jars and zips
clean-builds : will remove all the compiled classes
</echo>
</target>
<target name="init">
<echo>compiling for jdk version=${ant.java.version}</echo>
<condition property="jsselibs" value="${ssllibs13}">
<or>
<equals arg1="${ant.java.version}" arg2="1.1" />
<equals arg1="${ant.java.version}" arg2="1.2" />
<equals arg1="${ant.java.version}" arg2="1.3" />
</or>
</condition>
<condition property="jsselibs" value="${ssllibs14}">
<not>
<or>
<equals arg1="${ant.java.version}" arg2="1.1" />
<equals arg1="${ant.java.version}" arg2="1.2" />
<equals arg1="${ant.java.version}" arg2="1.3" />
</or>
</not>
</condition>
<echo>ssl libraries path=${jsselibs}</echo>
<!-- create dist directories in case a clean was executed -->
<mkdir dir="${jdk.dist}"/>
<mkdir dir="${filter.dist}"/>
<mkdir dir="${jndi.dist}"/>
<mkdir dir="${doc.dist}"/>
<mkdir dir="${package.dist}"/>
</target>
<target name="dist" depends="dist-jdk,dist-filter,dist-beans,dist-jndi,dist-docs">
<echo>Building all packages....</echo>
</target>
<target name="dist-jdk" depends="build-jdk">
<jar jarfile="${package.dist}/${sdkjarfilename}"
basedir="${jdk.dist}"
excludes="cvs/**"
includes="netscape/ldap/*.class,netscape/ldap/client/*.class,netscape/ldap/client/opers/*.class,netscape/ldap/ber/stream/*.class,netscape/ldap/controls/*.class,netscape/ldap/factory/*.class,netscape/ldap/util/*.class,netscape/ldap/errors/*.props,com/netscape/sasl/*.class,com/netscape/sasl/mechanisms/*.class,*.class"
/>
</target>
<target name="dist-filter" depends="build-filter">
<jar jarfile="${package.dist}/${filtjarfilename}"
basedir="${filter.dist}"
excludes="cvs/**"
includes="netscape/ldap/util/*.class"
/>
</target>
<target name="dist-beans" depends="build-beans">
<jar jarfile="${package.dist}/${beansjarfilename}"
basedir="${jdk.dist}"
excludes="cvs/**"
includes="netscape/ldap/beans/*"
/>
</target>
<target name="dist-jndi" depends="build-jndi">
<jar jarfile="${package.dist}/${jdnijarfilename}"
basedir="${jdk.dist}"
excludes="cvs/**"
includes="com/netscape/jndi/ldap/*.class com/netscape/jndi/ldap/common/*.class com/netscape/jndi/ldap/schema/*.class com/netscape/jndi/ldap/controls/*.class"
/>
</target>
<target name="dist-docs" depends="build-docs">
<jar jarfile="${package.dist}/${doczipfilename}"
update="no"
basedir="${doc.dist}"
excludes="cvs/**"
includes="*.html *.css netscape/ldap/*.html netscape/ldap/beans/*.html netscape/ldap/controls/*.html netscape/ldap/util/*.html netscape/ldap/ber/stream/*.html"
/>
</target>
<!-- The following targets do the builds (compiles of the source files) -->
<target name="build" depends="build-jdk,build-filter,build-beans,build-jndi"/>
<target name="build-jdk" depends="init">
<!-- Compile the java jdk code from ${src} into ${dest} -->
<javac srcdir="${basedir}/ldapjdk/com" destdir="${jdk.dist}"
excludes="cvs/**"
classpath="${jsselibs}"
/>
<javac srcdir="${basedir}/ldapjdk/netscape" destdir="${jdk.dist}"
excludes="cvs/**"
classpath="${jsselibs}"
/>
<javac srcdir="${basedir}/tools" destdir="${jdk.dist}"
excludes="cvs/**"
classpath="${jsselibs}"
/>
</target>
<target name="build-filter" depends="init,build-jdk">
<javac srcdir="${basedir}/ldapfilter" destdir="${filter.dist}"
excludes="cvs/**"
classpath="${jdk.dist}:${jsselibs}"
/>
</target>
<target name="build-beans" depends="init">
<!-- Compile the java jdk bean code from ${src} into ${dest} -->
<javac srcdir="${basedir}/ldapbeans" destdir="${jdk.dist}"
excludes="cvs/**"
classpath="${jsselibs}"
/>
</target>
<target name="build-jndi" depends="init,build-jdk">
<!-- Compile the java code from ${src} into ${dest} -->
<javac srcdir="${basedir}/ldapsp" destdir="${jndi.dist}"
excludes="cvs/**"
classpath="${jsselibs}:${basedir}/ldapsp/lib/jndi.jar"
/>
</target>
<target name="build-docs">
<!-- Create the javadocs for the sdk -->
<javadoc
packagenames="netscape.ldap.*,netscape.ldap.beans.*,netscape.ldap.controls.*,netscape.ldap.util.*,netscape.ldap.factory.*,com.netscape.sasl.*,com.netscape.sasl.mechanisms.*,netscape.ldap.ber.stream.*"
sourcepath="${basedir}/ldapbeans:${basedir}/ldapjdk"
sourcefiles="${basedir}/tools/LDAPDelete.java,${basedir}/tools/LDAPModify.java,${basedir}/tools/LDAPSearch.java,${basedir}/tools/LDAPTool.java"
destdir="${doc.dist}"
author="true"
version="true"
use="true"
classpath="${basedir}/ldapjdk:${basedir}/ldapjdk/lib/jss32_stub.jar:${basedir}/ldapbeans" >
</javadoc>
<javadoc packagenames="com.netscape.jndi.ldap.controls.*"
sourcepath="${basedir}/ldapsp"
destdir="${doc.dist}/ldapsp"
classpath="${jndi.dist}:${basedir}/ldapsp:${basedir}/ldapsp/lib/jndi.jar"
author="true"
version="true"
use="true">
</javadoc>
</target>
<target name="clean" depends="clean-builds,clean-dists"/>
<target name="clean-dists">
<!-- Delete the jar and zip files -->
<delete includeEmptyDirs="true">
<fileset dir="${package.dist}" includes="*.jar *.zip" />
</delete>
</target>
<target name="clean-builds">
<!-- Delete the .class and javadoc files built up from builds -->
<delete includeEmptyDirs="true">
<fileset dir="${basedir}/dist" excludes="*.jar *.zip"/>
</delete>
</target>
</project>