I've been playing with GitHub for Outpost 2 mission generation.
https://github.com/OutpostUniverse/OP2MissionSDKhttps://github.com/Brett208/OP2MissionYukonTrailOP2MissionSDK is a container for the other required submodules. Currently, HFL and OP2Helper do not contain Outpost2DLL as submodules in themselves. So if you were to download either one, you would not be able to compile. If you download OP2MisisonSDK, the 3 projects exist in the same folder structure as they do on the SVN repository. So they will all compile fine.
This has pros and cons. The pro is that you don't have multiple copies of Outpost2DLL in the same solution (one for HFL, one for OP2Helper, and one for the custom mission itself). The con is that you cannot download OP2Helper standalone and compile it. I think another pro is that all projects will use the same version of Outpost2DLL. IE, you don't have to worry about HFL being on an earlier version of Outpost2DLL than OP2Helper (assuming we ever update Outpost2DLL again). If others want to use OP2MissionSDK to develop scenarios, we can discuss other architectures.
I was going to setup an automated build as part of OP2MissionSDK that built HFL, OP2Helper, and Outpost2DLL. Apparently you have to create a matrix or something with appveyor and I gave up for the time being. As an artifact of this research, Outpost2DLL has an automated build in OP2MissionSDK.
I also stuffed odasl into OP2MissionSDK, so you can create custom modal dialog boxes for custom colony games.
We may want to encourage a specific GitHub tag for Outpost 2 missions. Maybe outpost-2-mission? This would make finding missions easier in the event that someone develops a mission and doesn't want to cede control of it over to Outpost Universe.
I haven't pushed this scenario to Outpost Universe. Partly due to embarrassment. I generally right mildly substandard code. But in scenarios I write plain awful code because I treat it as a script hybrid and don't plan to reuse it. (Except I end up wholesale pasting sections from old scenarios for new scenarios).