Opened 7 years ago

Last modified 5 years ago

#15229 new enhancement

modular structure for JOSM core — at Version 4

Reported by: bastiK Owned by: team
Priority: major Milestone: Longterm
Component: Core Version:
Keywords: modularization hack-weekend-2018-10 Cc: wiktorn, michael2402

Description (last modified by Don-vip)

In the spirit of project Jigsaw, we could try to create a more modular structure for the JOSM source repository. Not only is it easier to maintain a modular project and more accessible for new developers, there are practical goals as well, namely to create standalone libraries and tools that will be valuable for other projects.

Replying to Don-vip:

I'd like to see JOSM core classes become the standard OSM Java library :) There would be no need for other people to create their own (osm-common or osmapi for example)

Other goals would be:

  • standalone validator (#15182)
  • MapCSS library and renderer
  • projection library and conversion tool
  • IO for GPX, nmea, ...
  • imagery (move WMS and WMTS support into JMapViewer)
  • ...

I've started experimenting on GitHub: bastik:modules.

Change History (4)

comment:1 by bastiK, 7 years ago

In 12713/josm:

see #15229 - remove dependencies of CheckParameterUtil on various data classes

comment:2 by Don-vip, 7 years ago

I see you're listing individual files, I assume it's because you're experimenting in an iterative manner?
One important thing: Java 9 does now allow split packages (same package defined in two different modules); that's why in #15182 I moved a few classes around and created new packages.

comment:3 by Don-vip, 7 years ago

Keywords: modularization added
Type: defectenhancement

comment:4 by Don-vip, 7 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.