| | |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! |
| | | ! Copyright 2006-2008 Sun Microsystems, Inc. |
| | | ! Copyright 2006-2009 Sun Microsystems, Inc. |
| | | ! --> |
| | | |
| | | <project name="Directory Server" basedir="." default="package"> |
| | |
| | | <property name="src.dir" location="src/server" /> |
| | | <property name="build.dir" location="build" /> |
| | | <property name="classes.dir" location="${build.dir}/classes" /> |
| | | <property name="build.lib.dir" location="${build.dir}/lib" /> |
| | | <property name="lib.dir" location="lib" /> |
| | | <property name="ext.dir" location="ext" /> |
| | | <property name="package.dir" location="${build.dir}/package" /> |
| | |
| | | <property name="snmp.classes.dir" |
| | | location="${classes.dir}/org/opends/server/snmp" /> |
| | | |
| | | <!-- Condition properties for NDB Backend build. --> |
| | | <condition property="ismysqldirpresent"> |
| | | <available file="${mysql.lib.dir}" type="dir" /> |
| | | </condition> |
| | | <condition property="exclude.ndb.xml" value="" |
| | | else="**/Ndb*"> |
| | | <available file="${mysql.lib.dir}" type="dir" /> |
| | | </condition> |
| | | <condition property="exclude.ndb.src" value="" |
| | | else="org/opends/server/backends/ndb/**, |
| | | org/opends/server/workflowelement/ndb/**"> |
| | | <available file="${mysql.lib.dir}" type="dir" /> |
| | | </condition> |
| | | |
| | | <!-- Property for excluding NDB Backend config. --> |
| | | <property name="exclude.ndb.config" value="ndbconfig.ldif" /> |
| | | |
| | | <!-- Create a package bundle containing the DSML library. --> |
| | | <target name="dsml" depends="predsml,package" |
| | | description="Build a Directory Server package bundle with DSML."> |
| | |
| | | <genmsg sourceProps="${msg.prop.dir}/servicetag.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ServiceTagMessages.java"> |
| | | </genmsg> |
| | | |
| | | <antcall target="generatendbmessages" /> |
| | | |
| | | </target> |
| | | |
| | | <!-- Generate NDB Backend messages if needed --> |
| | | <target name="generatendbmessages" if="ismysqldirpresent"> |
| | | <typedef name="genmsg" |
| | | classname="org.opends.build.tools.GenerateMessageFile" > |
| | | <classpath> |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </typedef> |
| | | <genmsg sourceProps="${msg.prop.dir}/ndb.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/NdbMessages.java"> |
| | | </genmsg> |
| | | </target> |
| | | |
| | | <!-- Remove all dynamically-generated build files. --> |
| | | <target name="clean" depends="init,cleanadmin,cleanmessages,cleansnmp" |
| | |
| | | depends="init,checkjavaversion,dynamicconstants,generatemessages,compileadmin" |
| | | description="Compile the Directory Server source files."> |
| | | <mkdir dir="${classes.dir}" /> |
| | | <mkdir dir="${build.lib.dir}" /> |
| | | |
| | | <!-- Copy NDB Backend dependencies if necessary --> |
| | | <antcall target="copyndbdeps" /> |
| | | |
| | | <javac srcdir="${src.dir}:${admin.src.dir}:${msg.src.dir}:${msg.javagen.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}" |
| | | destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}" |
| | | destdir="${classes.dir}" excludes="${exclude.ndb.src}" debug="on" debuglevel="${build.debuglevel}" |
| | | source="1.5" target="1.5" deprecation="true" fork="true" |
| | | memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}"> |
| | | <compilerarg value="-Xlint:all" /> |
| | |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${build.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | |
| | | <!-- Regenerate configuration files if necessary --> |
| | | <antcall target="compileadmin" /> |
| | | |
| | | <!-- Copy NDB Backend dependencies if necessary --> |
| | | <antcall target="copyndbdeps" /> |
| | | |
| | | <!-- Recreate the classes directory and recompile into it. --> |
| | | <mkdir dir="${classes.dir}" /> |
| | | <javac srcdir="${src.dir}:${msg.src.dir}:${msg.javagen.dir}:${admin.src.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}" |
| | | destdir="${classes.dir}" |
| | | destdir="${classes.dir}" excludes="${exclude.ndb.src}" |
| | | debug="on" debuglevel="${build.debuglevel}" source="1.5" target="1.5" |
| | | deprecation="true" fork="true" memoryInitialSize="${MEM}" |
| | | memoryMaximumSize="${MEM}"> |
| | |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${build.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | |
| | | <jar jarfile="${pdir}/lib/quicksetup.jar" |
| | | basedir="${quicksetup.classes.dir}" compress="true" index="true" /> |
| | | |
| | | <!-- Copy over external dependencies. --> |
| | | <copy todir="${pdir}/lib"> |
| | | <fileset file="${build.lib.dir}/*.jar" /> |
| | | </copy> |
| | | |
| | | <!-- Regenerate example plugin. --> |
| | | <antcall target="example-plugin" /> |
| | | </target> |
| | |
| | | <fixcrlf srcDir="${scripts.dir}" destDir="${pdir}/lib" includes="_client-script.bat,_server-script.bat,_mixed-script.bat,_script-util.bat,setcp.bat" eol="crlf" /> |
| | | |
| | | <copy todir="${pdir}/config"> |
| | | <fileset file="${config.dir}/*" /> |
| | | <fileset file="${config.dir}/*" excludes="${exclude.ndb.config}" /> |
| | | </copy> |
| | | |
| | | <antcall target="package-snmp" /> |
| | | |
| | | <antcall target="packagendb" /> |
| | | |
| | | <copy file="${pdir}/config/config.ldif" |
| | | tofile="${pdir}/config/upgrade/config.ldif.${REVISION_NUMBER}" /> |
| | | |
| | |
| | | <dirset dir="${quicksetup.classes.dir}" /> |
| | | </classpath> |
| | | |
| | | <packageset dir="${src.dir}" /> |
| | | <packageset dir="${src.dir}" excludes="${exclude.ndb.src}" /> |
| | | <packageset dir="${admin.src.dir}" /> |
| | | <packageset dir="${ads.src.dir}" /> |
| | | <packageset dir="${dsml.src.dir}" /> |
| | |
| | | <echo message="Performing partial rebuild (OpenDS zip package found)"/> |
| | | <mkdir dir="${classes.dir}" /> |
| | | |
| | | <!-- Copy NDB Backend dependencies if necessary --> |
| | | <antcall target="copyndbdeps" /> |
| | | |
| | | <javac srcdir="${src.dir}:${admin.src.dir}:${msg.src.dir}:${msg.javagen.dir}:${ads.src.dir}:${quicksetup.src.dir}:${guitools.src.dir}" |
| | | destdir="${classes.dir}" debug="on" debuglevel="${build.debuglevel}" |
| | | destdir="${classes.dir}" excludes="${exclude.ndb.src}" debug="on" debuglevel="${build.debuglevel}" |
| | | source="1.5" target="1.5" deprecation="true" fork="true" |
| | | memoryInitialSize="${MEM}" memoryMaximumSize="${MEM}"> |
| | | <compilerarg value="-Xlint:all" /> |
| | |
| | | <fileset dir="${build.dir}/build-tools"> |
| | | <include name="build-tools.jar" /> |
| | | </fileset> |
| | | <fileset dir="${build.lib.dir}"> |
| | | <include name="*.jar" /> |
| | | </fileset> |
| | | </classpath> |
| | | </javac> |
| | | |
| | |
| | | <arg value="-buildfile" /> |
| | | <arg value="${ant.file}" /> |
| | | <arg value="-quiet" /> |
| | | <arg value="-Dexclude.ndb.xml=${exclude.ndb.xml}" /> |
| | | <arg value="compileadminsubtask" /> |
| | | <env key="ANT_OPTS" value="-Xmx${MEM}" /> |
| | | </exec> |
| | |
| | | |
| | | <target name="compileadminsubtask"> |
| | | <!-- Generate introspection API for core administration components. --> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/metaMO.xsl"> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/metaMO.xsl"> |
| | | <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.java" /> |
| | | <param name="base-dir" expression="${admin.defn.dir}" /> |
| | | </xslt> |
| | |
| | | </xslt> |
| | | |
| | | <!-- Generate client API for core administration components. --> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/clientMO.xsl"> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/clientMO.xsl"> |
| | | <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/client/\2CfgClient.java" /> |
| | | <param name="base-dir" expression="${admin.defn.dir}" /> |
| | | </xslt> |
| | |
| | | </xslt> |
| | | |
| | | <!-- Generate server API for core administration components. --> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" style="${admin.rules.dir}/serverMO.xsl"> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.src.dir}" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/serverMO.xsl"> |
| | | <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/server/\2Cfg.java" /> |
| | | <param name="base-dir" expression="${admin.defn.dir}" /> |
| | | </xslt> |
| | |
| | | |
| | | <!-- Generate LDAP profile for core administration components. --> |
| | | <mkdir dir="${classes.dir}" /> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/ldap" includes="**/*Configuration.xml" style="${admin.rules.dir}/ldapMOProfile.xsl"> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/ldap" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/ldapMOProfile.xsl"> |
| | | <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" /> |
| | | <param name="base-dir" expression="${admin.defn.dir}" /> |
| | | </xslt> |
| | | |
| | | <!-- Generate CLI profile for core administration components. --> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/cli" includes="**/*Configuration.xml" style="${admin.rules.dir}/cliMOProfile.xsl"> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/cli" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/cliMOProfile.xsl"> |
| | | <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" /> |
| | | <param name="base-dir" expression="${admin.defn.dir}" /> |
| | | </xslt> |
| | | |
| | | <!-- Generate I18N messages for core administration components. --> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/messages" includes="**/*Configuration.xml" style="${admin.rules.dir}/messagesMO.xsl"> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/messages" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/messagesMO.xsl"> |
| | | <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" /> |
| | | <param name="base-dir" expression="${admin.defn.dir}" /> |
| | | </xslt> |
| | |
| | | <!-- Generate manifest file for core administration components. --> |
| | | <tempfile property="admin.temp.dir" destDir="${build.dir}" prefix="tmp" /> |
| | | <mkdir dir="${admin.temp.dir}" /> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.temp.dir}" extension=".manifest" includes="**/*Configuration.xml" style="${admin.rules.dir}/manifestMO.xsl"/> |
| | | <xslt basedir="${admin.defn.dir}" destdir="${admin.temp.dir}" extension=".manifest" includes="**/*Configuration.xml" |
| | | excludes="${exclude.ndb.xml}" style="${admin.rules.dir}/manifestMO.xsl"/> |
| | | <concat destfile="${classes.dir}/admin/core.manifest"> |
| | | <fileset dir="${admin.temp.dir}" includes="**/*.manifest" /> |
| | | </concat> |
| | |
| | | |
| | | <import file="build-svr4.xml"/> |
| | | |
| | | <!-- Copy NDB Backend dependencies to build lib directory --> |
| | | <target name="copyndbdeps" if="ismysqldirpresent" |
| | | description="Internal target to copy NDB Backend dependencies"> |
| | | <!-- Blanket copy of all jars found at mysql.lib location --> |
| | | <copy todir="${build.lib.dir}"> |
| | | <fileset file="${mysql.lib.dir}/*.jar" /> |
| | | </copy> |
| | | </target> |
| | | |
| | | <!-- Package NDB Backend with Directory Server distribution --> |
| | | <target name="packagendb" if="ismysqldirpresent" |
| | | description="Internal target to package NDB Backend dependencies"> |
| | | <echo message="Packaging with NDB Backend dependencies"/> |
| | | <copy todir="${pdir}/lib"> |
| | | <fileset file="${mysql.lib.dir}/*.jar" /> |
| | | </copy> |
| | | <!-- Concat NDB Backend config entry to default config --> |
| | | <concat destfile="${pdir}/config/config.ldif" append="true"> |
| | | <filelist dir="${config.dir}" files="ndbconfig.ldif"/> |
| | | </concat> |
| | | </target> |
| | | |
| | | </project> |