Ignore:
Timestamp:
2010-01-13T14:48:46+01:00 (15 years ago)
Author:
guggis
Message:

'Commit message'

Location:
applications/editors/josm/plugins/michigan_left
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/michigan_left/build.xml

    r17649 r19452  
    2020** dialog. You have to check it in first.
    2121**
     22** Use the ant target 'publish' to check in the plugin and make it available to other
     23** JOSM users:
     24**    set the properties commit.message and plugin.main.version
     25** and run
     26**    > ant  publish
     27**
     28**
    2229-->
    2330<project name="michigan_left" default="dist" basedir=".">
    24     <!--
     31
     32        <!-- enter the SVN commit message -->
     33        <property name="commit.message" value="Commit message" />
     34        <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
     35        <property name="plugin.main.version" value="" />
     36
     37        <!--
    2538      ************************************************
    2639      ** should not be necessary to change the following properties
    2740     -->
    28     <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
    29     <property name="plugin.build.dir"       value="build"/>
    30     <property name="plugin.src.dir"         value="src"/>
    31     <!-- this is the directory where the plugin jar is copied to -->
    32     <property name="plugin.dist.dir"        value="../../dist"/>
    33     <property name="ant.build.javac.target" value="1.5"/>
    34     <property name="plugin.dist.dir"        value="../../dist"/>
    35     <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
    36 
    37     <!--
     41        <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
     42        <property name="plugin.build.dir"       value="build"/>
     43        <property name="plugin.src.dir"         value="src"/>
     44        <!-- this is the directory where the plugin jar is copied to -->
     45        <property name="plugin.dist.dir"        value="../../dist"/>
     46        <property name="ant.build.javac.target" value="1.5"/>
     47        <property name="plugin.dist.dir"        value="../../dist"/>
     48        <property name="plugin.jar"             value="${plugin.dist.dir}/${ant.project.name}.jar"/>
     49
     50        <!--
    3851    **********************************************************
    3952    ** init - initializes the build
    4053    **********************************************************
    4154    -->
    42     <target name="init">
    43         <mkdir dir="${plugin.build.dir}"/>
    44     </target>
    45 
    46     <!--
     55        <target name="init">
     56                <mkdir dir="${plugin.build.dir}"/>
     57        </target>
     58
     59        <!--
    4760    **********************************************************
    4861    ** compile - complies the source tree
    4962    **********************************************************
    5063    -->
    51     <target name="compile" depends="init">
    52         <echo message="compiling sources for  ${plugin.jar} ... "/>
    53         <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
    54             <compilerarg value="-Xlint:deprecation"/>
    55             <compilerarg value="-Xlint:unchecked"/>
    56         </javac>
    57     </target>
    58 
    59     <!--
     64        <target name="compile" depends="init">
     65                <echo message="compiling sources for  ${plugin.jar} ... "/>
     66                <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
     67                        <compilerarg value="-Xlint:deprecation"/>
     68                        <compilerarg value="-Xlint:unchecked"/>
     69                </javac>
     70        </target>
     71
     72        <!--
    6073    **********************************************************
    6174    ** dist - creates the plugin jar
    6275    **********************************************************
    6376    -->
    64     <target name="dist" depends="compile,revision">
    65         <echo message="creating ${plugin.jar.name} ... "/>
    66         <copy todir="${plugin.build.dir}/images">
    67             <fileset dir="images"/>
    68         </copy>
    69         <copy todir="${plugin.build.dir}">
    70             <fileset dir=".">
    71                 <include name="README" />
    72                 <include name="LICENSE" />
    73             </fileset>
    74         </copy>
    75         <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
    76     <!--
     77        <target name="dist" depends="compile,revision">
     78                <echo message="creating ${plugin.jar.name} ... "/>
     79                <copy todir="${plugin.build.dir}/images">
     80                        <fileset dir="images"/>
     81                </copy>
     82                <copy todir="${plugin.build.dir}">
     83                        <fileset dir=".">
     84                                <include name="README" />
     85                                <include name="LICENSE" />
     86                        </fileset>
     87                </copy>
     88                <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
     89                        <!--
    7790        ************************************************
    7891        ** configure these properties. Most of them will be copied to the plugins
     
    8295        ************************************************
    8396    -->
    84             <manifest>
    85                 <attribute name="Author" value="Nakor"/>
    86                 <attribute name="Plugin-Class" value="MichiganLeft.MichiganLeft"/>
    87                 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
    88                 <attribute name="Plugin-Description" value="Adds no left turn for sets of 4 or 5 ways"/>
    89                 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/MichiganLeft"/>
    90                 <attribute name="Plugin-Mainversion" value="1"/>
    91                 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    92             </manifest>
    93         </jar>
    94     </target>
    95 
    96     <!--
     97                        <manifest>
     98                                <attribute name="Author" value="Nakor"/>
     99                                <attribute name="Plugin-Class" value="MichiganLeft.MichiganLeft"/>
     100                                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
     101                                <attribute name="Plugin-Description" value="Adds no left turn for sets of 4 or 5 ways"/>
     102                                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/MichiganLeft"/>
     103                                <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
     104                                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
     105                        </manifest>
     106                </jar>
     107        </target>
     108
     109        <!--
    97110    **********************************************************
    98111    ** revision - extracts the current revision number for the
     
    101114    **********************************************************
    102115    -->
    103     <target name="revision">
    104 
    105         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
    106             <env key="LANG" value="C"/>
    107             <arg value="info"/>
    108             <arg value="--xml"/>
    109             <arg value="."/>
    110         </exec>
    111         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
    112         <delete file="REVISION"/>
    113     </target>
    114 
    115     <!--
     116        <target name="revision">
     117
     118                <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
     119                        <env key="LANG" value="C"/>
     120                        <arg value="info"/>
     121                        <arg value="--xml"/>
     122                        <arg value="."/>
     123                </exec>
     124                <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
     125                <delete file="REVISION"/>
     126        </target>
     127
     128        <!--
    116129    **********************************************************
    117130    ** clean - clean up the build environment
    118131    **********************************************************
    119132    -->
    120     <target name="clean">
    121         <delete dir="${plugin.build.dir}"/>
    122         <delete file="${plugin.jar}"/>
    123     </target>
    124 
    125     <!--
     133        <target name="clean">
     134                <delete dir="${plugin.build.dir}"/>
     135                <delete file="${plugin.jar}"/>
     136        </target>
     137
     138        <!--
    126139    **********************************************************
    127140    ** install - install the plugin in your local JOSM installation
    128141    **********************************************************
    129142    -->
    130     <target name="install" depends="dist">
    131         <property environment="env"/>
    132         <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
    133             <and>
    134                 <os family="windows"/>
    135             </and>
    136         </condition>
    137         <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
    138     </target>
     143        <target name="install" depends="dist">
     144                <property environment="env"/>
     145                <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
     146                        <and>
     147                                <os family="windows"/>
     148                        </and>
     149                </condition>
     150                <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
     151        </target>
     152
     153        <!--
     154        ************************** Publishing the plugin ***********************************
     155        -->
     156        <!--
     157                ** extracts the JOSM release for the JOSM version in ../core and saves it in the
     158                ** property ${coreversion.info.entry.revision}
     159                **
     160                -->
     161        <target name="core-info">
     162                <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
     163                        <env key="LANG" value="C"/>
     164                        <arg value="info"/>
     165                        <arg value="--xml"/>
     166                        <arg value="../../core"/>
     167                </exec>
     168                <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
     169                <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
     170                <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
     171                <delete file="core.info.xml" />
     172        </target>
     173
     174        <!--
     175                ** commits the source tree for this plugin
     176                -->
     177        <target name="commit-current">
     178                <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
     179                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
     180                        <env key="LANG" value="C"/>
     181                        <arg value="commit"/>
     182                        <arg value="-m '${commit.message}'"/>
     183                        <arg value="."/>
     184                </exec>
     185        </target>
     186
     187        <!--
     188                ** updates (svn up) the source tree for this plugin
     189                -->
     190        <target name="update-current">
     191                <echo>Updating plugin source ...</echo>
     192                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
     193                        <env key="LANG" value="C"/>
     194                        <arg value="up"/>
     195                        <arg value="."/>
     196                </exec>
     197                <echo>Updating ${plugin.jar} ...</echo>
     198                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
     199                        <env key="LANG" value="C"/>
     200                        <arg value="up"/>
     201                        <arg value="../dist/${plugin.jar}"/>
     202                </exec>
     203        </target>
     204
     205        <!--
     206                ** commits the plugin.jar
     207                -->
     208        <target name="commit-dist">
     209                <echo>
     210        ***** Properties of published ${plugin.jar} *****
     211        Commit message    : '${commit.message}'                                 
     212        Plugin-Mainversion: ${plugin.main.version}
     213        JOSM build version: ${coreversion.info.entry.revision}
     214        Plugin-Version    : ${version.entry.commit.revision}
     215        ***** / Properties of published ${plugin.jar} *****                                     
     216                                               
     217        Now commiting ${plugin.jar} ...
     218        </echo>
     219                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
     220                        <env key="LANG" value="C"/>
     221                        <arg value="-m '${commit.message}'"/>
     222                        <arg value="commit"/>
     223                        <arg value="${plugin.jar}"/>
     224                </exec>
     225        </target>
     226
     227        <!-- ** make sure svn is present as a command line tool ** -->
     228        <target name="ensure-svn-present">
     229                <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code">
     230                        <env key="LANG" value="C" />
     231                        <arg value="--version" />
     232                </exec>
     233                <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system.">
     234                        <!-- return code not set at all? Most likely svn isn't installed -->
     235                        <condition>
     236                                <not>
     237                                        <isset property="svn.exit.code" />
     238                                </not>
     239                        </condition>
     240                </fail>
     241                <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system.">
     242                        <!-- error code from SVN? Most likely svn is not what we are looking on this system -->
     243                        <condition>
     244                                <isfailure code="${svn.exit.code}" />
     245                        </condition>
     246                </fail>
     247        </target>
     248
     249        <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist">
     250        </target>
    139251</project>
  • applications/editors/josm/plugins/michigan_left/src/MichiganLeft/MichiganLeft.java

    r17647 r19452  
    66import org.openstreetmap.josm.gui.MainMenu;
    77import org.openstreetmap.josm.plugins.Plugin;
     8import org.openstreetmap.josm.plugins.PluginInformation;
    89
    910public class MichiganLeft extends Plugin {
    1011    JMenuItem MichiganLeft;
    1112
    12     public MichiganLeft() {
     13    public MichiganLeft(PluginInformation info) {
     14        super(info);
    1315        MichiganLeft = MainMenu.add(Main.main.menu.toolsMenu, new MichiganLeftAction());
    1416
Note: See TracChangeset for help on using the changeset viewer.