wiki:DevelopersGuide

Version 44 (modified by anonymous, 2 weeks ago) (diff)

--

Developers Guide

This page explains how to create a patch, modify the core JOSM application or existing plugins.

At least basic Java programming skills are necessary. See WikiStart how you could improve JOSM without Java skills.

Source code and JOSM builds

Developer guidelines

Eclipse

VisualVM

VisualVM may be used to find memory leaks or generate heap dumps from a josm instance running concurrently. Heap dumps can be structurally examined. VisualVM organizes them e.g. by number and type of objects, memory used and cpu time consumed in an explorable tree view. Heap dump and garbage collection of the target instance is requestable using button clicks.

If an autonomous instance of josm should be debuggable from within eclipse at the same time, command line parameters must be supplied to open a transport socket that the debugger can connect to:

# run JOSM with remote debug options; let VisualVM connect to 127.0.0.1 and port 9988; see the vm working
java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:9988,server=y,suspend=n -Xmx1200m -jar josm-latest.jar

This is not necessary if the internals of JOSM are to be explored by VisualVM exclusively (tested with the yet to be released, but available, version 1.4).

JOSM core

JOSM plugins

SVN

JOSM Help System

Shortcuts

Translation

Developers

Dirk Stöcker is currently the lead maintainer of JOSM. Developers of JOSM with SVN commit privileges active in the past several months include:

Trac usernameName
akks Alexei Kasatkin
bastiK Paul Hartmann
Don-vip Vincent Privat
Klumbumbus Stefan Volke
michael2402 Michael Zangl
simon04 Simon Legner
stoecker Dirk Stöcker
wiktorn Wiktor Niesiobędzki

Immanuel Scholz was the original creator of JOSM, and previous maintainers include Frederik Ramm.

Previous developers include Frederik Ramm (framm) and Jiri Klement (jttt).

Many others have contributed through bug reports, patches, translations, and documentation work.