This is a Level533 Living post, hopefully we all can continue to learn things. Maybe I’ll change my mind about things. Simply put, Maven for .NET builds ain’t good. I know, I’ave heard of the NPanday thing, but I’ve got an MS Build / Jenksins Build that uses MSBuild to build .NET projects. Then I use Ivy and Ant to publish build artifacts to a local file based repository, and then Ant and Groovy for all of the dirty work (upload files to QA web services, hashing, creating ISO’s. With Maven, I understand, you get one artifact per module, and ugh, a pom.xml you have to create for it.
I thought I’d move away from the Ivy file based repositories and on to something like Artifactory OSS (2,750 USD price tag a bit hefty for the paid version), Nexos OSS (I know, I’m cheap, didn’t check their price), and Archiva (FREE!!). Artifactory OSS looked great. Had it up and humming under Tomcat 7 and I was ready to go, but all of a sudden… After spending some time, I came to realize I could not get the revision number out of the file name for the ivy compatible layout. To do that, you need to define your own custom repository layout and that means you need Arficatory PAID VERSION. A FOOSTY for the Frog! I don’t want to have to name my .NET dlls like
mydll-1.6.7.dll stuff in my build or my repo. I want the 1.6.7, or whatever version that be, out of the file name. This is a .NET project, not Java, no versions in file names. So out with Artifactory. In case your are asking, I did try to edit the Central Configuration Descriptor in Artifactory using the Advanced -> Config Descriptor tab in the gui, to know avail.
But then there’s Nexus, supports only Maven 1 and 2.
And Then there’s Archiva, suports only Maven 1 and 2.
Are there any non-Maven open source build artifact managers out there? We’ll see.