<project name="jsr-308" basedir="../../..">

    <description>
        Ant utilities for releasing the Checker-Framework.  All targets in this file
        are intended to be run much like method calls (i.e. you must specify a certain set of properties
        as parameters and they do not depend on any other target.
    </description>

    <property file="docs/developer/release/release.properties"/>
    <!-- Todays date -->
    <tstamp>
        <format property="release.date" pattern="d MMM yyyy"/>
    </tstamp>

    <!-- For updating version numbers in files -->
    <macrodef name="update">
        <attribute name="file"/>
        <attribute name="start"/>
        <attribute name="end" default=""/>
        <attribute name="with"/>
        <sequential>
            <echo level="info" message="updating @{file}"/>
            <replaceregexp file="@{file}" byline="true"
                           match="@{start}.*@{end}" replace="@{start}@{with}@{end}"/>
        </sequential>
    </macrodef>

    <target name="update-checker-framework-versions" description="updates version info in Checker Framework documents and build configs">

        <fail unless="checker"            message="checker property is not set!"   />
        <fail unless="release.ver"         message="release.ver property is not set!"/>
        <fail unless="afu.properties"      message="afu.properties property is not set!"/>
        <fail unless="afu.release.date"    message="afu.release.date property is not set!"/>
        <fail unless="afu.version"    message="afu.version not set"/>

        <property name="cf.docs"             value="${checker}/../docs"                      />
        <property name="checker.manual"      value="${cf.docs}/manual"                       />
        <property name="cf.docs.examples"    value="${cf.docs}/examples"                     />
        <property name="checker.tutorial"    value="${cf.docs}/tutorial"                     />
        <property name="checker.release"     value="${checker}/../release"                   />
        <property name="checkerWebPage"      value="${cf.docs}/checker-framework-webpage.html" />
        <property name="checkerQuickStartPage" value="${checker.manual}/checker-framework-quick-start.html" />
        <property name="release.version.regexp" value="\d\.\d+\.\d+(?:\.\d)" />

        <!-- for afu.date.0 and afu.date.1 -->
        <loadproperties srcFile="${afu.properties}"/>

        <replaceregexp file="${checkerWebPage}" byline="true"
                       match="checker-framework-${release.version.regexp}{0,1}" replace="checker-framework-${release.ver}"/>

        <replaceregexp file="${checkerWebPage}" byline="true"
                       match="annotation-tools-${release.version.regexp}{0,1}.zip" replace="annotation-tools-${afu.version}.zip"/>

        <update file="${checkerWebPage}"
                start="${checkers.zip.ver.0}" end="${checkers.zip.ver.1}"
                with="checker-framework-${release.ver}.zip"/>

        <update file="${checkerWebPage}"
                start="${afu.zip.ver.0}" end="${afu.zip.ver.1}"
                with="annotation-tools-${afu.version}.zip"/>

        <update file="${checkerWebPage}"
                start="${checkers.ver.0}" end="${checkers.ver.1}"
                with="${release.ver}, ${release.date}"/>

        <update file="${cf.docs}/manual/checkerframework.gradle"
                start="${gradle.ver.0}" end="${gradle.ver.1}"
                with="${release.ver}"/>

        <update file="${checkerWebPage}"
                start="${compiler.ver.0}" end="${compiler.ver.1}"
                with="${release.ver}, ${release.date}"/>

        <update file="${checkerWebPage}"
                start="${checkers.date.0}" end="${checkers.date.1}"
                with="${release.date}"/>

        <update file="${checkerWebPage}"
                start="${afu.date.0}" end="${afu.date.1}"
                with="${afu.release.date}"/>

        <replaceregexp file="${checkerQuickStartPage}" byline="true"
                       match="checker-framework-${release.version.regexp}{0,1}" replace="checker-framework-${release.ver}"/>

        <update file="${checkerQuickStartPage}"
                start="${checkers.zip.ver.0}" end="${checkers.zip.ver.1}"
                with="checker-framework-${release.ver}.zip"/>

        <replaceregexp file="${checker.manual}/introduction.tex" byline="true"
                       match="checker-framework-${release.version.regexp}{0,1}" replace="checker-framework-${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker-framework-${release.version.regexp}{0,1}" replace="checker-framework-${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker-${release.version.regexp}{0,1}" replace="checker-${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker-qual-${release.version.regexp}{0,1}" replace="checker-qual-${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker-util-${release.version.regexp}{0,1}" replace="checker-util-${release.ver}"/>
        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker/${release.version.regexp}{0,1}" replace="checker/${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker-qual/${release.version.regexp}{0,1}" replace="checker-qual/${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="checker-util/${release.version.regexp}{0,1}" replace="checker-util/${release.ver}"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="/${release.version.regexp}{0,1}/jar" replace="/${release.ver}/jar"/>

        <replaceregexp file="${checker.manual}/external-tools.tex" byline="true"
                       match="ext.checkerFrameworkVersion = '${release.version.regexp}{0,1}'"
                       replace="ext.checkerFrameworkVersion = '${release.ver}'"/>

        <replaceregexp file="${checker}/../build-common.properties" byline="true"
                       match="build.version = ${release.version.regexp}{0,1}" replace="build.version = ${release.ver}"/>

        <update file="${checker}/build.properties"
                start="build.version = " with="${release.ver}"/>

        <update file="${checker.manual}/manual.tex"
                start="${release.info.0}" end="${release.info.1}"
                with="${release.ver} (${release.date})"/>

        <update file="${checker.manual}/manual.tex"
                start="${release.ver.0}" end="${release.ver.1}"
                with="${release.ver}"/>

        <!-- examples -->
        <update file="${cf.docs.examples}/MavenExample/pom.xml"
                start="${checkers.ver.0}" end="${checkers.ver.1}"
                with="${release.ver}"/>

    </target>

    <target name="zip-checker-framework" description="Creates a zip archive for the Checker Framework.">

        <fail unless="checker"     message="checker property is not set!" />
        <fail unless="dest.dir"    message="dest.dir property is not set!"  />
        <fail unless="file.name"   message="file.name property is not set!" />
        <fail unless="version"     message="version number is not set!"     />

        <property name="dest.file" value="${dest.dir}/${file.name}"/>
        <property name="checkerframework" value="${checker}/.."/>

        <property name="checker.includes" value="${checkerframework}/docs/developer/release/checker-includes"/>
        <property name="checker.excludes" value="${checkerframework}/docs/developer/release/checker-excludes"/>

        <echo message="${checker.includes}" />
        <available file="${checker.includes}"  property="checker.includes.available"/>
        <available file="${checker.excludes}"  property="checker.excludes.available"/>

        <fail unless="${checker.includes.available}" message="${checker.includes} includes file not available"/>
        <fail unless="${checker.excludes.available}" message="${checker.excludes} excludes file not available"/>

        <chmod file="${checker}/bin/javac" perm="+x"/>

        <delete file="${dest.file}"/>

        <zip destfile="${dest.file}" update="true">
            <zipfileset dir="${checkerframework}" prefix="checker-framework-${version}"
                        includesfile="${checker.includes}" excludesfile="${checker.excludes}"/>

            <zipfileset dir="${checkerframework}" prefix="checker-framework-${version}"
                        includes="checker/bin/javac" filemode="755"/>

            <zipfileset dir="${checkerframework}"
                        includes="docs/logo/Logo/CFLogo.png" fullpath="checker-framework-${version}/docs/manual/CFLogo.png"/>

            <zipfileset dir="${checkerframework}"
                        includes="docs/logo/Logo/CFLogo.png" fullpath="checker-framework-${version}/docs/tutorial/CFLogo.png"/>

            <zipfileset dir="${checkerframework}"
                        includes="docs/logo/Logo/CFLogo.png" fullpath="checker-framework-${version}/docs/tutorial/webpages/CFLogo.png"/>
        </zip>

    </target>

    <target name="zip-tutorial" description="Create a zip archive for the directory tutorial.">
        <fail unless="checker"    message="checker property is not set!" />
        <fail unless="dest.dir"   message="dest.dir property is not set!"  />

        <zip destfile="${dest.dir}/$tutorial.zip">
            <zipfileset dir="${checkerframework}" prefix="tutorial"
                        includes="docs/tutorial/**"
                        excludes="docs/tutorial/test/** docs/tutorial/src/** docs/tutorial/Makefile docs/tutorial/README"/>
            <zipfileset dir="${checkerframework}" includes="docs/logo/Logo/CFLogo.png" fullpath="docs/tutorial/CFLogo.png"/>
            <zipfileset dir="${checkerframework}" includes="docs/logo/Logo/CFLogo.png" fullpath="docs/tutorial/webpages/CFLogo.png"/>
        </zip>
    </target>

    <target name="zip-maven-examples" description="Create a zip archive for the directory checker/examples/MavenExample.">
        <fail unless="checker"    message="checker property is not set!" />
        <fail unless="dest.dir"    message="dest.dir property is not set!"  />
        <fail unless="file.name"   message="file.name property is not set!" />
        <fail unless="version"     message="version is not set!" />

        <property name="cf.docs"             value="${checker}/../docs"  />
        <property name="cf.docs.examples"    value="${cf.docs}/examples" />

        <zip destfile="${dest.dir}/${file.name}">
            <zipfileset dir="${cf.docs.examples}/MavenExample" filemode="755" prefix="maven-examples-${version}"/>
        </zip>
    </target>

    <!-- TODO: Document the params -->
    <target name="checker-framework-website-docs" description="Copies the relevant Checker Framework files to the given directory">
        <!-- This assumes all files have been built; it just does the copying -->

        <!-- The directory in which the Checker Framework has been built -->
        <fail unless="checker"   message="checker property is not set!" />

        <!-- The properties set by release_build.py -->
        <fail unless="dest.dir"   message="dest.dir property is not set!" />
        <fail unless="manual.name"        message="manual.name property is not set!" />
        <fail unless="dataflow.manual.name" message="dataflow.manual.name property is not set!" />
        <fail unless="checker.webpage"   message="checker.webpage property is not set!" />

        <!-- //TODO: PERHAPS CHECK THAT THESE FILES EXIST -->
        <property name="cf.docs"          value="${checker}/../docs" />
        <property name="checker.manual"   value="${cf.docs}/manual" />
        <property name="checker.logo"     value="${cf.docs}/logo" />
        <property name="dataflow.manual"  value="${checker}/../dataflow/manual" />
        <property name="checker.tutorial" value="${cf.docs}/tutorial" />
        <property name="dest.dir.manual"         value="${dest.dir}/manual" />
        <property name="web.root"         value="${dest.dir}/../.." />

        <copy file="${cf.docs}/${checker.webpage}" tofile="${dest.dir}/${checker.webpage}" />

        <mkdir dir="${dest.dir.manual}" />

        <copy file="${checker.manual}/manual.html" tofile="${dest.dir.manual}/${manual.name}.html"/>
        <symlink link="${dest.dir.manual}/index.html" resource="${manual.name}.html" />
        <copy file="${checker.manual}/manual.pdf"  tofile="${dest.dir.manual}/${manual.name}.pdf"/>

        <copy file="${dataflow.manual}/dataflow.pdf"  tofile="${dest.dir.manual}/${dataflow.manual.name}.pdf" failonerror="false"/>

        <copy todir="${dest.dir.manual}" flatten="true">
            <fileset dir="${checker.manual}">
                <include name="*.svg"/>
                <include name="manual001.png"/>
                <include name="manual001.svg"/>
            </fileset>
        </copy>

        <copy file="${checker.logo}/Logo/CFLogo.png" tofile="${web.root}/CFLogo.png" />
        <copy file="${checker.logo}/Logo/CFLogo.png" tofile="${checker.manual}/CFLogo.png" />
        <copy file="${checker.logo}/Logo/CFLogo.png" tofile="${dest.dir.manual}/CFLogo.png" />
        <copy file="${checker.logo}/Logo/CFLogo.png" tofile="${dest.dir}/docs/tutorial/CFLogo.png" />
        <copy file="${checker.logo}/Logo/CFLogo.png" tofile="${dest.dir}/docs/tutorial/webpages/CFLogo.png" />

        <copy file="${checker.logo}/Checkmark/CFCheckmark_favicon.png" tofile="${dest.dir}/favicon-checkerframework.png" />
        <copy file="${checker.logo}/Checkmark/CFCheckmark_favicon.png" tofile="${dest.dir.manual}/favicon-checkerframework.png" />
        <copy file="${checker.logo}/Checkmark/CFCheckmark_favicon.png" tofile="${web.root}/favicon-checkerframework.png" />

        <copy todir="${dest.dir}/tutorial" >
            <fileset dir="${checker.tutorial}" includes="**"/>
        </copy>

        <copy todir="${dest.dir}" file="${checker}/../docs/CHANGELOG.md" />

        <copy todir="${dest.dir}/api" flatten="false">
            <fileset dir="${checker}/../docs/api">
                <include name="**" />
            </fileset>
        </copy>

        <symlink overwrite="true" link="${dest.dir}/index.html" resource="${checker.webpage}" />

    </target>

    <target name="update-and-copy-maven-example" description="Update version/repo information of the Maven example and copy it to dest.dir">

        <fail unless="dest.dir"   message="dest.dir property is not set!" />
        <fail unless="checker"    message="checker property is not set!" />
        <fail unless="version"    message="version is not set!" />

        <property name="cf.docs"             value="${checker}/../docs"  />
        <property name="cf.docs.examples"    value="${cf.docs}/examples" />

        <copy todir="${dest.dir}/MavenExample" flatten="false">
            <fileset dir="${cf.docs.examples}/MavenExample">
                <include name="**" />
            </fileset>
        </copy>

        <!-- examples -->
        <update file="${dest.dir}/MavenExample/pom.xml"
                start="${checkers.ver.0}" end="${checkers.ver.1}"
                with="${version}"/>
    </target>

    <!-- Run from parent directory as: ant -e -file release/release.xml pylint -->
    <target name="pylint" description="Run pylint on Python code">
        <apply executable="pylint">
            <arg value="--output-format=parseable"/>
            <arg value="--rcfile=docs/developer/release/.pylintrc"/>
            <srcfile/>
            <fileset dir="." includes="docs/developer/release/*.py"/>
        </apply>
    </target>

</project>
