| 1 | README
|
|---|
| 2 | ======
|
|---|
| 3 |
|
|---|
| 4 | This is a template project structure for a JOSM plugin.
|
|---|
| 5 |
|
|---|
| 6 | Layout
|
|---|
| 7 | ======
|
|---|
| 8 | +--- src source of your plugin
|
|---|
| 9 | |- images images your plugin needs
|
|---|
| 10 | |- resources resources your plugin needs
|
|---|
| 11 |
|
|---|
| 12 | LICENSE license file
|
|---|
| 13 | README README for your plugin
|
|---|
| 14 |
|
|---|
| 15 | README.template this file
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 | Build
|
|---|
| 19 | =====
|
|---|
| 20 | A JOSM plugin is built as a single jar. We use ant to build.
|
|---|
| 21 |
|
|---|
| 22 | See build.xml in this directory and update the plugin specific properties in the
|
|---|
| 23 | configuration section.
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 | Maintaining versions
|
|---|
| 27 | ====================
|
|---|
| 28 | There are two versions maintained with each plugin:
|
|---|
| 29 | 1) the main version
|
|---|
| 30 | You have to manually set the plugins main version in the build script.
|
|---|
| 31 | Set the property plugin.main.version in build.xml accordingly.
|
|---|
| 32 |
|
|---|
| 33 | 2) the build version
|
|---|
| 34 | The build version is unique for every build of the plugin. It is equal
|
|---|
| 35 | to the SVN revision of the file 'build.number'. The build script automatically
|
|---|
| 36 | increments the the build number and checks 'build.number' back in. Thus,
|
|---|
| 37 | the SVN revision for build.number is incremented on every build.
|
|---|
| 38 |
|
|---|
| 39 | Both the main version and the build version are included in properties of the plugins
|
|---|
| 40 | manifest:
|
|---|
| 41 | Plugin-Version the build version
|
|---|
| 42 | Plugin-Mainversion the main version
|
|---|
| 43 |
|
|---|
| 44 | JOSM automatically detects whether a plugin needs to be upgraded. It compares the build
|
|---|
| 45 | version of the currently installed plugin jar with the build version of the plugin jar in
|
|---|
| 46 | the SVN. The main version is irrelevant for this process.
|
|---|
| 47 |
|
|---|
| 48 | Making your plugin available to JOSM users
|
|---|
| 49 | ===========================================
|
|---|
| 50 | When a plugin jar is checked into SVN a script updates the plugins list on the JOSM wiki:
|
|---|
| 51 | http://josm.openstreetmap.de/wiki/Plugins
|
|---|
| 52 | JOSM retrieves the list of available plugins and their build versions from this list.
|
|---|
| 53 |
|
|---|
| 54 | commit publish read
|
|---|
| 55 | meta data meta data
|
|---|
| 56 | Build ==> SVN =======> JOSM Wiki <======= JOSM
|
|---|
| 57 | ^
|
|---|
| 58 | ==================================
|
|---|
| 59 | fetch current plugin jar
|
|---|
| 60 |
|
|---|
| 61 | Note that you have to manually publish (commit) your plugin jar. There is no nightly build
|
|---|
| 62 | in place. Everything else (pulishing meta data, updating plugins in the client) is then handled
|
|---|
| 63 | by automatic processes.
|
|---|
| 64 |
|
|---|
| 65 | See also
|
|---|
| 66 | ========
|
|---|
| 67 | * Developing Plugins
|
|---|
| 68 | http://josm.openstreetmap.de/wiki/DevelopingPlugins
|
|---|
| 69 |
|
|---|
| 70 | * List of JOSM Plugins
|
|---|
| 71 | http://josm.openstreetmap.de/wiki/Plugins
|
|---|
| 72 |
|
|---|
| 73 |
|
|---|
| 74 |
|
|---|
| 75 |
|
|---|
| 76 |
|
|---|
| 77 |
|
|---|