Well, the funny thing is, this tool, script, program, or whatever it is, is doing just that.. and a bit more. (I beat you to it, only I havet released it yet. )
It can fire up 2 or 3 oolites and have them check every OXP.. and it will merge the logs into one big log..
I could compile that portion of the .. thing... if there were any requests, that is...
edit:
2 or 3?... It can utilise every single oolite you have on board..
I was just copying across to windows the basic mac functionality. (and failed miserably to provide that functionality in linux, even though it's a bit better now than it was before).
The internal oxp verifier has still a lot of TODOs, and stuff it wasn't designed to do, like the XML cleanup your program seems to be doing.
It'd be great to see your program in action!
* I'm not too sure what you mean by 'every single oolite'. Do you mean you can set diferent versions of oolite to verify the same oxp?
- Translating from ASCII to XML and back (very sensitive to rouge keys...)
- "Rules check" (that's how I named it) of shipdata, shipyard and planetinfo plists, according to elitewiki. In other words, it will report errors if <string> is used where <real> or <integer> is expected, plus it checks strings of numbers for consistency and will report invalid values (e.g. exaust or eject position..)
I know that it does same as Oolite's OXP verify, but it was necessary for the translation above. Suprisingly, Oolite tolerates some of those "errors" that monkeywrench my translation..
- number trimming (0.999999999 -> 1.0 and 0.0 -> 0)
left to do:
- make it all work in batch process.. (read: ALMOST there..)
Resources/Schemata/shipdataEntrySchema.plist may be of interest to you. Working out what it all means is left as an exercise to the reader. :-) It’s the most accurate documentation of shipdata keys other than the source itself, which is a lot harder to parse.
There are several other schemata in the repository, but they aren’t used so they might not be accurate.
- Translating from ASCII to XML and back (very sensitive to rouge keys...)
- "Rules check" (that's how I named it) of shipdata, shipyard and planetinfo plists, according to elitewiki. In other words, it will report errors if <string> is used where <real> or <integer> is expected, plus it checks strings of numbers for consistency and will report invalid values (e.g. exaust or eject position..)
I know that it does same as Oolite's OXP verify, but it was necessary for the translation above. Suprisingly, Oolite tolerates some of those "errors" that monkeywrench my translation..
- number trimming (0.999999999 -> 1.0 and 0.0 -> 0)
left to do:
- make it all work in batch process.. (read: ALMOST there..)