This weekend, I worked on Prebuild, a little application designed to make it easier to work with .NET projects in the wide variety of ways needed, like creating Makefiles on Linux and Visual Studio 2008 files on Windows (or 2005 or 2003). I did a little work with Prebuild some years ago and just kind of fell into the occasional maintainer role. I used it for BooGame for a while, but right now I'm just using Visual Studio 2008 (i.e. MSBuild) files until I figure out what in the world I'm actually doing with BooGame.
I'm aiming for a release "soon". There are some patches that were added and one more feature (switching between Any CPU, 32, and 64 bit stuff) before I can do a final release. I figured it would take me a few hours to finish, but working on this last little bit brought up questions between me and the other, currently active, developer.
Where does prebuild sit in the bigger picture? The project basically came to being when we had so many different ways of building an assembly and no one could decide on the One True Way™ of writing a makefile. Obviously, there is still no one true way of making these files.
But, is it still needed? Would it be better to use one of the other formats as a baseline instead of the prebuild's format, and just write converters to the other targets, or to retain the prebuild schema and keep writing converters? There are merits to both choices. It also makes it more difficulty since I'm not the originator of prebuild and just a "sometimes" maintainer. But, I'm also one of the only active maintainers since I'm involved with OSS projects that go in ebbs and flows as people come in and leave the project.
We are talking about breaking file format. In that, I'm considering switching to MSBuild as the file format, then changing prebuild to basically convert to everything else. Yes, MSBuild doesn't do everything, but it does most of everything and I could probably figure out how to do 99% of everything in MSBuild in the other targets.
And then, of course, the most important question: is it worth it?
For BooGame, I'm using MSBuild mainly because it does almost everything I want. It isn't perfect, since I haven't gotten it to smoothly integrate into making Debian packages for me; though, that would be an awesome result if it could make any MSBuild project file into a Debian standard CIL package. I'm pretty sure I could set up something that would make Debian packages for me, just a matter of time.
Just random thoughts and I'm not entirely sure where they are going to go.
Until then, I'm going to finish the 32 and 64 bit switching for prebuild. Hopefully by the end of the weekend I'll have the 2.1.0 release.