﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
18312	Update site on Gitlab.com for external (git-based) plugins	floscher	team	"I just wanted to show you what I recently built for git-hosted JOSM plugins: https://josm.gitlab.io (a list of the latest plugin releases) and https://josm.gitlab.io/plugin-update-site (an update site that can be added in the JOSM preferences).

These are essentially doing the same thing as https://josm.openstreetmap.de/wiki/Plugins and https://josm.openstreetmap.de/pluginicons , but for JOSM plugins that are developed in a git repository instead of the SVN.

So why create this, if there's existing pages that do essentially the same thing (list JOSM plugins in a human-readable and also in a machine-readable form)?
For example:
* No need to manually update https://josm.openstreetmap.de/wiki/PluginsSource for each release. Each time a git-tag is pushed to a plugin in gitlab.com/JOSM/plugin , a release is published and the pages update automatically to show the latest version
* I'm planning to also automatically generate the download links for older versions in the `MANIFEST.MF`. That's currently done manually, which isn't reliable, because it is often forgotten to update and easy to enter wrong numbers.
* The build is entirely Gradle/Kotlin based and openly available at https://gitlab.com/JOSM/josm.gitlab.io for review and improvement. That means it can interoperate with other Java/Groovy/Kotlin code, e.g. it reuses code that I wrote for the `gradle-josm-plugin` to generate the update site for JOSM, or you could write unit tests for the build script with JUnit, ….
* The CI build of each plugin is separate, so it's not a major problem if individual plugins have a failing build. For publishing a new release, the plugin build would need to succeed again though.
* This setup should be fairly easy to migrate to a self-hosted instance of Gitlab if/when needed.

Currently it's a work in progress, so only three of the 11 plugins available on https://gitlab.com/JOSM/plugin show up in the list without errors. But as soon as the others are also set up correctly, these will also appear normally in the list.

For the plugins that don't have their main development repository in https://gitlab.com/JOSM/plugin (which is nearly all of them) I set up mirroring, so the repo on gitlab.com is updated about every 10 minutes. This way the plugin could be developed in some git repository on Github or elsewhere, while there will still always be an up-to-date copy of it in https://gitlab.com/JOSM/plugin

----

**TL;DR**

I think this could be used as a replacement for https://josm.openstreetmap.de/wiki/PluginsSource , so in the end https://josm.openstreetmap.de/pluginicons would serve the svn-based plugins, https://josm.gitlab.io/plugin-update-site could then serve the git-based plugins.

What do you think about this? Feel free to share your feedback here, so I can further improve this."	enhancement	closed	normal		Plugin		worksforme	git	Don-vip stoecker Gubaer qeef iandees Polyglot simon04
