source: josm/trunk/README@ 17357

Last change on this file since 17357 was 17272, checked in by Don-vip, 3 years ago

Drop the patches directory, not needed anymore

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=utf-8
File size: 11.1 KB
RevLine 
[4600]1Supplemental information for JOSM -- the Java OpenStreetMap Editor
[14]2
[5341]3=============================================================================
4 I. Install & Launch
5=============================================================================
[5545]6
[4600]7Installation notes
8------------------
[14]9To run JOSM, you need:
10
[4600]11* The JOSM .jar file, e.g., josm-tested.jar or josm-latest.jar
[10580]12* Java Runtime Environment (JRE) 8, or later.
[14]13
14
[4600]15How to get Java Runtime Environment
16-----------------------------------
[10580]17You need JRE Version 8, or later.
[14]18
[7489]19Microsoft Windows and Apple Mac OS X users should visit https://www.java.com
[6216]20and download the latest Java executable for their system.
[14]21
[4600]22Linux users should visit http://www.oracle.com/technetwork/java/index.html
[5545]23There is a Linux binary installer, which you must execute from a console, or
[4600]24use the mechanism of your distribution's packaging system.
[14]25
26
27How to launch
28-------------
[4600]29Microsoft Windows users launch by double-clicking on the .jar file.
30If this does not work, open a command shell and type
31"java -jar josm-latest.jar" in the directory that holds the file. (Please
32replace josm-latest.jar with the name of your .jar file, if you aren't using
33the latest version.)
[14]34
[4600]35Under Linux, open a shell, go to the file directory and type
36"java -jar josm-latest.jar" to launch. If this does not work, try to set
[5545]37your JAVA_HOME variable to the java executable location (the root location,
[4600]38not the bin).
[14]39
[13395]40macOS users just click on the .jar file icon.
[14]41
[5341]42=============================================================================
43 II. Development
44=============================================================================
[14]45
[4600]46How to get the source code
47--------------------------
[5545]48Download it directly from the subversion at
49https://josm.openstreetmap.de/svn/trunk. To use the command line subversion
[4600]50client, type
[14]51
[5341]52svn co https://josm.openstreetmap.de/svn/trunk josm
53
54
55Files & directories
56-------------------
57This is an overview of the files and directories in the JOSM code repository:
58- build.xml ant build file (standard way to create a JOSM binary)
59- CONTRIBUTION list of major code contributors
[16006]60- gpl-2.0.txt, gpl-3.0.txt full text of the GNU General Public License
61- ide IDE-specific files
62 - eclipse/ preconfigured Eclipse configuration files
63 - netbeans/ preconfigured Netbeans project
64- josm.jnlp Java Web Start launcher file (used on the website for the tested version)
65- josm-latest.jnlp Java Web Start launcher file (used on the website for the latest version)
66- LICENSE the JOSM license terms
67- native/ OS-specific files
68 - linux/ files useful for Linux distributions, including Appdata files, .desktop
69 files, Debian/Ubuntu scripts, man pages, icons, etc.
70 - macosx/ files needed to create the MacOS X package
71 - windows/ files needed to create the Windows installer
72- nodist/ files not included in JOSM binary
73 - data/ data files that are useful for development, but not distributed
[5545]74 - exif-direction-example.jpg
[5341]75 sample image, that contains direction information in the EXIF header
76 (keys: Exif.GPSInfo.GPSImgDirectionRef, Exif.GPSInfo.GPSImgDirection)
77 - filterTests.osm used for unit testing of the filter feature
78 (see test/unit/org/openstreetmap/josm/data/osm/FilterTest.java)
79 - Join_Areas_Tests.osm some examples to test the 'join areas' feature
[13323]80 - *.* various other data files used for unit testing and as reference file
[11660]81 - projection/ projection files
[13323]82 - *.gsb NTv2 grid files for projection support, downloaded by the
83 client on demand (see CONTRIBUTION)
84 - CHENyx06-Distribution.pdf
85 archive of terms of use for the CHENyx06.gsb file
86 - epsg EPSG data file, taken from the proj.4 project
87 (see https://github.com/OSGeo/proj.4/blob/master/nad/epsg)
[13395]88 - esri ESRI data file, taken from the proj.4 project
89 (see https://github.com/OSGeo/proj.4/blob/master/nad/esri)
[13323]90 - josm-epsg customizations to the epsg file, used together with the epsg file
91 to generate data/projection/custom-epsg
92
93 - projection-reference-data.csv
[5341]94 reference data for projection tests
95 (see test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java)
[13323]96 - projection-regression-test-data.csv
[5341]97 regression data for projection tests
98 (see test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java)
[13323]99 - trans/*.lang translation data for files that are not distributed, but used
100 by the server for localization of the services;
101 currently contains plugin descriptions in order to include translations
102 in the downloaded plugin list
[16006]103 - images/ images, which are not for distribution, but may be useful later (e.g. high
[5341]104 resolution and vector versions)
[16006]105 - styles/ files needed for map style maintenance
106 - potlatch2/README infos on how to update the Potlatch 2 style from upstream sources
[5341]107- README this file
[7867]108- resources/ resource files that will be included in the JOSM jar file
[16006]109 - data/ data files that will be included in the JOSM jar file
110 - fonts/ font files used for map rendering
111 - gpx/ different color gradients for gpx drawing
112 - projection/ projection files
113 - custom-epsg list of projection definitions, auto-generated file created by ant task 'epsg'
114 - security/*.pem certificates that we like to accept for TLS connections, but are missing in the
115 default Java certificate store
116 - validator/ data files used by the JOSM validator
117 - *.cfg files designed for the old tagchecker, still in use
118 - *.mapcss default validation rules for the MapCSS-based tagchecker
119 - boundaries.osm OSM file containing boundary data for the states of the earth, including
120 data for right and left-hand traffic
121 - defaultpresets.xml data file for the core tagging presets
122 - help-browser.css CSS file for the help sites (HTML content is downloaded from the website
123 on demand, but displayed inside the programm in a Java web browser component.)
124 - *.lang translation data
125 - *.xsd xml schema files for validation of configuration files
126 - images/ images distributed with the JOSM binary
127 - icons images for the Potlatch 2 style
128 - presets images for the main mappaint style and the internal presets
129 - styles/ map styles included in JOSM
[7867]130- scripts/ various scripts used by JOSM developers
[13323]131 - BuildProjectionDefinitions.java
132 called from the ant build file to combine the files epsg and josm-epsg
133 to create the custom-epsg file for distribution
[13282]134 - geticons.pl tool to find all used icons and allows deleting unused icons
135 searches also for images with incompatible svg code
[13283]136 - optimize-images short script to decrease size of PNG images
[13323]137 - since_xxx.py developer tool to replace "@since xxx" in Javadoc by the upcoming revision number
[15033]138 - SyncEditorLayerIndex.java
[13323]139 script to compare and analyse the differences of the editor layer index and the
140 JOSM imagery list (see https://josm.openstreetmap.de/wiki/ImageryCompare)
[14639]141 - TagInfoExtract.java extracts tag information for the taginfo project
[13323]142- src/ the source code of the application
[5341]143- start.html HTML page to run the applet version of JOSM
144- test/ automated software tests
[6216]145 - data/ resources used for some tests
[5341]146 - functional/ functional tests (source code)
[8825]147 - lib/ libraries needed for (some of) the tests, including JUnit
[6216]148 - performance/ performance tests (source code)
[5341]149 - unit/ unit tests (source code)
150- tools/ libraries and tools that help in the development process
[12873]151 - animal-sniffer-ant-tasks.jar
[7934]152 used to build and check code signatures to ensure plugins binary compatibility
[10580]153 - appbundler-1.0ea.jar used to build Mac OS X package
[8508]154 - checkstyle/ libs and config files for checkstyle (automatically detects code style
155 problems in source code); can be launched as an ant target in build.xml
[16006]156 - ivy/ Apache Ivy binary, configuration file, and downloaded dependencies
[10845]157 - jacocoant.jar used to include coverage data into JUnit test reports
158 - japicc/ used to generate a compatibility report between optimized jar and normal one
[16006]159 - spotbugs/ libs and config files for spotbugs (automatically detects common bugs and potential
160 problems in source code); can be launched as an ant target in build.xml
[7867]161 - xmltask.jar used to edit XML files from Ant for the OSX package
[5341]162
[5545]163Third party libraries
164---------------------
[7867]165There are some third party libraries which are directly included in the source code tree, in particular:
[5341]166
[5545]167* jmapviewer: Java component to browse a TMS map
168 src/org/openstreetmap/gui (svn external)
169 -> http://svn.openstreetmap.org/applications/viewer/jmapviewer/
[7867]170* Apache commons compress: Support for bzip2 compression when opening files
[10864]171 -> https://github.com/apache/commons-compress
[7489]172* Apache commons validator: Improved validator routines
173 src/org/openstreetmap/josm/data/validation/routines
174 -> http://commons.apache.org/proper/commons-validator
[5545]175* SVG Salamander: Support for SVG image format
176 src/com/kitfox/svg
[10864]177 -> https://github.com/blackears/svgSalamander
[5545]178* Metadata Extractor: Read EXIF Metadata of photos
[10864]179 -> https://github.com/drewnoakes/metadata-extractor
[5545]180* Signpost: OAuth library
[10864]181 -> https://github.com/mttkay/signpost
[5545]182* MultiSplitPane: Small lib for GUI layout management
183 src/org/openstreetmap/josm/gui/MultiSplitLayout.java, MultiSplitPane.java
[12626]184 -> https://github.com/floscher/multi-split
[10864]185 -> https://community.oracle.com/docs/DOC-983539
[16050]186* swinghelper: Class CheckThreadViolationRepaintManager to find EDT violations
187 src/org/openstreetmap/josm/gui/util/CheckThreadViolationRepaintManager.java
[12626]188 -> https://github.com/floscher/swinghelper
[13350]189* xz extractor
190 -> https://tukaani.org/xz/java.html
[15978]191* OpeningHoursParser (MIT license)
192 -> https://github.com/simonpoole/OpeningHoursParser
Note: See TracBrowser for help on using the repository browser.