<project name="openstreetmap" default="dist" basedir=".">

	<property name="src" location="src" />
	<property name="po" location="po" />
	<property name="build" location="build" />
	<property name="dist" location="dist" />
	<property name="lib" location="lib" />
	
	<path id="classpath">
		<fileset dir="${lib}">
			<include name="**/*.jar"/>
		</fileset>
	</path>

	<path id="srcfiles">
		<fileset dir="${src}">
			<include name="**/*.java"/>
		</fileset>
	</path>

	<target name="init">
		<mkdir dir="${build}" />
		<mkdir dir="${dist}" />
	</target>

	<target name="compile" depends="init">
		<javac srcdir="${src}" classpathref="classpath" destdir="${build}">
			<include name="org/openstreetmap/josm/gui/MainApplication.java"/>
			<include name="org/openstreetmap/josm/gui/MainApplet.java"/>
		</javac>
	</target>

	<target name="dist" depends="compile,gettext">
		<!-- jars -->
		<unjar src="${lib}/MinML2.jar" dest="${build}" />
		<unjar src="${lib}/gettext-commons-0.9.jar" dest="${build}" />
		<unjar src="${lib}/metadata-extractor-2.3.1.jar" dest="${build}" />

		<!-- images -->
		<copy todir="${build}/images">
			<fileset dir="images" />
		</copy>
		<copy todir="${build}/org/openstreetmap/josm">
		        <fileset dir="${po}/org/openstreetmap/josm" />
		</copy>
		<jar destfile="${dist}/josm-custom.jar" basedir="${build}">
			<manifest>
				<attribute name="Main-class" value="org.openstreetmap.josm.gui.MainApplication" />
			</manifest>
		</jar>
	</target>

	<target name="clean">
		<delete dir="${build}" />
		<delete dir="${dist}" />
	</target>


	<target name="gettext" depends="init">
    	<exec executable="find" output="${build}/alljava.txt">
    		<arg line="${src} -name '*.java'"/>
    	</exec>
        <exec executable="xgettext">
        	<arg line="-ktr -ktrn:1,2 -ktrc -kmarktr -Ljava -o${po}/keys.pot -f${build}/alljava.txt"/>
        </exec>
        <apply executable="msgmerge">
        	<arg value="-U"/>
			<srcfile/>
        	<arg file="${po}/keys.pot"/>
        	<fileset dir="${po}">
        		<include name="*.po"/>
        	</fileset>
        </apply>

    	<!-- FIXME: somehow iterate the po-directory and create the java files -->
    	<exec executable="msgfmt">
    		<arg line="--java2 -d${po} -rorg.openstreetmap.josm.Translation -lde ${po}/de.po"/>
    	</exec>
    	<exec executable="msgfmt">
    		<arg line="--java2 -d${po} -rorg.openstreetmap.josm.Translation -lfr ${po}/fr.po"/>
    	</exec>
    	<exec executable="msgfmt">
    		<arg line="--java2 -d${po} -rorg.openstreetmap.josm.Translation -len_GB ${po}/en_GB.po"/>
    	</exec>
    	<exec executable="msgfmt">
    		<arg line="--java2 -d${po} -rorg.openstreetmap.josm.Translation -lro ${po}/ro.po"/>
    	</exec>
    </target>

</project>
