source: josm/trunk/README

Last change on this file was 19073, checked in by stoecker, 4 weeks ago

see #17858 - Java 8 → 11

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