Hi Brett,
Thanks for a very informative and useful response! See my comments below.
However, due to the fact that every module in Osmosis is built as a
separate plugin and source code is maintained in Git, things have
changed somewhat. My suggestion would be to work in the main tree
but on your own branch in your own repo. Create your new tasks in a
new project/plugin following the existing pattern. It's up to you
where you store your repository, but github is probably the easiest
choice.
I'm happy that it's your recommendation as this is exactly what I did at
the time I sent my message to osmosis-dev@ :-)
I simply forked your repo on Github, see:
https://github.com/ppawel/osmosis/tree/changedb-plugin
I added a new module/project, named "changedb". I also maintain database
schema scripts in this tree:
https://github.com/ppawel/osmosis/blob/changedb-plugin/package/script/changedb_schema.sql
This module is an extension of the pgsnapshot so the schema only
contains additional tables.
I'm trying to keep changes to the changedb module but in some places I
need to extend the core model, for example I need to get a way
linestring. The easiest way to do that would be to modify Way and
Way(Row)Mapper classes. I'm not sure what is the practice for extending
core classes. Let me know if you have any tips.
By having your source in the main tree, it makes it easy for you to
develop, easy for others to build it themselves, easy to release a
custom-built Osmosis with your plugin, and easy to distribute a
standalone plugin as a single compiled jar.
Yes, this is perfect for my current needs.
Once your plugin is stable and seeing some real-world use we can look
at merging it into the main Osmosis repository. I won't be able to
spend much time maintaining it though so I'll need assistance fixing
any bugs that are found.
Sure, I would help out with maitenance, although I'm not worried for now
about real-world use and merging the plugin upstream.
The idea is to build this plugin so that a service like OWL or similar
can be powered by such "change database". We will see how it works out,
for now it's at early stages so no need to worry about maintenance.
How does that sound?
Great :-)
PS. The wiki is out of date with respect to plugins and could do with
an update. Plugins used to be second class citizens in the Osmosis
world, but now everything is created as plugins. The only difference
is whether plugins are included in the main distribution or not.
I won't promise anything but I may update a little content here and
there if I find the time. Also useful would be a short info on how to
develop with Eclipse - setting up launch configurations (classpath) for
debugging etc.
Paweł
_______________________________________________
osmosis-dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/osmosis-dev