Gents,
 
I wanted to address this to you directly as is a bit of a difficult problem
which I'd really like to solve. Its currently blocking my finishing touches
to the dotnet support for maven whcih I'd really like to get out and
working.
 
I've filed a bug <http://jira.codehaus.org/browse/MNG-1933>  already about
this but I was hoping that if I emailed you guys perhaps with a couple of
pointers I could create a fix myself?
 
The problem I'm having is that when I have an artifact with a dependency in
its pom of type "system" which also has a more than two full stops in the
name. The example I 'm using is for the C# plugin stuff but I am convinced
that it would do this for everything with more than two full stops in the
name.
 
ex
 
   <dependency>
     <groupId>System</groupId>
     <artifactId>Remoting</artifactId>
     <version>1.1</version>
     <type>dotnet-library</type>
     <scope>system</scope>
     <systemPath>${dotnet.home}/System.Runtime.Remoting.dll</systemPath>
    </dependency>
 
 
When I compile this project I have no problems. However if I reference this
project (and its pom) from another project then m2 will try and load this
dll through transitive dependencies, I get an error message like this:
 
[INFO] Using default encoding to copy filtered resources.
[DEBUG] com.javaforge.maven-csharp:Maverick:dotnet-library:1.2.0.0 (selected
for null)
[DEBUG]   System:System.Web:dotnet-library:1.1 (selected for system)
[DEBUG]   System:System:dotnet-library:1.1 (selected for system)
[DEBUG]   System:System.Data:dotnet-library:1.1 (selected for system)
[DEBUG]   System:System.Xml:dotnet-library:1.1 (selected for system)
[DEBUG]
System:System.Runtime.Serialization.Formatters.Soap:dotnet-library:1.1
(selected for system)
[DEBUG]   nunit:nunit.console:dotnet-exe:2.2 (selected for test)
[DEBUG]   com.javaforge.maven-csharp:log4net:dotnet-library:1.2.9-beta
(selected for compile)
[DEBUG]     System:System.Web:dotnet-library:1.1 (selected for system)
[DEBUG]     System:System:dotnet-library:1.1 (selected for system)
[DEBUG]     System:System.Data:dotnet-library:1.1 (selected for system)
[DEBUG]     System:System.Xml:dotnet-library:1.1 (selected for system)
[DEBUG]     System:Remoting:dotnet-library:1.1 (selected for system)
[INFO]
----------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
----------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
 
GroupId: System
ArtifactId: Remoting
Version: 1.1
 
Reason: System artifact: System:Remoting:dotnet-library:1.1 not found in
path: ${dotnet.home}\System.Runtime.Remoting.dll
  System:Remoting:1.1:dotnet-library
 
The default artifact resolver throws an error saying it cannot find the
artifact. My guess is that this is because it is trying to package-ise the
artifact Id so instead of looking in
${dotnet.home}\System.Runtime.Remoting.dll It is actually looking in
${dotnet.home}\System\Runtime.Remoting.dll. 
 
Where I'm struggling really is a place to start, would it be possible for me
to specify my own ArtifactResolver that I could tell it not too package-ise
the file names? If so does anyone have any idea how I could do that, can I
tell plexus in my components.xml to load a different ArtifactResolver?
 
I don't mind doing all the legwork to get it fixed, just if anyone could
give me an idea of how to start that would be superb. That would mean that I
could get the C# up onto ibiblio and people using it. I've already fleshed
out the docco <http://maven-csharp.javaforge.com>  and am working on adding
more. 
 
Any help massively appreciated,
 
Chris
 
 

Chris Stevenson

Dresdner Kleinwort Wasserstein 


 <mailto:[EMAIL PROTECTED]> 

 ------


--------------------------------------------------------------------------------
The information contained herein is confidential and is intended solely for the
addressee. Access by any other party is unauthorised without the express
written permission of the sender. If you are not the intended recipient, please
contact the sender either via the company switchboard on +44 (0)20 7623 8000, or
via e-mail return. If you have received this e-mail in error or wish to read our
e-mail disclaimer statement and monitoring policy, please refer to 
http://www.drkw.com/disc/email/ or contact the sender. 3167
--------------------------------------------------------------------------------

Reply via email to