<?xml version="1.0" encoding="utf-8"?>
<project name="opendata" default="dist" basedir="." xmlns:mvn="antlib:org.apache.maven.resolver.ant">
    <property name="plugin.main.version" value="19044"/>
    <property name="plugin.author" value="Don-vip"/>
    <property name="plugin.class" value="org.openstreetmap.josm.plugins.opendata.OdPlugin"/>
    <property name="plugin.description" value="Allows JOSM to read Open Data formats (csv, xls, ods, kml, kmz, shp, mif) into an .osm data layer. Supports zip and 7z compression of these file types."/>
    <property name="plugin.icon" value="images/dialogs/o24.png"/>
    <property name="plugin.canloadatruntime" value="true"/>
    <property name="plugin.link" value="https://wiki.openstreetmap.org/wiki/JOSM/Plugins/OpenData"/>
    <property name="plugin.requires" value="apache-commons;jaxb;jts;ejml;geotools;utilsplugin2"/>

    <!-- ** include targets that all plugins have in common ** -->
    <import file="../build-common.xml"/>

    <fileset id="plugin.requires.jars" dir="${plugin.dist.dir}">
        <include name="apache-commons.jar"/>
        <include name="jaxb.jar"/>
        <include name="jts.jar"/>
        <include name="ejml.jar"/>
        <include name="geotools.jar"/>
        <include name="opendata.jar"/>
    </fileset>

    <property name="apache-commons" location="${plugin.dist.dir}/apache-commons.jar"/>
    <property name="jts" location="${plugin.dist.dir}/jts.jar"/>
    <property name="ejml" location="${plugin.dist.dir}/ejml.jar"/>
    <property name="geotools" location="${plugin.dist.dir}/geotools.jar"/>

    <!--
    **********************************************************
    ** compile_poi - compiles Apache POI needed classes
    **********************************************************
    -->
    <target name="compile_poi" depends="init">
        <echo message="compiling Apache POI ... "/>
	<javac srcdir="includes/org/apache/poi" debug="false" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="ISO-8859-1" release="${java.lang.version}" />
    </target>
    <!--
    **********************************************************
    ** compile_jopendoc - compiles JOpenDocument needed classes
    **********************************************************
    -->
    <target name="compile_jopendoc" depends="init, fetch_dependencies">
        <echo message="compiling JOpenDocument ... "/>
	<javac srcdir="includes/org/jopendocument" debug="false" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="ISO-8859-1" release="${java.lang.version}">
            <classpath>
                <!-- JDOM is required in an older version than the one embedded in geotools jar -->
                <pathelement location="lib/jdom2-2.0.6.1.jar"/>
                <pathelement location="${apache-commons}"/>
            </classpath>
        </javac>
    </target>
    <!--
    **********************************************************
    ** compile_j7zip - compiles J7zip classes
    **********************************************************
    -->
    <target name="compile_j7zip" depends="init">
        <echo message="compiling J7Zip ... "/>
	<javac srcdir="includes/org/j7zip" debug="true" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="UTF-8" release="${java.lang.version}" />
    </target>
    <!--
    **********************************************************
    ** compile_neptune - compiles Neptune classes
    **********************************************************
    -->
    <target name="compile_neptune" depends="init, xjc_neptune">
        <echo message="compiling Neptune ... "/>
	<javac srcdir="includes/neptune" debug="false" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="UTF-8" release="${java.lang.version}">
            <classpath>
                <fileset refid="jaxb.jars"/>
            </classpath>
        </javac>
    </target>
    <!--
    **********************************************************
    ** compile - compiles the source tree
    **********************************************************
    -->
    <target name="pre-compile" depends="init, fetch_dependencies, compile_poi, compile_jopendoc, compile_neptune, compile_j7zip"/>
    
    <target name="xjc_neptune" depends="init, -jaxb_linux, -jaxb_windows" unless="jaxb.notRequired">
        <exec executable="${xjc}" failonerror="true">
            <arg value="-d"/>
            <arg value="includes"/>
            <arg value="-p"/>
            <arg value="neptune"/>
            <arg value="-encoding"/>
            <arg value="UTF-8"/>
            <arg value="resources/neptune/neptune.xsd"/>
        </exec>
    </target>
</project>
