[ http://jira.codehaus.org/browse/MNG-2487?page=comments#action_72901 ] 
            
James Carpenter commented on MNG-2487:
--------------------------------------

org.codehaus.plexus.compiler.csharp.CSharpCompiler.java

The method:
   private String convertNameToAssemblyResourceName(String name) {
       return name;
    }

Should be changed to:

   private String convertNameToAssemblyResourceName(String name) {
       return name.replace(File.separatorChar, '.');
    }

After working a little more with DotNet embedded resources, it appers the 
convention is to replace slash with dot when inserting a resource into an 
assembly.  The above change does just that.

> Dotnet Resources Support (code fix included)
> --------------------------------------------
>
>                 Key: MNG-2487
>                 URL: http://jira.codehaus.org/browse/MNG-2487
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Sandbox
>         Environment: Windows XP
>            Reporter: James Carpenter
>         Attachments: masterzip.zip
>
>
> The csharp plugins (currently in the sandbox) do not properly support csharp 
> resources.  It turns out that solving the problem requires changing several 
> of the standard plugins.  To resolve the problem I have made a few small 
> changes to the following code:
> 1) Created the maven-dotnet-resources-plugin.
>      >This plugin is a clone of the standard resources plugin.  The only real 
> change is to change the expression used in computing the output directory
>      >within the @parameter tag of the Mojos.  The output directory of the 
> maven-dotnet-resources-plugin points at a temporary directory down in
>      >the target.
>      >@parameter 
> expression="${project.build.directory}/csharp-workarea/dotnet-resources-plugin/resources"
>  
>      >for the DotNetResourcesMojo, similar for the DotNetTestResourcesMojo
>      >This is the same expression used for the filteredResourcesDirectory 
> instance variable in the modified maven-compiler-plugin.
>     >Upon inspection the reader will soon realize the standard and dotnet 
> resources plugins should be somehow refactored so as to avoid
>     >the gross copy/paste reuse.
> 2) maven-compiler-plugin
>       >Added filteredResourcesDirectory and TestResourcesDirectory to the 
> CompilerMojo and TestCompilerMojo respectively.  This is used to add a 
> resourceDir custom compiler configuration whenver the attributes point to 
> actual directories.
> 3) plexus-compiler-csharp
>      >Added code to leverage the resourceDir compiler argument now being 
> passed down by the maven-compiler-plugin.
> 4) Modified the maven-csharp-lifecycle plugin
>      >Changed META-INF/plexus/components.xml so as to replace 
> maven-resources-plugin with maven-dotnet-resources-plugin
>  
> ================================
> Description from new maven-dotnet-resources-plugin (explains the overall 
> motivation):
> The maven dotnet resources plugin is almost identical to the standard 
> resources plugin.  The only difference is the result of
> the resources and testResources goals are copied into special workarea 
> directories under target.  Unlike javac which produces
> a directory of class files which are typically archived in jar format by the 
> jar tool after javac has run, the csc (C# compiler) directly
> produces an archive (a dll containing the dotnet assembly).  Consequently, 
> csc must be passed each resource using the          resource option.  The 
> csharp compiler plugin and this plugin therefore collaborate.  This dotnet 
> resources plugin places the resources in a temporary workarea under target 
> and the csharp compiler plugin produces resource option arguments to csc for 
> every file found there.  You will notice all the filter support available in 
> the standard resources plugin is also available in the dotnet resources 
> plugin.
> =================================
> The attached maven-csharp plugins are currently set to SNAPSHOT as I havn't 
> yet created a new inhouse release for them.  I'll probably do this as soon as 
> I finish this jira issue.
> =================================
> The attached zip file contains relevant patch files along with complete zips 
> of the code.  You will notice the csharp plugins are slightly improved from 
> what is currently in the sandbox.  To my knowledge the development of the 
> sandboxed csharp plugins is rather stagnated.  There is probably enough code 
> here to bring the csharp plugins to an alpha release.  I would much prefer to 
> be using officially released versions rather than having to maintain my own.  
> I am happy to have a half hour phone conversation with maven developer with 
> commit priviledges who can make this happen.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to