jme3stuff : a dedicated maven repository for jme3

I setup a maven compatible repository on Bintray to host :

  • jme 3.0 (may be 3.1 if core team is OK)
    • with dependencies and some metadata define
    • with jme3-core-3.0.10-sources.jar (and javadoc) holding data for other jme3-xxx artifacts
  • any libs, assets, applications related to jmonkeyengine
  • any stage final, rc, milestone, dev (fixed version) including for jme3
web front-end : https://bintray.com/davidb/jme3stuff repository url : http://dl.bintray.com/davidb/jme3stuff
repositories {
	maven {
		url "http://dl.bintray.com/davidb/jme3stuff"
	}
}

I did the initial upload of jme 3.0.10 with jme3_lib2repo.

You can use the same application (gradle based) to setup your local maven repo (if you don’t want to use the repository). You can also check / browse / improve the application.

# Missing :

It’s missing lot of libs from jme3 distribution or third party.
I can upload some (ask me), I can help contributor to setup project or bintray.
You can submit package, I didn’t test it but it seems possible to link/share package between indivitual repository. IMHO, Bintray vs other, seems like github vs sourceforge, google code : person oriented.

Because it’s not maven central repository, rules are relaxed (eg: gpg sign is not mandatory, can store assets).

# Goals :

  • allow gradle, maven, sbt,... users to dowload artifacts
  • allow gradle, maven, sbt,... users to share artifacts
  • provide a community driven repository, build it, use it together
  • provide a place for the core-team to experiment
    • 3.1 deployement into a maven repository
    • assets repository

# Bintray’s bonus :

  • search engine limited to the repository
  • few statistics
  • possibility to associate tags, key/value to package
  • possibility to later share on jcentral and maven central repo
  • indenty of the publisher

With the Bintray’REST API and key/value of package, it may be possible

  • to auto-export some packages as SDK's plugin
  • to provide a dedicated front-end for jMonkeyEngine SDK to access package (An Asset Store ;-) )
  • to create some usefull tools
# Related dicussions :

Feedbacks welcome.

2 Likes

At least usefull to me :wink: if you could add zay-es i could eliminate all my local dependencies :wink:

For future, gradle has a publish_maven plugin which could be configured to match your needings. But i guess that might be needed when the build server works again

I can, only need agreement of @pspeed to publish lemur and zay-es.
I previously used this metadata

Paul, do you have some place where I can find version,licenses, description, url ?

@david.bernard.31 said: I can, only need agreement of @pspeed to publish lemur and zay-es. I previously used this metadata * for lemur : https://github.com/davidB/jme3_lib2repo/blob/master/lemur/build.gradle * for zay-es : https://github.com/davidB/jme3_lib2repo/blob/master/zay-es/build.gradle

Paul, do you have some place where I can find version,licenses, description, url ?

For now I’ve been using the svn rev as the version. Makes it trickier in cases like this but not impossible as you could just consider them all 0.0.1-rev for now or something.

The license is in the jars as well as in the SVN repo in either the java or the resources directory, I can’t remember for sure.

I don’t have an official description or URL for them, I guess, other than what I’ve posted here. I keep meaning to make some landing pages for them on simsilica.com but I haven’t gotten around to it.

I’m fine with you publishing them semi-officially.

zay-es and zay-es-net are published (eg: Package zay-es - davidb)
I hope I defined the correct metadata (version, urls, dependencies,…)

This is extremely helpful to me!

In fact i’m using gradle to boost my time working with any thing related to java.

So to complete the workflow using Maven or Gradle with the JMP, I did try to modify (expand) the Netbean Gradle plugin, and Gradle Project API to use with Asset artifact of JME3 project…

…Something worked but it’s not good enough and not worth to investigate more at the time. Now, it’s seems that I can come back again with this idea eventually…

Cheers,

With the new official maven repository for jme 3.0.10 distribution. I plan to remove from jme3stuff every artifacts available on official repo to avoid confusion and fragmentation.

But To keep everything else. Plan to make a Community driven repository stay. Bintray offer some opportunities not previously available on nexus/sonatype (or an http file server).

Yes, i saw that official post already!

With free online repo to share OSS stuffs, (including assets)
With a GUI to browse, download upload assets, review and thumbup…
and a build tool to rapidly convert those into runnable application on devices…

:slight_smile: Likely we will have a free asset central soon!
I always want to do something like that with the help of Maven and Gradle.

Side idea: Git also offer space for code and assets. If we can figure out a way to make gradle links multiple repo (say assets) into one build, we have a powerful network of sharing and contributing too. I mean, Maven host, Git are both great. The question is how we can taking advance of them to help OSS gamedev easier?

@david.bernard.31 said: With the new official maven repository for jme 3.0.10 distribution. I plan to remove from jme3stuff every artifacts available on official repo to avoid confusion and fragmentation.

But To keep everything else. Plan to make a Community driven repository stay. Bintray offer some opportunities not previously available on nexus/sonatype (or an http file server).

To add to the fragmentation of jME libraries? Why do you think people will find it easier to add to a maven repo than creating a plugin library with a wizard? And if they do, why should SDK users be left in the rain?

@normen said: To add to the fragmentation of jME libraries?

I hope no. Do you plan to provide/host community lib, asset on your new official maven repo ?

@normen said: Why do you think people will find it easier to add to a maven repo than creating a plugin library with a wizard? And if they do, why should SDK users be left in the rain?

As a lib provider, my POV is : publish a jar (and update) via scripting (maven, gradle,…) is easier, improvable (less error prone) than using a wizard that require several human actions.

SDK aren’t left in the rain.
<sarcasm> Like you often say, it’s easy to use jar from a maven repo with netbeans/SDK</sarcasm>
Like I said in the top post, I thought it will be possible to create a tools to browse, retreive, download, contents of the bintray repo from SDK, and may be to create Asset store (ala Unity).

@david.bernard.31 said: I hope no. Do you plan to provide/host community lib, asset on your new official maven repo ?

Not before the plugin repo is moved and probably not before 3.1

I removed artifacts available on official repository from jme3stuff.
Now it will host librairies, assets, (applications ?) from the community (eg: lemur, zay-es, com.jme3x:jfx, jmbullet)