quartz / build.xml

<project name="quartz" default="jar" basedir=".">
    <description>
        Main ANT build script for Quartz project.       
        -----------------------------------------
        Supported properties include:
           1. skip.tests       -- Disables unit tests during builds
           2. skip.checkstyle  -- Disables running checkstyle during builds
     
        Default target "jar" will create main project jar as well as all
        plugin jars for which dependencies are available.   
    </description>
    
	<!-- overridden properties (must be before the import!) -->

    <property name="docs.packages" value="org.quartz.*"/>
    <property name="jar.excludes" value="**/jboss/**,**/oracle/**,**/weblogic/**" />
    <property name="jar.includes.jboss" value="**/jboss/**" />
    <property name="jar.includes.oracle" value="**/oracle/**" />
    <property name="jar.excludes.oracle" value="**/weblogic/**" />
    <property name="jar.includes.weblogic" value="**/weblogic/**,**/WebLogic*" />
	
    <property name="skip.tests" value="true"/>

    <property file="build.properties"/>

    <!-- obtain opensymphony project: snv co http://svn.opensymphony.com/svn/opensymphony -->
    <property name="opensymphony.project.dir" location="../../opensymphony/trunk"/>
   
	<copy todir="${basedir}" failonerror="false" overwrite="true">
        <fileset file="${opensymphony.project.dir}/common/osbuild.xml" />
        <fileset file="${opensymphony.project.dir}/common/EMPTY.MF" />
    </copy>

    <property name="common.build" location="./osbuild.xml"/>

    <available file="${common.build}" property="common.build.present"/>
    <fail unless="common.build.present">
        Unable to find common build file: ${common.build}
        Please get the "opensymphony" project from cvs to location: ${opensymphony.project.dir}
    </fail>   
   
	<import file="${common.build}"/>
    <import file="checkstyle.ant"/>

	<property name="src.jboss" location="${src}/jboss"/>
	<property name="src.oracle" location="${src}/oracle"/>
	<property name="src.weblogic" location="${src}/weblogic"/>
		
    <available property="oracle.present" classname="oracle.sql.BLOB" classpathref="cp"/>
    <available property="weblogic.present" classname="weblogic.jdbc.jts.Driver" classpathref="cp"/>
  	<available property="jboss.present" classname="org.jboss.system.ServiceMBeanSupport" classpathref="cp"/>
    
    <pathconvert property="javadoc.sourcepath">
        <path>
            <dirset dir="${src}">
                <patternset>
                    <include name="java"/>
                    <include name="oracle" if="oracle.present"/>
                    <include name="weblogic" if="weblogic.present"/>
                    <include name="jboss" if="jboss.present"/>
                </patternset>
            </dirset>   
        </path> 
    </pathconvert>   
    
    <condition property="skip.compile.features.jboss">
      <not>
        <isset property="jboss.present" />
      </not>
    </condition>
    <condition property="skip.compile.features.oracle">
      <not>
        <isset property="oracle.present" />
      </not>
    </condition>
    <condition property="skip.compile.features.weblogic">
      <not>
        <isset property="weblogic.present" />
      </not>
    </condition>
	
    <!-- overridden targets -->

    <target name="clean" depends="common.clean">
    	
        <subant target="clean" buildpath="${basedir}" antfile="examples/build.xml" inheritall="false" inheritrefs="false" />

    </target>

    <target name="compile" depends="checkstyle,common.compile" description="compile main project and plugin source files">

      <rmic classname="org.quartz.core.QuartzScheduler" classpath="${build.java}" base="${build.java}"/>
    	
      <copy filtering="no" todir="${build.java}" file="build.properties"/>
    	
	  <antcall target="compile.features.jboss" />
	  <antcall target="compile.features.oracle" />
	  <antcall target="compile.features.weblogic" />

	</target>
    
    <target name="compile.features.jboss" unless="skip.compile.features.jboss">
        <javac srcdir="${src.jboss}" destdir="${build.java}" classpathref="cp" debug="on" source="${compile.version}" target="${compile.version}" />
        <copy filtering="no" todir="${build.java}">
            <fileset dir="${src.jboss}">
                <exclude name="**/*.java"/>
                <exclude name="**/package.html"/>
                <exclude name="**/doc-files/**"/>
            </fileset>
        </copy>
	</target>

    <target name="compile.features.oracle" unless="skip.compile.features.oracle">
        <javac srcdir="${src.oracle}" destdir="${build.java}" classpathref="cp" debug="on" source="${compile.version}" target="${compile.version}" />
        <copy filtering="no" todir="${build.java}">
            <fileset dir="${src.oracle}">
                <exclude name="**/*.java"/>
                <exclude name="**/package.html"/>
            </fileset>
        </copy>
	</target>

    <target name="compile.features.weblogic" unless="skip.compile.features.weblogic">
        <javac srcdir="${src.weblogic}" destdir="${build.java}" classpathref="cp" debug="on" source="${compile.version}" target="${compile.version}" />
        <copy filtering="no" todir="${build.java}">
            <fileset dir="${src.weblogic}">
                <exclude name="**/*.java"/>
                <exclude name="**/package.html"/>
            </fileset>
        </copy>
	</target>
	
    <target name="jar" depends="common.jar" description="package main project and plugin jars">
        <antcall target="jar.features.jboss" />
        <antcall target="jar.features.oracle" />
        <antcall target="jar.features.weblogic" />

        <!-- Build one jar to rule them all. -->   
        <jar basedir="${build.java}" jarfile="${build}/${name}-all-${version}.jar" manifest="${jar.manifest}">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} ALL"/>
                <attribute name="Implementation-Version" value="${version}"/>
                <attribute name="Implementation-Vendor" value="OpenSymphony"/>
            </manifest>
        </jar>
    </target>

    <target name="jar.features.jboss"  unless="skip.compile.features.jboss" >

        <jar basedir="${build.java}" includes="${jar.includes.jboss}" jarfile="${build}/${name}-jboss-${version}.jar" manifest="${jar.manifest}">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} JBoss Features" />
                <attribute name="Implementation-Version" value="${version}" />
                <attribute name="Implementation-Vendor" value="OpenSymphony" />
            </manifest>
        </jar>
<!--    	
        <jar basedir="${src.jboss}" jarfile="${build}/${name}-jboss-${version}-src.jar">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} JBoss Features" />
                <attribute name="Implementation-Version" value="${version}" />
                <attribute name="Implementation-Vendor" value="OpenSymphony" />
            </manifest>
        </jar>
-->        
    </target>

    <target name="jar.features.oracle"  unless="skip.compile.features.oracle" >

        <jar basedir="${build.java}" includes="${jar.includes.oracle}" excludes="${jar.excludes.oracle}" jarfile="${build}/${name}-oracle-${version}.jar" manifest="${jar.manifest}">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} Oracle Features" />
                <attribute name="Implementation-Version" value="${version}" />
                <attribute name="Implementation-Vendor" value="OpenSymphony" />
            </manifest>
        </jar>
<!--		    	
        <jar basedir="${src.oracle}" jarfile="${build}/${name}-oracle-${version}-src.jar">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} Oracle Features" />
                <attribute name="Implementation-Version" value="${version}" />
                <attribute name="Implementation-Vendor" value="OpenSymphony" />
            </manifest>
        </jar>
-->        
    </target>

    <target name="jar.features.weblogic"  unless="skip.compile.features.weblogic" >

        <jar basedir="${build.java}" includes="${jar.includes.weblogic}" jarfile="${build}/${name}-weblogic-${version}.jar" manifest="${jar.manifest}">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} Weblogic Features" />
                <attribute name="Implementation-Version" value="${version}" />
                <attribute name="Implementation-Vendor" value="OpenSymphony" />
            </manifest>
        </jar>
<!--    	
        <jar basedir="${src.weblogic}" jarfile="${build}/${name}-weblogic-${version}-src.jar">
            <manifest>
                <attribute name="Implementation-Title" value="${fullname} Weblogic Features" />
                <attribute name="Implementation-Version" value="${version}" />
                <attribute name="Implementation-Vendor" value="OpenSymphony" />
            </manifest>
        </jar>
-->        
    </target>

    <target name="predist" depends="common.predist">
<!--
    	<copy file="${build}/${name}-jboss-${version}.jar" todir="${dist}"/>
    	<copy file="${build}/${name}-oracle-${version}.jar" todir="${dist}"/>
    	<copy file="${build}/${name}-weblogic-${version}.jar" todir="${dist}"/>
-->    	
    </target>
	
    <target name="predist.zip" depends="common.predist.zip">

    	<mkdir dir="${dist}/docs/xml" />
    	<copy todir="${dist}/docs/xml" flatten="true">
            <fileset dir="${src}" includes="**/*.dtd,**/*.xsd"/>
        </copy>
    	
   	    <subant target="dist" buildpath="${basedir}" antfile="examples/build.xml" inheritall="false" inheritrefs="false" />

    	<mkdir dir="${dist}/examples" />
    	<copy todir="${dist}/examples">
            <fileset dir="examples/dist"/>
        </copy>

        <copy todir="${dist}" file="${basedir}/osbuild.xml" />
        <copy todir="${dist}" file="${basedir}/checkstyle.ant" />
        <copy todir="${dist}" file="${basedir}/checkstyle_checks.xml" />
    	<copy todir="${dist}" file="${basedir}/EMPTY.MF" />
    	
    </target>
</project>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.