| 1 | README | 
|---|
| 2 | ====== | 
|---|
| 3 |  | 
|---|
| 4 | This is a plugin for extracting shapes from PDF files. | 
|---|
| 5 | Generally useful if you have a map in PDF file and want to automate data extraction. | 
|---|
| 6 | This plugin is available under the GPL licence (version 2.0 or later). | 
|---|
| 7 | Uses PDFBox library to parse PDF files, see https://pdfbox.apache.org for more info. | 
|---|
| 8 |  | 
|---|
| 9 |  | 
|---|
| 10 | Layout | 
|---|
| 11 | ====== | 
|---|
| 12 | +- src                                source of the plugin | 
|---|
| 13 | +- images                             images the plugin needs | 
|---|
| 14 | +- resources                          resources the plugin needs | 
|---|
| 15 | +- libs                                                           libraries the plugin needs (pdfbox ...) | 
|---|
| 16 |  | 
|---|
| 17 | README                                this file | 
|---|
| 18 |  | 
|---|
| 19 | license                               GPL version 3 license text | 
|---|
| 20 | build.xml                             deployment build file | 
|---|
| 21 |  | 
|---|
| 22 |  | 
|---|
| 23 | Build | 
|---|
| 24 | ===== | 
|---|
| 25 | A JOSM plugin is built as a single jar. We use ant to build. | 
|---|
| 26 |  | 
|---|
| 27 | See build.xml in this directory and update the plugin specific properties in the | 
|---|
| 28 | configuration section. | 
|---|
| 29 |  | 
|---|
| 30 |  | 
|---|
| 31 | Maintaining versions | 
|---|
| 32 | ==================== | 
|---|
| 33 | There are two versions maintained with each plugin: | 
|---|
| 34 | 1) the main version | 
|---|
| 35 | This is the lowest JOSM version required by this plugin. | 
|---|
| 36 | You have to manually set the plugins main version in the build script. | 
|---|
| 37 | Set the property plugin.main.version in build.xml accordingly. | 
|---|
| 38 |  | 
|---|
| 39 | 2) the build version | 
|---|
| 40 | The build version is unique for every build of the plugin. It is equal | 
|---|
| 41 | to the SVN revision of your plugin directory. | 
|---|
| 42 |  | 
|---|
| 43 | Both the main version and the build version are included in properties of the plugins | 
|---|
| 44 | manifest: | 
|---|
| 45 | Plugin-Version      the build version | 
|---|
| 46 | Plugin-Mainversion  the main version | 
|---|
| 47 |  | 
|---|
| 48 | JOSM automatically detects whether a plugin needs to be upgraded. It compares the build | 
|---|
| 49 | version of the currently installed plugin jar with the build version of the plugin jar in | 
|---|
| 50 | the SVN. The main version is irrelevant for this process. | 
|---|
| 51 |  | 
|---|
| 52 | Making your plugin available to JOSM users | 
|---|
| 53 | =========================================== | 
|---|
| 54 | When a plugin jar is checked into SVN a script updates the plugins list on the JOSM wiki: | 
|---|
| 55 | https://josm.openstreetmap.de/wiki/Plugins | 
|---|
| 56 | JOSM retrieves the list of available plugins and their build versions from this list. | 
|---|
| 57 |  | 
|---|
| 58 | commit      publish               read | 
|---|
| 59 | meta data              meta data | 
|---|
| 60 | Build  ==>  SVN  =======>  JOSM Wiki   <======= JOSM | 
|---|
| 61 | ^ | 
|---|
| 62 | ================================== | 
|---|
| 63 | fetch current plugin jar | 
|---|
| 64 |  | 
|---|
| 65 | Note that you have to manually publish (commit) your plugin jar. There is no nightly build | 
|---|
| 66 | in place. Everything else (pulishing meta data, updating plugins in the client) is then handled | 
|---|
| 67 | by automatic processes. | 
|---|
| 68 |  | 
|---|
| 69 | Hints for eclipse | 
|---|
| 70 | ================= | 
|---|
| 71 | . Building: | 
|---|
| 72 | . add to buildpath|libraries: josm-custom.jar, fontbox-...jar, jempbox...jar, pdfbox...jar | 
|---|
| 73 | . build with ant, if any resources have changed (at least after svn update); eclipse cant handle build of resources, etc | 
|---|
| 74 | . Run / Debug | 
|---|
| 75 | . main class: org.openstreetmap.josm.gui.MainApplication (found in josm-custom.jar) | 
|---|
| 76 |  | 
|---|
| 77 | See also | 
|---|
| 78 | ======== | 
|---|
| 79 | * Developing Plugins | 
|---|
| 80 | https://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins | 
|---|
| 81 |  | 
|---|
| 82 | * List of JOSM Plugins | 
|---|
| 83 | https://josm.openstreetmap.de/wiki/Plugins | 
|---|