<?xml version="1.0" ?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (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.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<project default="install" basedir=".">

    <property name="version" value="1.1"/>

    <!-- Set type to RELEASE in order to deploy to the release repo -->
    <property name="type" value="SNAPSHOT"/>

    <condition property="maven.version"
               value="${version}"
               else="${version}-SNAPSHOT">
        <equals arg1="${type}" arg2="RELEASE"/>
    </condition>

    <condition property="maven.repositoryId"
               value="apache.releases.https"
               else="apache.snapshots.https">
        <equals arg1="${type}" arg2="RELEASE"/>
    </condition>

    <condition property="maven.repositoryUrl"
               value="https://repository.apache.org/service/local/staging/deploy/maven2"
               else="https://repository.apache.org/content/repositories/snapshots">
        <equals arg1="${type}" arg2="RELEASE"/>
    </condition>

    <target name="package">
        <echo message="Preparing Maven artifacts vor version ${maven.version} ..."/>

        <delete dir="generated/maven"/>
        <mkdir dir="generated/maven"/>

        <copy file="maven/squiggly.pom" tofile="generated/maven/squiggly.pom">
            <filterchain>
                <tokenfilter>
                    <replacestring from="@VERSION@" to="${maven.version}"/>
                </tokenfilter>
            </filterchain>
        </copy>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="LinguisticUtils"/>
            <param name="artifactName" value="apache-flex-spelling-linguistic-utils"/>
        </antcall>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="SpellingEngine"/>
            <param name="artifactName" value="apache-flex-spelling-engine"/>
        </antcall>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="SpellingFramework"/>
            <param name="artifactName" value="apache-flex-spelling-framework"/>
        </antcall>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="SpellingUI"/>
            <param name="artifactName" value="apache-flex-spelling-ui"/>
        </antcall>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="SpellingUIAPI"/>
            <param name="artifactName" value="apache-flex-spelling-ui-api"/>
        </antcall>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="SpellingUIEx"/>
            <param name="artifactName" value="apache-flex-spelling-ui-ex"/>
        </antcall>

        <antcall target="-pack-maven-artifact">
            <param name="moduleName" value="SpellingUITlF"/>
            <param name="artifactName" value="apache-flex-spelling-ui-tlf"/>
        </antcall>
    </target>

    <target name="install" depends="package, -setup-aether-antlib">
        <echo message="Installing Maven artifacts ..."/>

        <antcall target="-install-maven-artifact-pom">
            <param name="artifactName" value="squiggly"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-linguistic-utils"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-engine"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-framework"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui-api"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui-ex"/>
        </antcall>

        <antcall target="-install-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui-tlf"/>
        </antcall>
    </target>

    <target name="deploy" depends="install">
        <echo message="Deploying Maven artifacts to repository with id ${maven.repositoryId} and url ${maven.repositoryUrl} ..."/>

        <antcall target="-deploy-maven-artifact-pom">
            <param name="artifactName" value="squiggly"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-linguistic-utils"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-engine"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-framework"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui-api"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui-ex"/>
        </antcall>

        <antcall target="-deploy-maven-artifact-file">
            <param name="artifactName" value="apache-flex-spelling-ui-tlf"/>
        </antcall>
    </target>

    <!--

        Internal helper targets.

    -->

    <target name="-setup-aether-antlib">
        <mkdir dir="utils"/>
        <get src="http://search.maven.org/remotecontent?filepath=org/eclipse/aether/aether-ant-tasks/1.0.0.v20140518/aether-ant-tasks-1.0.0.v20140518-uber.jar"
             dest="utils/aether-ant-tasks-uber.jar" verbose="true" skipexisting="true"/>
        <fail message="Checksum mismatch for 'antlib/aether-ant-tasks-uber.jar'. Please delete it and rerun ant to redownload.">
            <condition>
                <not>
                    <checksum file="utils/aether-ant-tasks-uber.jar" algorithm="SHA"
                              property="95dadd03392a75564904da45108cf048abe6e5bb" verifyproperty="checksum.matches"/>
                </not>
            </condition>
        </fail>
        <!-- Setup the maven-ant-tasks. -->
        <path id="aether-ant-tasks.classpath" path="utils/aether-ant-tasks-uber.jar" />
        <typedef resource="org/eclipse/aether/ant/antlib.xml"
                 uri="antlib:org.eclipse.aether.ant"
                 classpathref="aether-ant-tasks.classpath" />
    </target>

    <target name="-pack-maven-artifact">
        <echo message="Packing module ${moduleName} as Maven artifact ${artifactName}"/>
        <copy file="maven/${artifactName}.pom" tofile="generated/maven/${artifactName}.pom">
            <filterchain>
                <tokenfilter>
                    <replacestring from="@VERSION@" to="${maven.version}"/>
                </tokenfilter>
            </filterchain>
        </copy>
        <copy file="libs/ApacheFlex${moduleName}.swc" tofile="generated/maven/${artifactName}.swc"/>
        <copy file="libs/rsls/ApacheFlex${moduleName}.swf" tofile="generated/maven/${artifactName}.swf"/>
        <zip destfile="generated/maven/${artifactName}-sources.jar">
            <fileset dir="${moduleName}/src"/>
        </zip>
    </target>

    <target name="-install-maven-artifact-pom" depends="-setup-aether-antlib"
            xmlns:artifact="antlib:org.eclipse.aether.ant">
        <echo message="Installing Pom: ${artifactName}"/>
        <artifact:install>
            <artifact:pom file="generated/maven/${artifactName}.pom"/>
        </artifact:install>
    </target>

    <target name="-install-maven-artifact-file" depends="-setup-aether-antlib"
            xmlns:artifact="antlib:org.eclipse.aether.ant">
        <echo message="Installing File: ${artifactName}"/>
        <artifact:install>
            <artifact:pom file="generated/maven/${artifactName}.pom"/>
            <artifact:artifact file="generated/maven/${artifactName}.swc"/>
            <artifact:artifact file="generated/maven/${artifactName}.swf"/>
            <artifact:artifact file="generated/maven/${artifactName}-sources.jar" classifier="sources"/>
        </artifact:install>
    </target>

    <target name="-deploy-maven-artifact-pom" depends="-setup-aether-antlib"
            xmlns:artifact="antlib:org.eclipse.aether.ant">
        <echo message="Deploying Pom: ${artifactName} to ${maven.repositoryUrl}"/>
        <artifact:deploy>
            <artifact:remoterepo id="${maven.repositoryId}" url="${maven.repositoryUrl}"/>
            <artifact:pom file="generated/maven/${artifactName}.pom"/>
        </artifact:deploy>
    </target>

    <target name="-deploy-maven-artifact-file" depends="-setup-aether-antlib"
            xmlns:artifact="antlib:org.eclipse.aether.ant">
        <echo message="Deploying File: ${artifactName} to ${maven.repositoryUrl}"/>
        <artifact:deploy>
            <artifact:remoterepo id="${maven.repositoryId}" url="${maven.repositoryUrl}"/>
            <artifact:pom file="generated/maven/${artifactName}.pom"/>
            <artifact:artifact file="generated/maven/${artifactName}.swc"/>
            <artifact:artifact file="generated/maven/${artifactName}.swf"/>
            <artifact:artifact file="generated/maven/${artifactName}-sources.jar" classifier="sources"/>
        </artifact:deploy>
    </target>

</project>