[[PageOutline]] = How to create a build = == Checkout JOSM == === Using Eclipse === * [https://www.youtube.com/watch?v=Z3OjG3nDvzA How to checkout a JOSM plugin into Eclipse]. === Using command line tools === {{{ $ cd ~/src $ svn co https://josm.openstreetmap.de/svn/trunk josm ''tons of output here'' }}} == Creating a custom build == To create a build run {{{ ant clean dist }}} This will create {{{josm-custom.jar}}} in the directory {{{./dist}}}. === The REVISION file === If you build JOSM with JOSMs {{{build.xml}}} the distribution includes a file {{{REVISION}}}. {{{REVISION}}} is a collection of name/value-pairs, formatted in RFC822-style (i.e. {{{name: value}}}). ||Revision||The JOSM version of your local snapshot. This is equal to the SVN revision of your local snapshot.|| ||Build-Date||The date the distribution was created (YY-MM-DD HH:mm:ss)|| ||Build-Name||For custom standard builds - gives identification of build agency (e.g. **Debian**)|| ||Is-Local-Build||{{{true}}}. Indicates that this build isn't an "offical" release provided by josm.openstreetmap.de or another approved organization|| === Adding custom release information === If you maintain a specific JOSM distribution (i.e. for Ubuntu or any other Linux flavor) you may want to modify the {{{REVISION}}} file. Update the ant target {{{create-revision}}} in {{{build.xml}}} according to your needs: {{{ # automatically generated by JOSM build.xml - do not edit Revision: ${version.entry.commit.revision} Is-Local-Build: true Build-Date: ${build.tstamp} }}} Please '''always''' include an attribute {{{Revision}}}. Otherwise, JOSM may fail to detect dependencies to particular versions of plugins. == Creating a standard build == The scripts to create an "official" JOSM build (i.e. one of the builds published on https://josm.openstreetmap.de as {{{tested}}} or {{{latest}}}) are not publicly available. Please get in touch with current maintainer if you need more information. === The REVISION file === Currently, the build build procedures for a standard build generates a {{{REVISION}}} file too. Here's an example from one of the more recent JOSM builds: {{{ URL:https://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2018-03-24 00:03:37 +0100 (Sat, 24 Mar 2018) Build-Date:2018-03-24 02:34:21 Revision:13554 Redirecting:to URL 'https://josm.openstreetmap.de/svn/trunk': Relative:URL: ^/trunk }}} * the '''absence''' of {{{Is-Local-Build}}} indicates that this is an "official" build * note that {{{Revision}}} again denotes the SVN revision ---- Back to [wiki:/DevelopersGuide Developers Guide]