<project name="lang" default="install-all" basedir=".">

  <!-- compilation properties -->
  <property name="josm.build.dir"	value="../../core"/>
  <property name="josm.presets"		value="../../core/presets/presets.xml"/>
  <property name="josm.home.dir"	value="${user.home}/.josm"/>
  <property name="josm"			location="../../core/dist/josm-custom.jar" />
  <property name="plugin.build.dir"	value="build"/>
  <property name="plugin.dist.dir"	value="../../dist"/>
  <property name="plugin.name"		value="${ant.project.name}"/>
  <property name="plugin.jar"		value="../../dist/${plugin.name}.jar"/>
  
  <property name="ant.build.javac.target" value="1.5"/>

  <target name="dist" depends="install-all">
  </target>
  
  <target name="install-all" depends="josm-build,keys.pot">
    <ant target="install"><property name="language" value="de"/></ant>
    <ant target="install"><property name="language" value="fr"/></ant>
    <ant target="install"><property name="language" value="ro"/></ant>
    <ant target="install"><property name="language" value="en_GB"/></ant>
  </target>

  <target name="install">
    <mkdir dir="${language}/build"/>
    <mkdir dir="../../dist"/>
    <javac srcdir="${language}/src" classpath="${josm.build.dir}/dist/josm-custom.jar" destdir="${language}/build" />

    <exec executable="msgmerge">
      <arg line="-U ${language}/${language}.po keys.pot"/>
    </exec>

    <exec executable="msgfmt">
      <arg line="--verbose --java2 -d${language}/build -rorg.openstreetmap.josm.Translation -l${language} ${language}/${language}.po"/>
    </exec>

    <copy file="i18n.properties" todir="${language}/build/org/openstreetmap/josm" />

    <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
      <env key="LANG" value="C"/>
      <arg value="info"/>
      <arg value="--xml"/>
      <arg value="${language}/${language}.po"/>
    </exec>
    <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
    <delete file="REVISION"/>
    <jar destfile="../../dist/lang-${language}.jar" basedir="${language}/build">
      <manifest>
	<attribute name="Plugin-Class" value="org.openstreetmap.josm.TranslationLoader_${language}" />
	<attribute name="Plugin-Description" value="Translation to locale ${language}" />
	<attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
	<attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
	<attribute name="Plugin-Early" value="true" />
      </manifest>
    </jar>
  </target>



  <target name="josm-build">
    <ant dir="${josm.build.dir}" />
  </target>

  <target name="keys.pot">
    <exec executable="perl" output="presets.java">
      <arg line="convpreset.pl ${josm.presets}"/>
    </exec>

    <exec executable="find" output="alljava.txt">
      <arg line="${josm.build.dir}/src .. -name '*.java'"/>
    </exec>

    <exec executable="xgettext">
      <arg line="-ktr -ktrn:1,2 -ktrc -kmarktr -Ljava --from-code=UTF-8 -okeys.pot -falljava.txt"/>
    </exec>
  </target>

  <target name="clean">
    <ant target="clean_lang"><property name="language" value="de"/></ant>
    <ant target="clean_lang"><property name="language" value="fr"/></ant>
    <ant target="clean_lang"><property name="language" value="ro"/></ant>
    <ant target="clean_lang"><property name="language" value="en_GB"/></ant>
    <delete dir="${plugin.build.dir}" />
  </target>

  <target name="clean_lang">
    <delete file="../../dist/lang-${language}.jar" />
    <delete dir="${language}/build"/>
    <delete file="keys.pot"/>
    <delete file="presets.java"/>
  </target>

</project>
