Public/official maven repository
yueh opened this issue ยท 7 comments
Is there any chance of seeing an official maven repository for Inventory Tweaks, so we can compile against it without having to deploy our own repository somewhere or to maintain a copy as part of our source?
Ideally would be the API as well as the normal .jar, to make it easier to run it indev when necessary, but still be able to easily disable the mod itself to reduce the mods present in indev and cut a bit of boottime or avoid interference between the mods while debugging.
But I can understand, if there are reasons against the latter. But at least having the API would make an integration more easily.
I don't really have a host for anything like that, but wasn't someone working on a plugin to be able to auto-dependency from curse?
A few modders have their own maven repo and allow others to use it. Iirc progwml6 hosts the repos for JEI, C&B and tinkers construct. Might be an idea to talk to them.
Or there are services like bintray, which over maven repos for free for open source projects and there are even examples to integrate it with travis CI or other CIs.
Well apparently this is a thing now: https://www.curseforge.com/docs/api
Maybe this would've been a better link to include: https://twitter.com/CurseForge/status/847123053020635136
It supposedly no long requires a token for the maven part.
That is already a couple of years old, it just seems curse was finally able to create a simple html page for it.
But the problem is that it requires a curse api token.
So either everyone wanting to use it is forced to have a curse account, go through the additional steps to configure it each time by passing it via an envvar or similiar. Including all CI services etc. Thus a pretty major hassle.
Or we simply commit your own api token and give a crap about everyone being able to push new builds for that particular mod to curse and blame curse should anyone upload a virus due to making impossible to use their "maven repo".
This should work starting from the most recent build (obviously, replace the version appropriately):
repositories {
maven {
name = "CurseForge"
url = "https://minecraft.curseforge.com/api/maven/"
}
}
dependencies {
compile 'inventory-tweaks:InventoryTweaks:1.62+beta.84:api'
}
Getting it to work right this way with their really simplistic parser took a bit of messing with version numbers, so the format for older versions will be fairly strange: Basically, look at the actual filename, remove .jar, and replace the last two dashes with colons.
A version of 'latest' will grab the most recent, and it's probably that after the next full release a version of 'release' will grab the API for the last release.
(As a minor warning: Their symbolic versions give out the -debof version for no classifier for some strange reason. If you specifically want the full remapped version use a specific version)
@Kobata sadly, this doesn't work - nothing but "Could not find" in gradle, despite actually getting the file if I actually use the address (https://minecraft.curseforge.com/api/maven/inventory-tweaks/InventoryTweaks/1.63+beta.107/InventoryTweaks-1.63+beta.107-api.jar) that gradle says it checked and couldn't find the file at