Hi all, Recently, I started contributing to OpenStreetMap. I would like to contribute to JOSM as well. To start, I wanted to improve some Finnish translations. However, I noticed a few problems with http://svn.openstreetmap.org/applications/editors/josm/i18n/build.xml that I would like to fix first.
The attached patch removes some exec rules and adds a dependency on gettext-ant-tasks. It also ensures that the files will be processed in a fixed order. Thus, the diffs to i18n/po/*.po should become much smaller and more readable than with the current solution of running "find" and not sorting the output. I would have committed it already, but I think that the best place for the added .jar file is in core/lib, and I don't have commit access to that repository. Could someone add gettext-ant-tasks-0.9.3.jar to http://josm.openstreetmap.de/svn/trunk/lib, so that I can commit the attached patch to http://svn.openstreetmap.org/applications/editors/josm/i18n/, please? Best regards, Marko Mäkelä http://www.openstreetmap.org/user/skela/
Property changes on: i18n ___________________________________________________________________ Name: svn:ignore - java_sourcefiles.txt trans_*.java build + build Index: i18n/build.xml =================================================================== --- i18n/build.xml (revision 13392) +++ i18n/build.xml (working copy) @@ -15,57 +15,51 @@ <property name="ant.build.javac.target" value="1.5"/> - <target name="josm.pot"> - <exec executable="perl" output="trans_presets.java"> + <property name="gettexttasks.jar" value="${josm.build.dir}/lib/gettext-ant-tasks-0.9.3.jar"/> + + <target name="init.gettext" description="Loads the Ant gettext tasks"> + <taskdef name="gettext-extract" classname="org.xnap.commons.ant.gettext.GettextExtractKeysTask" classpath="${gettexttasks.jar}"/> + <taskdef name="gettext-merge" classname="org.xnap.commons.ant.gettext.GettextMergeKeysTask" classpath="${gettexttasks.jar}"/> + <taskdef name="gettext-dist" classname="org.xnap.commons.ant.gettext.GettextDistTask" classpath="${gettexttasks.jar}"/> + </target> + + <target name="trans_.java"> + <mkdir dir="${i18n.build.dir}"/> + <exec executable="perl" output="${i18n.build.dir}/trans_presets.java"> <arg line="convpreset.pl ${josm.presets}"/> </exec> - <exec executable="perl" output="trans_style.java"> + <exec executable="perl" output="${i18n.build.dir}/trans_style.java"> <arg line="convstyle.pl ${josm.style}"/> </exec> - <exec executable="perl" output="trans_validator.java"> + <exec executable="perl" output="${i18n.build.dir}/trans_validator.java"> <arg line="convvalidator.pl ${validator.tagfile}"/> </exec> - <exec executable="perl" output="trans_wms.java"> + <exec executable="perl" output="${i18n.build.dir}/trans_wms.java"> <arg line="convwms.pl ${wms.srcfile}"/> </exec> - <exec executable="perl" output="trans_surveyor.java"> + <exec executable="perl" output="${i18n.build.dir}/trans_surveyor.java"> <arg line="convsurveyor.pl ${surveyor.srcfile}"/> </exec> + </target> - <exec executable="find" output="java_sourcefiles.txt" osfamily="unix"> - <arg value="${josm.build.dir}/src" /> - <arg value="${plugin.dir}"/> - <arg value="."/> - <arg value="-name"/> - <arg value="*.java"/> - </exec> - - <exec executable="xgettext"> - <arg line="-ktr -ktrn:1,2 -ktrc -kmarktr -Ljava --from-code=UTF-8 -opo/josm.pot -fjava_sourcefiles.txt"/> - </exec> + <target name="po/josm.pot" + description="Extracts message keys from the source code" + depends="trans_.java,init.gettext"> + <gettext-extract keysFile="josm.pot" poDirectory="po" + keywords="-k -ktrc -ktr -kmarktr -ktrn:1,2 -ktrl"> + <fileset dir="${josm.build.dir}/src" includes="**/*.java"/> + <fileset dir="${plugin.dir}" includes="**/*.java"/> + <fileset dir="${i18n.build.dir}" includes="trans_*.java"/> + </gettext-extract> </target> - <target name="build" depends="josm.pot"> + <target name="build" depends="po/josm.pot,init.gettext"> <copy file="i18n.properties" todir="build/org/openstreetmap/josm" /> - <ant target="build-lang"><property name="language" value="bg"/></ant> - <ant target="build-lang"><property name="language" value="cs"/></ant> - <ant target="build-lang"><property name="language" value="da"/></ant> - <ant target="build-lang"><property name="language" value="de"/></ant> - <ant target="build-lang"><property name="language" value="el"/></ant> - <ant target="build-lang"><property name="language" value="en_GB"/></ant> - <ant target="build-lang"><property name="language" value="es"/></ant> - <ant target="build-lang"><property name="language" value="fi"/></ant> - <ant target="build-lang"><property name="language" value="fr"/></ant> - <ant target="build-lang"><property name="language" value="he"/><property name="jlanguage" value="iw_IL"/></ant> - <ant target="build-lang"><property name="language" value="it"/></ant> - <ant target="build-lang"><property name="language" value="nl"/></ant> - <ant target="build-lang"><property name="language" value="pl"/></ant> - <ant target="build-lang"><property name="language" value="ro"/></ant> - <ant target="build-lang"><property name="language" value="ru"/></ant> - <ant target="build-lang"><property name="language" value="sk"/></ant> - <ant target="build-lang"><property name="language" value="sl"/></ant> - <ant target="build-lang"><property name="language" value="sv"/></ant> + <gettext-merge keysFile="josm.pot" poDirectory="po"/> + + <gettext-dist targetBundle="org.openstreetmap.josm.i18n.Translation" + poDirectory="po" outputDirectory="build"/> <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false"> <env key="LANG" value="C"/> @@ -86,25 +80,12 @@ </target> - <target name="build-lang"> - <property name="jlanguage" value="${language}"/> - <exec executable="msgmerge"> - <arg line="-U po/${language}.po po/josm.pot"/> - </exec> - - <exec executable="msgfmt"> - <arg line="--verbose --java2 -dbuild -rorg.openstreetmap.josm.i18n.Translation -l${jlanguage} po/${language}.po"/> - </exec> - </target> - <target name="clean"> <delete dir="${i18n.build.dir}" /> <delete file="po/josm.pot"/> <delete> <fileset dir="po" includes="*.po~" defaultexcludes="false"/> - <fileset dir="." includes="trans_*.java"/> </delete> - <delete file="java_sourcefiles.txt"/> </target> </project>
_______________________________________________ josm-dev mailing list josm-dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/josm-dev