<project name="misc" default="assemble-repos" basedir=".">
    <target name="assemble-repos" depends="validate-ready-to-start, init, clear-p2-loc, populate-p2-site, publish-p2-child, regen-composite-site"/>
    <target name="regen-existing" depends="validate-ready-to-start, init, publish-p2-child, regen-composite-site"/>

    <target name="validate-ready-to-start">
        <fail message="Missing '-Dtype='. Should be set to 'n' for 'nightly', 'm' for 'milestone' or 'r' for 'release'." unless="type"/>
        <fail message="Missing '-Dversion='. Should be set to the build version (1.1.3, 2.0.2, etc)." unless="version"/>
        <fail message="Missing '-Ddate='. Should be set to the build date (20100429, 20100504, etc)." unless="date"/>
        <fail message="Missing '-Dhash='. Should be set to the hash from the git repo (65a0fd5, fe7adf4, etc)." unless="hash"/>
        <!-- make sure milestone tag is set if an 'm' build -->
        <condition property="milestone.ok">
            <or>
                <and>
                   <equals arg1="${type}" arg2="m"/>
                   <isset property="mtag"/>
                </and>
                <not>
                   <equals arg1="${type}" arg2="m"/>
                </not>
            </or>
        </condition>
        <fail message="Missing '-Dmtag='. Should be set to the Milestone tag (M1, M2, ..., RC1, etc), when type is set to 'm'" unless="milestone.ok"/>
        <!-- setup static properties, and validate build type -->
        <property name="do.composite"           value="true"/>
        <property name="build.root.dir"         value="/opt/public/rt/eclipselink"/>
        <property name="eclipselink.releng.dir" value="${build.root.dir}/eclipselink.releng"/>
        <property name="blddeps.dir"            value="/shared/rt/eclipselink/bld_deps/master"/>
        <property name="p2.SDK.install.dir"     value="${blddeps.dir}/eclipse"/>
        <property name="download.base.dir"      value="/home/data/httpd/download.eclipse.org/rt/eclipselink"/>
        <property name="install.base.dir"       value="/home/data/httpd/download.eclipse.org/rt/eclipselink/nightly"/>
        <property name="archived.download.base.dir" value="??/rt/eclipselink"/>
        <condition property="type.ok">
            <or>
               <equals arg1="${type}" arg2="n"/>
               <equals arg1="${type}" arg2="m"/>
               <equals arg1="${type}" arg2="r"/>
            </or>
        </condition>
        <fail message="Invalid '-Dtype='. Should be set to 'n' for 'nightly', 'm' for 'milestone' or 'r' for 'release'." unless="type.ok"/>
        <!-- setup type dependent properties -->
        <condition property="build.type"       value="nightly">
            <equals arg1="${type}" arg2="n"/>
        </condition>
        <condition property="build.type"           value="milestone"
                                                    else="release">
            <equals arg1="${type}" arg2="m"/>
        </condition>
        <condition property="p2.composite.root.dir" value="/home/data/httpd/download.eclipse.org/rt/eclipselink/updates"
                                                     else="/home/data/httpd/download.eclipse.org/rt/eclipselink/${build.type}-updates">
            <equals arg1="${type}" arg2="r"/>
        </condition>
        <!-- setup version dependent properties -->
        <property name="release.version"           value="${version}"/>
        <!-- setup revision dependent properties -->
        <property name="release.version"           value="${version}"/>
        <property name="version.qualifier"          value="v${date}-${hash}"/>
        <property name="version.string"             value="${release.version}.${version.qualifier}"/>
        <property name="bundle.install.zip"         value="eclipselink-plugins-${version.string}.zip"/>
        <property name="nosql.install.zip"          value="eclipselink-plugins-nosql-${version.string}.zip"/>
        <property name="p2.archive.presigned.zip"   value="eclipselink-P2-${version.string}.zip"/>
        <property name="p2.archive.signed.zip"      value="eclipselink-P2signed-${version.string}.zip"/>
        <condition property="p2.repos.dir"          value="${p2.composite.root.dir}/${version.string}_${mtag}"
                                                     else="${p2.composite.root.dir}/${version.string}">
            <equals arg1="${type}" arg2="m"/>
        </condition>
        <!-- validate build version -->
        <condition property="installer.dir"        value="${install.base.dir}/${version}">
            <available file="${install.base.dir}/${version}" type="dir"/>
        </condition>
        <condition property="installer.dir"        value="${download.base.dir}/${build.type}s/${version}">
            <available file="${download.base.dir}/${build.type}s/${version}" type="dir"/>
        </condition>
        <condition property="installer.dir"        value="${archived.download.base.dir}/${build.type}s/${version}">
            <available file="${archived.download.base.dir}/${build.type}/${version}" type="dir"/>
        </condition>
        <fail message="Invalid '-Dversion='. Cannot find '${install.base.dir}/${version}' or '${download.base.dir}/${build.type}s/${version}' or '${archived.download.base.dir}/${build.type}/${version}' dir." unless="installer.dir"/>
        <!-- validate mtag -->
        <!--  condition property="mtag.ok">
            <or>
                <available file="${installer.dir}/${mtag}" type="dir"/>
                <not>
                   <equals arg1="${type}" arg2="m"/>
                </not>
            </or>
        </condition>
        <fail message="Invalid '-Dmtag='. Cannot find '${installer.dir}/${mtag}' dir." unless="mtag.ok"/ -->
        <!-- validate build date and hash (qualifier) -->
        <condition property="bundle.install.file"   value="${installer.dir}/${bundle.install.zip}">
            <available file="${installer.dir}/${bundle.install.zip}"/>
        </condition>
        <condition property="bundle.install.file"   value="${installer.dir}/${mtag}/${bundle.install.zip}">
            <available file="${installer.dir}/${mtag}/${bundle.install.zip}"/>
        </condition>
        <condition property="bundle.install.file"   value="${installer.dir}/${date}/${bundle.install.zip}">
            <available file="${installer.dir}/${date}/${bundle.install.zip}"/>
        </condition>
        <fail message="Invalid '-Ddate=' or '-Dhash'. Cannot find '${bundle.install.zip}'." unless="bundle.install.file"/>
        <!-- same for nosql -->
        <condition property="nosql.install.file"   value="${installer.dir}/${nosql.install.zip}">
            <available file="${installer.dir}/${nosql.install.zip}"/>
        </condition>
        <condition property="nosql.install.file"   value="${installer.dir}/${mtag}/${nosql.install.zip}">
            <available file="${installer.dir}/${mtag}/${nosql.install.zip}"/>
        </condition>
        <condition property="nosql.install.file"   value="${installer.dir}/${date}/${nosql.install.zip}">
            <available file="${installer.dir}/${date}/${nosql.install.zip}"/>
        </condition>
        <condition property="nosql.missing">
            <and>
                <not> <equals arg1="${version}" arg2="2.3.4"/> </not>
                <not> <isset property="nosql.install.file"/> </not>
            </and>
        </condition>

        <fail message="Invalid '-Ddate=' or '-Dhash'. Cannot find '${nosql.install.zip}'." if="nosql.missing"/>
        <!-- assumes will be doing full p2 setup therefore probably from nightly loc -->
        <condition property="p2.archive.zip"        value="${installer.dir}/${date}/${p2.archive.presigned.zip}"
                                                     else="${installer.dir}/${date}/${p2.archive.signed.zip}">
            <equals arg1="${build.type}" arg2="nightly"/>
        </condition>
    </target>

    <target name="init" depends="validate-ready-to-start">
        <property name="category.qualifier"       value="${version.string}"/>
        <!-- Tool definitions -->
        <property name="p2.SDK.plugin.dir"        value="${p2.SDK.install.dir}/plugins"/>
        <property name="p2.publisher.jar"         value="org.eclipse.equinox.p2.publisher_*.jar"/>
        <property name="p2.launcher.jar"          value="org.eclipse.equinox.launcher_*.jar"/>
        <property name="p2.artifact.jar"          value="org.eclipse.equinox.artifact.repository_*.jar"/>
        <property name="regen.composite.script"   value="${eclipselink.releng.dir}/buildCompositeP2.sh"/>
        <!-- Input definitions -->
        <property name="p2.mirror.dir"            value="${mirror}"/>
        <property name="p2.feature.dir"           value="${p2.repos.dir}/features"/>
        <property name="p2.bundle.dir"            value="${p2.repos.dir}/plugins"/>
        <!-- Output definitions -->
        <property name="p2.repos.url"             value="file:/${p2.repos.dir}"/> <!-- DO NOT Override this one -->
        <property name="p2.mirror.url"            value="file:/${p2.mirror.dir}"/> <!-- DO NOT Override this one -->
        <property name="p2.release.repos.name"    value="EclipseLink Repository"/>
        <property name="p2.milestone.repos.name"  value="EclipseLink Milestone Repository"/>
        <property name="p2.nightly.repos.name"    value="EclipseLink Nightly Build Repository"/>
        <property name="p2.release.repos.url"     value="http://download.eclipse.org/rt/eclipselink/updates"/>
        <property name="p2.milestone.repos.url"   value="http://download.eclipse.org/rt/eclipselink/incremental-updates/milestone"/>
        <property name="p2.nightly.repos.url"     value="http://download.eclipse.org/rt/eclipselink/incremental-updates/nightly"/>
        <condition property="p2.repos.name"       value="&quot;${p2.nightly.repos.name}&quot;">
            <equals arg1="${type}" arg2="n"/>
        </condition>
        <condition property="p2.repos.name"       value="&quot;${p2.milestone.repos.name}&quot;"
                                                  else="&quot;${p2.release.repos.name}&quot;">
            <equals arg1="${type}" arg2="m"/>
        </condition>

        <echo message="ant.project.name       ='${ant.project.name}'"/>
        <echo message="java.home              ='${java.home}'"/>
        <echo message=" ---"/>
        <echo message="release.version        ='${release.version}'"/>
        <echo message="version.qualifier      ='${version.qualifier}'"/>
        <echo message="version.string         ='${version.string}'"/>
        <echo message="category.qualifier     ='${category.qualifier}'"/>
        <echo message=" ---"/>
        <echo message="bundle.install.file    ='${bundle.install.file}'"/>
        <echo message="nosql.install.file     ='${nosql.install.file}'"/>
        <echo message="p2.archive.zip         ='${p2.archive.zip}'"/>
        <echo message=" ---"/>
        <echo message="p2.SDK.install.dir     ='${p2.SDK.install.dir}'"/>
        <echo message="p2.publisher.jar       ='${p2.publisher.jar}'"/>
        <echo message="p2.launcher.jar        ='${p2.launcher.jar}'"/>
        <echo message="regen.composite.script ='${regen.composite.script}'"/>
        <echo message=" ---"/>
        <echo message="p2.repos.dir           ='${p2.repos.dir}'"/>
        <echo message="p2.repos.url           ='${p2.repos.url}'"/>
        <echo message="p2.feature.dir         ='${p2.feature.dir}'"/>
        <echo message="p2.bundle.dir          ='${p2.bundle.dir}'"/>
        <echo message="build.root.dir         ='${build.root.dir}'"/>
        <echo message="p2.composite.root.dir  ='${p2.composite.root.dir}'"/>
        <echo message="p2.repos.name          ='${p2.repos.name}'"/>
        <echo message="-----"/>
        <echo message="source URL (p2.repos.url)       ='${p2.repos.url}'"/>
        <echo message="destination dir (p2.mirror.dir) ='${p2.mirror.dir}'"/>
        <echo message="destination URL (p2.mirror.url) ='${p2.mirror.url}'"/>
        <echo message="destination name(p2.mirror.name)='${p2.mirror.name}'"/>
        <echo message="-----"/>

        <!-- Test for needed resources -->
        <available file="${bundle.install.file}"    property="bundle.installer.exist"/>
        <available file="${nosql.install.file}"     property="nosql.installer.exist"/>
        <available file="${p2.SDK.plugin.dir}"      property="sdk.install.exist"/>
        <available file="${regen.composite.script}" property="regen.script.exist"/>

        <!-- Make sure necessary resources exist -->
        <fail message="Error: '${p2.SDK.plugin.dir}' not found!" unless="sdk.install.exist"/>
    </target>

    <target name="test-ready-to-go">
        <!-- This condition meaningless if p2.archive.zip already set -->
        <condition property="p2.archive.zip" value="${p2.archive.presigned.zip}" else="foobar.error">
            <available file="${p2.archive.presigned.zip}"/>
        </condition>
        <available file="${p2.archive.zip}" property="signing.archive.exist"/>
        <condition property="ready-to-go">
            <and>
                <isset property="signing.archive.exist"/>
                <isset property="bundle.installer.exist"/>
                <not> <isset property="nosql.missing"/> </not>
            </and>
        </condition>
    </target>

    <target name="not-ready-to-go" unless="ready-to-go" depends="test-ready-to-go">
        <fail message="Bundle Installer (${bundle.install.file}) or NoSQL Installer (${nosql.install.file}) or p2 archive (${p2.archive.zip})not found! Skipping P2 repos generation."/>
    </target>

    <target name="clear-p2-loc" if="ready-to-go" depends="not-ready-to-go">
        <!-- Clean existing repos if it exists (should only be true of a release redo, or the latest milestone or nightly) -->
        <delete dir="${p2.repos.dir}" failonerror="false"/>
        <echo message="Test without cleaning repos first."/>
    </target>

    <target name="populate-p2-site" if="ready-to-go" depends="init">
        <mkdir dir="${p2.bundle.dir}"/>
        <mkdir dir="${p2.feature.dir}"/>
        <!-- populate update site with feature and bundle jars -->
        <unzip dest="${p2.bundle.dir}" src="${bundle.install.file}">
            <patternset>
                <include name="**/*.jar"/>
            </patternset>
        </unzip>
        <unzip dest="${p2.bundle.dir}" src="${nosql.install.file}">
            <patternset>
                <include name="**/*.jar"/>
            </patternset>
        </unzip>
        <!-- Remove jars we are not including in features at this time (needs to be separate because exclude in unzip does not seem to work) -->
        <delete>
            <fileset
                dir="${p2.bundle.dir}"
                includes="
                          *jms*.jar,
                          com.sun*.jar,
                          eclipselink*.jar,
                          *ejb*.jar,
                          javax.persistence*_1.*.jar,
                          *preview*.jar,
                          *javax.resource*.jar,
                          *javax.transaction*.jar,
                          javax.xml.bind.source*.jar,
                          *modelgen*.jar,
                          *soap*.jar,
                          *xml.ws*.jar,
                          *jpars*.jar"
            />
        </delete>
        <unzip dest="${p2.feature.dir}" src="${p2.archive.zip}">
            <patternset>
                <include name="features/*.jar"/>
            </patternset>
            <mapper type="flatten"/>
        </unzip>
    </target>

    <target name="publish-p2-child" if="do.composite">
        <echo message="java.home        ='${java.home}'"/>
        <echo message="p2.SDK.plugin.dir='${p2.SDK.plugin.dir}'"/>
        <echo message="p2.launcher.jar  ='${p2.launcher.jar}'"/>
        <echo message="p2.publisher.jar ='${p2.publisher.jar}'"/>
        <echo message="-----"/>
        <echo message="p2.repos.dir     ='${p2.repos.dir}'"/>
        <echo message="p2.repos.url     ='${p2.repos.url}'"/>
        <!-- Metadata generator apparently doesn't rebuild the artifact and content xml files if they already exist -->
        <mkdir dir="${p2.repos.dir}"/>
        <delete  failonerror="false">
            <fileset dir="${p2.repos.dir}" includes="artifact*.*, content*.*"/>
        </delete>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.publisher.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher" />
            <arg line=" -metadataRepository ${p2.repos.url}" />
            <arg line=" -artifactRepository ${p2.repos.url}" />
            <arg line=" -source ${p2.repos.dir}" />
            <arg line=" -compress -publishArtifacts -configs all" />
        </java>
    </target>

    <target name="no-script-warning" unless="regen.script.exist" depends="init">
        <echo message="Warning: Composite won't be generated."/>
        <echo message="         '${regen.composite.script}' not found!"/>
    </target>

    <target name="regen-composite-site" if="regen.script.exist" depends="no-script-warning">
        <chmod file="${regen.composite.script}" perm="ug+x"/>
        <!-- Regenerate Composite Repos metadata -->
        <echo message="regen.composite.script='${regen.composite.script}'"/>
        <echo message="p2.composite.root.dir ='${p2.composite.root.dir}'"/>
        <echo message="p2.repos.name         ='${p2.repos.name}'"/>
        <exec executable="/bin/sh" failonerror="false" logError="true" >
            <arg value="${regen.composite.script}"/>
            <arg value="${p2.composite.root.dir}"/>
            <arg value="${p2.repos.name}"/>
        </exec>
    </target>

    <target name="test-mirror-ready-to-go">
        <condition property="mirror-ready-to-go">
            <and>
                <isset property="p2.mirror.dir"/>
                <isset property="p2.mirror.name"/>
            </and>
        </condition>
    </target>

    <target name="mirror-p2-repos" if="mirror-ready-to-go" depends="init, test-mirror-ready-to-go">
        <property name="p2.mirror.name" value="EclipseLink build ${version.string} Repository"/>
        <echo message="java.home        ='${java.home}'"/>
        <echo message="p2.SDK.plugin.dir='${p2.SDK.plugin.dir}'"/>
        <echo message="p2.launcher.jar  ='${p2.launcher.jar}'"/>
        <echo message="p2.publisher.jar ='${p2.publisher.jar}'"/>
        <echo message="-----"/>
        <echo message="source URL (p2.repos.url)       ='${p2.repos.url}'"/>
        <echo message="destination dir (p2.mirror.dir) ='${p2.mirror.dir}'"/>
        <echo message="destination URL (p2.mirror.url) ='${p2.mirror.url}'"/>
        <echo message="destination name(p2.mirror.name)='${p2.mirror.name}'"/>
        <echo message="-----"/>
        <!-- Metadata generator apparently doesn't rebuild the artifact and content xml files if they already exist -->
        <mkdir dir="${p2.mirror.dir}"/>
        <delete  failonerror="false">
            <fileset dir="${p2.mirror.dir}" includes="artifact*.*, content*.*"/>
        </delete>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2.M.mirror"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.artifact.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication" />
            <arg line=" -source ${p2.repos.url}" />
            <arg line=" -destination ${p2.mirror.url}" />
            <arg line=" -destinationName '${p2.mirror.name}'" />
        </java>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2.A.mirror"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.artifact.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication" />
            <arg line=" -source ${p2.repos.url}" />
            <arg line=" -destination ${p2.mirror.url}" />
            <arg line=" -destinationName '${p2.mirror.name}'" />
            <arg line=" -verbose -raw" />
        </java>
    </target>

</project>
