I haven'te tested this yet but it does sound great!
I have two comments though, just from the topic read:
1. The <techtree-name>.xml problem and respective workaround seem a bit forced to me. Traditionally, the term "Mod" has been used in the Glest community to refer either to Techtrees or Factions (Total Conversions are usually referred to as Mods; so are Datapacks such as Megapack that included tilesets and scenarios as well - but both of these go beyong the problem of the techtree's XML prob, so I'll just ignore them here). Single-Faction mods are usually balanced to a techtree but not necessarily (agreed, they always should but ...), which IMO makes my point even stronger:
Wouldn't it be simpler to just test whether you are trying to package a full techtree or instead a single-faction mod? Easy to do by just checking the contents of the top-level folder:
* Techtree directory contents:
- DIR factions
- DIR resources
- FILE techtree-name.xml
* Faction directory contents:
- DIR music
- DIR units
- DIR upgrades
- FILE faction-name.xml
It's easy to see which first-level directories belong to a techtree and which belong to a faction... (
not sure of the following but I guess, in theory, a faction might actually work with only the units folder As clarified by Omega below, only the units and upgrades folders are actually mandatory for a faction's folder).
So, checking for the presence of such directories in the top folder should be enough to determine whether you are before a techtree or a faction mod.
2. Can this be used from a Git / Github repository to build a stable release without all the dev fuss? (or putting the dev-specifi fuss into another package)? Or is it only useable locally? If so, can you point me to directions on it (Git is basically a stranger to me)?