[ https://issues.apache.org/jira/browse/NPANDAY-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13585256#comment-13585256 ]
Brett Porter commented on NPANDAY-556: -------------------------------------- What's left to do on this? I note that the plugin exists. > 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 For more information on JIRA, see: http://www.atlassian.com/software/jira