This ticket is here to discuss what I had to do to get a build working on my Manjaro Linux, on top of the changes that I already submitted as pull requests.
I am not that confident about the changes which is why I want to discuss them here first.
Initial run gives this error:
GitVersion: Process returned an error (exit code 1)
This is fixed by editing Tools\Cake\GitVersion.CommandLine.4.0.0\tools\LibGit2Sharp.dll.config and replacing the os="linux" line with this one:
<dllmap os="linux" dll="git2-15e1193" target="libgit2.so" />
I got a hint of this by looking at this message but I'm not sure this can be fixed by CCNet itself
Then, I had to modify ccnet.build at line 177 because it says mono here. However, doing this, it tries to run a binary called mono from the project folder. The exact error message is this:
'/path/to/checkout/CruiseControl.Net/project/mono' failed to start
I thus replaced mono with ${msbuild.file} just like the line above, but it failed a bit later with msbuild complaining that it was receiving multiple projects to build.
This comes form the fact that there is this line as the first argument for the execution:
<arg value="msbuild.file" if="${platform::is-unix()}"/>
Well, I believe it was intended to be ${msbuild.file} instead of just msbuild.file but in any case, it's not required at all as it gets interpreted as the name of a project to build.
After having removed that arg line, I was able to run the build.sh script to completion.
Any thoughts/opinions on this are welcome