« Return to Thread: working around the local repository / filename limitation

working around the local repository / filename limitation

by brettporter :: Rate this Message:

Reply to Author | View in Thread

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
brett@...
http://blogs.exist.com/bporter/

 « Return to Thread: working around the local repository / filename limitation