Thursday, December 8, 2011

“Gitting” up and running… slowly

For my first real project using github I decided to fork Rhino.Etl, my favorite ETL library, and try to update it a bit. To start I wanted to target 4.0. Then I wanted to replace Boo references with the DLR. I don’t use Boo scripts and wanted to remove my dependency on this assembly. I may clean up with code a bit too. There seems to be a lot of noise, but that could just be features I don’t use. Finally I still want to keep Rhino.Dsl in the mix because it is an existing feature of Rhino.Etl.
On top of all this I am learning Git and xunit and psake and … well, there is plenty to learn. So after two evenings of battling with the command line I finally have
  1. Rhino.Etl targeting 4.0
  2. The build script running
I do have 3 failing tests which I need to look into as well, but the build script is working!
To get to this point I first forked hibernatingrhinos/rhino-etl. I saw this hasn’t been touched in a while. I then issued a pull request from Nathan Palmer. His fork was using a newer version of psake. That caused some conflicts which I then resolved via notepad++ (ouch!).
Then came the task of targeting the 4.0 framework. Step one: change the target framework of each project. Step two: build from VS. That was a quick win. Now the build script.
For reasons I don’t understand msbuild was pointing to v3.5. It didn’t know what 4.0 was and kept reverting to 3.5. I tried setting the $framework_version, but it kept reverting. Finally I used brute force to resolve this and used the absolute path to v4.0 msbuild. Another step closer.
Then came xunit. I needed to use xunit.console.clr4.exe to target the 4.0 framework. Otherwise the build would fail stating the framework was built using an earlier version.

No comments:

Post a Comment