Java Dependency Hosting (Without a Server)
-
For a personal project (a Minecraft mod written in Java), I'd like to host the builds in a way that's accessible through Gradle (e.g. Maven). The only problem is that I don't have a server of my own to do this with (and don't really have the funds to acquire one).
Does anyone know of a good way to do this?
Does anyone have any experience using Maven Central with projects that are only for a specific ecosystem (e.g. Minecraft Forge) rather than general-purpose libraries?
I've already asked this on the Minecraft Forge forum, but I thought I'd ask it here on the off chance that someone had some input.
-
@Choonster Not too familiar with gradle/maven, but github or s3 come to mind just off the top of my head. Assuming they don't need anything magic from the host to work.
-
@choonster Maybe you qualify for a free bintray account? You need to prove your code uses an OSS license though.
-
@dangeRuss Thanks for the suggestions. It looks like GitHub actually provides a Maven plugin to integrate with GitHub Sites and S3 is pretty cheap, so these may be what I'm looking for.
-
@JBert Bintray also looks promising, thanks. All my personal projects use the MIT License, so I should definitely qualify for the free account.
-
IIRC, creating your own Maven repository is also incredibly simple. You just have to drop the JARs in the correct subfolder on a random web server of your choice.
-
I use Archiva, that's also very easy to set up somewhere
-
It all depends on whether you're just trying to host one or two libraries that nobody distributes for Stupid Raisins, or are looking to set up something more systematic. If you're just doing the former, it's really not much harder than copying the relevant parts out of your local cache repository and sticking them on a website (any website, nearly) in the right pattern. For the latter, there's some nice services that you can deploy that let you build a cache of everything that you're doing except for the special bits that nobody else has.
Can't remember any details. It's years since I last dealt with this thing, since I managed to get my collaborators to publish their stuff properly instead. ;)
-
@asdf said in Java Dependency Hosting (Without a Server):
You just have to drop the JARs in the correct subfolder on a random web server of your choice.
You're forgetting POMs and associated metadata.
Plus the requirement that once published, a release artifact never changes ever.
-
I decided to go with Bintray and OSS Artifactory (oss.jfrog.org), with Travis CI. I'm just waiting for my project to be added to JCenter/OSS Artifactory now.
-
@JazzyJosh said in Java Dependency Hosting (Without a Server):
Plus the requirement that once published, a release artifact never changes ever.
In reality, that only matters as long as anyone's actually trying to build off of it.
-
@JazzyJosh said in Java Dependency Hosting (Without a Server):
You're forgetting POMs and associated metadata.
Do you need anything else than POM + JAR? Because I remember the process being quite simple.
-
@asdf said in Java Dependency Hosting (Without a Server):
Do you need anything else than POM + JAR?
See this thread for the confusing answers I got when I asked last time:
https://what.thedailywtf.com/topic/19614/maven-repository@Yamikuronue said in Maven repository:
@JBert What sort of metadata?
@JBert said in Maven repository:
Versions lists, checksums, the main plugin list...
All stuff which a repo manager would automate for you.
-
@asdf Check the contents of http://central.maven.org/maven2/commons-io/commons-io/ for example - there are quite some supporting files there for proper resolution.
-
@asdf Maven comes with a plugin to create the metadata files.
Actually, I think we had this same conversation like 6 months ago, but I'm too lazy to search for it.