[ 
https://issues.apache.org/jira/browse/NPANDAY-556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Corneliussen updated NPANDAY-556:
--------------------------------------

    Fix Version/s: 1.5.0-incubating
    
> Importer for Nuget Packages
> ---------------------------
>
>                 Key: NPANDAY-556
>                 URL: https://issues.apache.org/jira/browse/NPANDAY-556
>             Project: NPanday
>          Issue Type: New Feature
>          Components: Development Setup, Maven Plugins
>    Affects Versions: 1.5.0-incubating
>            Reporter: Lars Corneliussen
>            Assignee: Lars Corneliussen
>              Labels: nuget
>             Fix For: 1.5.0-incubating
>
>
> Nuget Packages are much broader than Maven Artifacts. Our first thought was 
> to implement a repository layout that would enable for resolving nuget 
> packages directly (see NPANDAY-372).
> But those packages come in various shapes and are not as easily converted to 
> {{dotnet-library}} artifacts as first thought.
> h3. Library Importer
> Instead we will create a plugin, that helps importing nuget packages (and 
> soon also plain DLL-libs) into maven artifacts. As a general rule, each DLL 
> contained in a single {{nupkg}} will result in a separate maven artifact.
> Some of the challenges we see:
> h4. Versions
> Nuget packages (and dlls) have four version numbers while maven only has 
> three. In most cases those are not used in nuget, but if, there has to be 
> some manual mapping.
> h4. Multi-targeted packages
> Nuget packages may contain libraries for different target frameworks (net20, 
> 35, wp, sl, ...); something that we'd like to support in NPanday too 
> (NPANDAY-405)
> As a first approach, you'll have to specify which of the versions to import.
> We could also support a mapping from framework versions to maven version 
> qualifiers, as for example {{1.2-net20}}
> h4. Dependencies
> Since there is no easy mapping from package to artifact, it is not that easy 
> to convert the dependencies either. For each import it will be necessary to 
> specify how the reps are mapped.
> h4. Prerelease versions
> Nuget >= 1.6 does also support prerelease versions. These should be mapped to 
> SNAPSHOT, if possible.
> h4. What more?
> Please comment or edit, if you see more challenges that I haven't seen yet.
> h2. Technical approach
> A plugin with it's own lifecycle will 'compile' import declarations and then 
> perform the import on 'compile'; then install and deploy the imported 
> packages on the corresponding maven life cycles 'install' and 'deploy'.
> {code:title=example import declaration}
> <libs xmlns="http://npanday.apache.org/library-import/1.0.0";>
>   <nuget>
>     <package>NUnit</package>
>     <version source="2.6.0.12054" mapTo="2.6.0"/>
>     <version source="2.5.10.11092" mapTo="2.5.10"/>
>     <libDirs>
>       <default>net40</default>
>     </libDirs>
>   </nuget>
> </libs>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to