Maven repo interoperability

Oct 24, 2010 at 6:55 PM

Hello,

First of all, thanks for developing nupack. This kind of tool was really missing from the dotnet stack.

I would like to know if it is possible to plug nupack on a maven repository. In my company, we already use maven for non dotnet projects. Being able to manage all kinds of binaries in the same unified repository would be really great. 

Regards

Alex

Oct 24, 2010 at 8:23 PM
What scenarios would you see as useful having the interoperability?
____
Rob
"Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds
http://ferventcoder.com
http://twitter.com/ferventcoder
Nov 4, 2010 at 3:54 PM
Edited Nov 4, 2010 at 3:55 PM

If you are not familiar with maven repositories, I suggest you take a look at http://nexus.sonatype.org which is a very popular repository manager for maven.

 

Nov 4, 2010 at 4:15 PM

...or just browse the Maven Central Repository at http://repo1.maven.org/maven2 to see how artifacts are uploaded and stored by publisher/package/version (that's literally the basic directory structure -- publisher is called "groupId", package is called "artifactId" and usually represents a single library, and version is the same as in NuGet).  This is the default repository that was originally created by Maven2 and used by Maven2 & Maven3.  For all intents and purposes, you can safely ignore Maven1.

A very good Maven repository is maintained by SpringSource, called the Enterprise Bundle Repository, at https://ebr.springsource.com/repository.  It is searchable, has both Maven & Ivy* features, and consists of OSGi-compliant bundles**.

-matthew

* : Ivy is another dependency management tool in Java-land.

** : An OSGi-compliant bundle is, in Java's OSGi land, basically a plain old Java jar with an OSGi manifest, allowing it to be used in both regular Java environments as a jar or as an OSGi bundle in OSGi environments.  For more on OSGi, see http://www.theserverside.com/news/1363825/OSGi-for-Beginnershttp://www.theserverside.com/news/1363825/OSGi-for-Beginners or http://www.springsource.com/training/freeonline/osgi (latter is a free screencast but requires registration).  In a nutshell, it's a classloading solution (and more) to the problem of having two incompatible transitive dependencies in a given project.  Just think of an OSGi bundle as the equivalent of a .NET assembly with a touch more information than just the executable code and version information.

Nov 4, 2010 at 10:16 PM

Rob, in my company many projects use both java and dotnet. The server side is often implemented using java. The client side is a dotnet gui.  In this context, having all the binaries of an application in a single repository has a real added value. Also depending on the interoperability solution you use, you can imagine pushing in this repository the files that represent the contracts of the remote services you want to expose.

 

Nov 5, 2010 at 3:29 AM
Do you have any ideas how we could do it in implementation? In my eyes, Maven is the server side where you are storing these packages. Right now the server side of NuGet needs to have an OData feed with packages in our format. As long as you can hang an OData feed off of it, you can achieve this now. But it seems to me to be more of an integration for Maven than for NuGet, if that makes sense.
____
Rob
"Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds
http://ferventcoder.com
http://twitter.com/ferventcoder
Nov 11, 2010 at 4:21 AM

Also interested in this.  Wonder if we can bridge to OData from Maven.

Nov 12, 2010 at 5:35 PM

As Rob pointed out, inverting the integration it may be possible to implement a proxy for nexus in order to access a NuGet repository.

My 2 cents...

Mar 8, 2012 at 6:31 PM

Just if you missed it, Nexus 2.0 got the NuGet support, so you have one Nexus proxying/hosting both, Java and NET world...

http://www.sonatype.com/Products/Nexus-Professional/Why-Go-Pro#netSupport

 

Thanks,
~t~

Developer
Mar 9, 2012 at 10:06 AM

Check http://www.xavierdecoster.com/post/2011/09/30/An-overview-of-the-NuGet-ecosystem.aspx, it lists Sonatype Nexus and jFrog Artifactory for Java + .NET repositories.

Mar 9, 2012 at 12:42 PM

JFrog's Artifactory can also do exactly that.