<?xml version="1.0" encoding="UTF-8"?>

<!--
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:

   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

   - Neither the name of Oracle nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<project name="shared" basedir="..">

    <import file="make.xml"/>

    <target name="-tstamp">
        <tstamp>
            <format property="build.time" pattern="MM/dd/yyyy hh:mm aa"/>
            <format property="build.fullversion.time" pattern="MM/dd/yyyy_HH_mm"/>
        </tstamp>
    </target>

    <target name="-first-init" depends="-tstamp">
        <mkdir dir="${user.home}/.openjdk"/>
        <property name="workspace-user-build.properties" location="nbproject/private/build.properties"/>
        <property file="${workspace-user-build.properties}"/>
        <property file="${user.home}/.openjdk/${ant.project.name}-build.properties"/>
        <property name="user-build.properties" location="${user.home}/.openjdk/build.properties"/>
        <property file="${user-build.properties}"/>
        <property file="${basedir}/build.properties"/>
        <property environment="env."/>
    </target>
    <target name="-warn-about-bootstrap.jdk" depends="-first-init" unless="bootstrap.jdk">
        <property name="fallback.jdk" location="${java.home}/.."/>
        <echo level="warning">Warning: falling back to building against ${fallback.jdk}</echo>
        <echo level="warning">Please define bootstrap.jdk=.../recent/jdk7/snapshot in ${user-build.properties} or ${workspace-user-build.properties}</echo>
    </target>
    <target name="-pre-init">
        <!-- Invoked before -first-init. -->
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-post-init">
        <!-- Invoked after -project-init. -->
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-init" description="Initial configuration used by everything else." depends="-pre-init,-first-init,-project-init,-post-init"/>
    <target name="-project-init" depends="-warn-about-bootstrap.jdk">
        <property name="root" location="../../.."/>
        <property file="../common/architectures/name-${os.name}.properties"/>
        <property name="platform" value="windows"/>
        <property file="../common/architectures/arch-${os.arch}.properties"/>
        <property name="arch" value="${os.arch}"/>
        <echo level="verbose">System configuration claims architecture is ${platform}-${arch}</echo>
        <property name="build.dir" location="${root}/build/${platform}-${arch}"/>
        <property name="bin.dir" location="${build.dir}/bin"/>
        <property name="make.dir" location="${root}/make"/> <!-- this is old build make files! -->
        <property name="gensrc.dir" location="${build.dir}/gensrc"/>
        <property name="classes.dir" location="${build.dir}/classes"/>
        <property name="jtreg.dir" location="${build.dir}/jtreg/${ant.project.name}"/>
        <property name="dist.dir" value="${root}/dist"/>
        <property name="includes" value="(nothing)"/>
        <property name="excludes" value=""/>
        <property name="javadoc.dir" location="${build.dir}/javadoc/${ant.project.name}"/>
        <condition property="os.macosx">
            <os family="mac"/>
        </condition>
        <condition property="os.linux">
            <os name="linux"/>
        </condition>
        <condition property="os.solaris">
            <os name="SunOS"/>
        </condition>
        <condition property="osfamily.unix">
            <os family="unix"/>
        </condition>
        <condition property="os.windows">
            <os family="windows"/>
        </condition>
        <condition property="platform.src.dir" value="${root}/src/solaris/classes">
            <os family="unix"/>
        </condition>
        <condition property="platform.src.dir" value="${root}/src/windows/classes">
            <os family="windows"/>
        </condition>
        <property name="share.src.dir" value="${root}/src/share/classes"/>
        <property name="bootstrap.jdk" location="${fallback.jdk}"/>
        <!-- XXX ensure that bootstrap.jdk meets some minimum version requirements (TBD) -->
        <condition property="bootstrap.javac" value="${bootstrap.jdk}/bin/javac">
            <available file="${bootstrap.jdk}/bin/javac"/>
        </condition>
        <condition property="bootstrap.javac" value="${bootstrap.jdk}\bin\javac.exe">
            <available file="${bootstrap.jdk}\bin\javac.exe"/>
        </condition>
        <fail unless="bootstrap.javac">${bootstrap.jdk} does not appear to be a functional JDK; no javac found.</fail>
        <property name="javac.options" value="-Xlint"/> <!-- default, can be overridden per user or per project -->
        <property name="javac.debug" value="true"/>  <!-- default, can be overridden per user or per project -->
        <property name="javac.debuglevel" value="lines,vars,source"/>  <!-- default, can be overridden per user or per project -->
        <macrodef name="jdk-javac">
            <attribute name="srcdir"/>
            <attribute name="includes" default="${includes}"/>
            <attribute name="excludes" default="${excludes}"/>
            <attribute name="classesdir" default="${classes.dir}"/>
            <sequential>
                <mkdir dir="@{classesdir}"/>
                <javac srcdir="@{srcdir}" includes="@{includes}" excludes="@{excludes}" sourcepath=""
                    destdir="@{classesdir}" fork="true" executable="${bootstrap.javac}"
                    debug="${javac.debug}" debuglevel="${javac.debuglevel}">
                    <!-- Mandatory for compiling partial JDK sources against a snapshot; should NEVER be used for any other purpose: -->
                    <compilerarg value="-XDignore.symbol.file=true"/>
                    <compilerarg line="${javac.options}"/>
                </javac>
            </sequential>
        </macrodef>
        <available property="have.closed.src" file="${root}/src/closed/share/classes" type="dir"/>
    </target>

    <target name="-pre-compile">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-post-compile">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>

    <target name="build" depends="-init,-pre-compile,-build-ant,-build-make,-post-compile" description="Build sources."/>
    <target name="-do-build-ant">
        <depend srcdir="${share.src.dir}:${platform.src.dir}:${root}/src/closed/share/classes:${gensrc.dir}" destdir="${classes.dir}" cache="${build.dir}/depcache" includes="${includes}" excludes="${excludes}"/>
        <mkdir dir="${gensrc.dir}"/>
        <jdk-javac srcdir="${share.src.dir}:${platform.src.dir}:${gensrc.dir}"/>
        <property name="copy.excludes" value="**/*.java,**/package.html,**/doc-files/"/>
        <copy todir="${classes.dir}">
            <fileset dir="${share.src.dir}" includes="${includes}" excludes="${excludes},${copy.excludes}"/>
            <fileset dir="${platform.src.dir}" includes="${includes}" excludes="${excludes},${copy.excludes}"/>
        </copy>
        <antcall target="-maybe-do-build-ant-closed"/>
    </target>
    <target name="-maybe-do-build-ant-closed" if="have.closed.src">
        <jdk-javac srcdir="${root}/src/closed/share/classes"/>
        <copy todir="${classes.dir}">
            <fileset dir="${root}/src/closed/share/classes" includes="${includes}" excludes="${excludes},${copy.excludes}"/>
        </copy>
    </target>
    <target name="-build-ant" depends="-init" unless="use.make">
        <antcall target="-do-build-ant"/>
    </target>
    <target name="-build-make" depends="-init" if="use.make"> <!-- override me to call <make-run> -->
        <echo level="info">No make target defined for this project; falling back to simple Java build</echo>
        <antcall target="-do-build-ant"/>
    </target>

    <target name="clean" depends="-init,-clean-docs-tests,-clean-ant,-clean-make" description="Clean build products."/>
    <target name="-do-clean-ant">
        <!-- XXX first s/\.java/.class/g in includes and excludes! -->
        <delete dir="${classes.dir}" includes="${includes}" excludes="${excludes}" includeemptydirs="true"/>
        <delete dir="${gensrc.dir}" includes="${includes}" excludes="${excludes}" includeemptydirs="true"/>
        <delete dir="${build.dir}/depcache"/>
    </target>
    <target name="-clean-docs-tests">
        <delete dir="${javadoc.dir}" includeemptydirs="true"/>
        <delete dir="${jtreg.dir}" includeemptydirs="true"/>
    </target>
    <target name="-clean-ant" depends="-init" unless="use.make">
        <antcall target="-do-clean-ant"/>
    </target>
    <target name="-clean-make" depends="-init" if="use.make"> <!-- override me to call <make-run> -->
        <echo level="info">No make clean target defined for this project; falling back to simple Java clean</echo>
        <antcall target="-do-clean-ant"/>
    </target>

    <target name="compile-single" depends="-init">
        <fail unless="srcdir">Must set property 'srcdir'</fail>
        <fail unless="includes">Must set property 'includes'</fail>
        <jdk-javac srcdir="${srcdir}" includes="${includes}" excludes=""/>
    </target>
    <target name="debug-fix" depends="-init" if="netbeans.home">
        <fail unless="class">Must set property 'class'</fail>
        <antcall target="compile-single">
            <param name="includes" value="${class}.java"/>
        </antcall>
        <nbjpdareload>
            <fileset dir="${classes.dir}">
                <include name="${class}.class"/>
            </fileset>
        </nbjpdareload>
    </target>

    <target name="-taskdef-jtreg" depends="-init" unless="jtreg.defined">
        <fail message="Cannot locate jtreg: please set jtreg.home to its location">
            <condition>
                <not>
                    <isset property="jtreg.home"/>
                </not>
            </condition>
        </fail>
        <fail message="jtreg is not installed in ${jtreg.home}">
            <condition>
                <not>
                    <and>
                        <available file="${jtreg.home}/lib/jtreg.jar"/>
                        <available file="${jtreg.home}/lib/javatest.jar"/>
                    </and>
                </not>
            </condition>
        </fail>
        <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant">
            <classpath>
                <pathelement location="${jtreg.home}/lib/jtreg.jar"/>
                <pathelement location="${jtreg.home}/lib/javatest.jar"/>
            </classpath>
        </taskdef>
        <property name="jtreg.defined" value="true"/>
    </target>
    <target name="-check-tests-defined" unless="jtreg.tests">
        <fail>You must define jtreg.tests to select some tests to run.</fail>
    </target>
    <target name="-jtreg-setup">
        <property name="jtreg.vm.options" value=""/> <!-- default, can be overridden per user or per project -->
        <property name="jtreg.options" value=""/> <!-- default, can be overridden per user or per project -->
        <property name="jtreg.samevm" value="false"/>  <!-- default, can be overridden per user or per project -->
    </target>
    <target name="-jtreg-ant" unless="use.make">
        <jtreg dir="${root}/test" samevm="${jtreg.samevm}" verbose="summary"
               jdk="${bootstrap.jdk}"
               failonerror="false" resultproperty="jtreg.result"
               javacoptions="-g"
               vmoptions="-Xbootclasspath/p:${classes.dir} ${jtreg.vm.options}"
               reportDir="${jtreg.dir}/JTreport"
               workDir="${jtreg.dir}/JTwork"
               includes="${jtreg.tests}">
            <arg line="${jtreg.options}"/>
        </jtreg>
    </target>
    <target name="-jtreg-make" if="use.make">
        <jtreg dir="${root}/test" samevm="${jtreg.samevm}" verbose="summary"
               failonerror="false" resultproperty="jtreg.result"
               jdk="${build.dir}"
               vmoptions="${jtreg.vm.options}"
               javacoptions="-g"
               reportDir="${jtreg.dir}/JTreport"
               workDir="${jtreg.dir}/JTwork"
               includes="${jtreg.tests}">
            <arg line="${jtreg.options}"/>
        </jtreg>
    </target>
    <target name="-pre-jtreg">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-post-jtreg">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-jtreg" depends="-init,-pre-jtreg,-taskdef-jtreg,-check-tests-defined,-jtreg-setup,-jtreg-make,-jtreg-ant,-post-jtreg">
        <property name="jtreg.report" location="${jtreg.dir}/JTreport/html/report.html"/>
        <condition property="jtreg.passed">
            <equals arg1="${jtreg.result}" arg2="0"/>
        </condition>
    </target>
    <target name="test" depends="jtreg"/> <!-- Allow use of existing finger muscle memory from command line. -->
    <target name="jtreg" depends="-jtreg" description="Run jtreg-based tests." unless="jtreg.passed">
        <fail>${jtreg.report}: some tests failed.</fail>
    </target>
    <target name="jtreg-nb" depends="-jtreg" if="netbeans.home" unless="jtreg.passed">
        <makeurl file="${jtreg.report}" property="jtreg.report.url"/>
        <nbbrowse url="${jtreg.report.url}#Results"/>
        <fail>Some tests failed; see report for details.</fail>
    </target>
    <target name="jtreg-debug-nb" depends="-init" if="netbeans.home">
        <!-- No package decls -> "source root" is immediately containing dir -->
        <dirname file="${root}/test/${jtreg.tests}" property="test.dir"/>
        <nbjpdastart addressproperty="jpda.address" name="${ant.project.name}" transport="dt_socket">
            <bootclasspath>
                <pathelement location="${classes.dir}"/>
                <pathelement location="${bootstrap.jdk}/jre/lib/rt.jar"/>
            </bootclasspath>
            <classpath>
                <pathelement location="${jtreg.dir}/JTwork/classes"/>
            </classpath>
            <sourcepath>
                <pathelement location="${share.src.dir}"/>
                <pathelement location="${platform.src.dir}"/>
                <pathelement location="${root}/src/closed/share/classes"/>
                <pathelement location="${test.dir}"/>
            </sourcepath>
        </nbjpdastart>
        <antcall target="-jtreg">
            <param name="jtreg.vm.options" value="-Xdebug -Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
        </antcall>
    </target>

    <target name="debug" depends="-init" if="netbeans.home">
        <!-- No package decls -> "source root" is immediately containing dir -->
        <dirname file="${root}/test/${jtreg.tests}" property="test.dir"/>
        <nbjpdastart addressproperty="jpda.address" name="${ant.project.name}" transport="dt_socket">
            <bootclasspath>
                <pathelement location="${classes.dir}"/>
                <pathelement location="${bootstrap.jdk}/jre/lib/rt.jar"/>
            </bootclasspath>
            <sourcepath>
                <pathelement location="${share.src.dir}"/>
                <pathelement location="${platform.src.dir}"/>
                <pathelement location="${root}/src/closed/share/classes"/>
                <pathelement location="${test.dir}"/>
            </sourcepath>
        </nbjpdastart>
        <antcall target="run">
            <param name="jvm.args" value="-Xdebug -Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
        </antcall>
    </target>

    <target name="javadoc" depends="-init" description="Build basic Javadoc for public packages.">
        <property name="javadoc.options" value=""/> <!-- default, can be overridden per user or per project -->
        <!-- Note: even with this default value, includes/excludes
         from share.src.dir get javadoc'd; see packageset below -->
        <property name="javadoc.packagenames" value="none"/> <!-- default, can be overridden per user or per project -->
        <javadoc destdir="${javadoc.dir}" source="1.8"
            windowtitle="UNOFFICIAL" failonerror="true" use="true"
            author="false" version="false"
            packagenames="${javadoc.packagenames}">
            <header><![CDATA[<strong>Unofficial Javadoc</strong> generated from developer sources for preview purposes only]]></header>
            <arg line="${javadoc.options}"/>
            <bootclasspath>
                <path location="${bootstrap.jdk}/jre/lib/rt.jar"/>
                <path location="${classes.dir}"/>
            </bootclasspath>
            <sourcepath>
                <pathelement location="${share.src.dir}"/>
                <pathelement location="${platform.src.dir}"/>
                <pathelement location="${root}/src/closed/share/classes"/>
                <pathelement location="${root}/src/share/doc/stub"/>
            </sourcepath>
            <!-- XXX just <fileset> (restricted further to **/*.java) and no <packageset> -->
            <!-- means that {@link some.package} will not work, which is no good. -->
            <!-- (It correctly skips excluded single classes, but not if packageset is also included, -->
            <!-- which also causes duplicates in the class index for included files.) -->
            <packageset dir="${share.src.dir}" includes="${includes}" excludes="${excludes}">
                <or>
                    <filename name="java/"/>
                    <filename name="javax/"/>
                    <filename name="org/ietf/jgss/"/>
                    <filename name="org/omg/"/>
                    <filename name="org/w3c/"/>
                    <filename name="org/xml/sax/"/>
                </or>
            </packageset>
        </javadoc>
    </target>
    <target name="javadoc-nb" depends="javadoc" if="netbeans.home">
        <nbbrowse file="${javadoc.dir}/index.html"/>
    </target>

</project>
