Hi,
Trunk previously required a re-compiled NUnit assembly to work, which
disappeared in the snapshot repository house keeping. I wanted to try
again with a standard NUnit assembly, and saw that it failed to run
the tests due to the filename issue. Fixing this is important, as not
all assemblies can be recompiled.
I added a simple class DotnetArtifactLocator that will load the POM of
the artifact and check the finalName. If it is set, it is returned
instead of the previous filename. If requested, it will copy it to the
$version/$finalName.dll location in the local repository (ie, one
level deeper in the current directory, as Dan suggested), if it
doesn't already exist, and return that location instead. This is meant
to be a very simple utility that plugins can use when they need a
renamed artifact, and is potentially compatible with a future local
repository layout adjustment.
This resolved the issue for NUnit (as the file in target-assemblies
could easily be renamed). I noted it wasn't needed for compilation at
all, so I didn't include that. On the current trunk, nothing else uses
artifacts.
Questions:
- any thoughts on this approach?
- is there any reason the rename would be needed for compilation?
- are there other scenarios on the current trunk where the rename is
needed?
I'd like to put this matter to bed :) The work is on the branch
'NMAVEN-8-nunit'. I still have a bit more to do, but would like to
merge it back into trunk after those changes tomorrow.
The repository I'm building up is at http://people.apache.org/~brett/repositories/dotnet/
for now - I still need to go back and add licenses, etc before
pushing this anywhere permanent.
Thanks,
Brett
--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/