matthewprenger / CurseGradle

Gradle plugin to upload Minecraft mods to CurseForge
MIT License
2 stars 1 forks source link

Make api url configurable #19

Closed dshadowwolf closed 6 years ago

dshadowwolf commented 6 years ago

This adds "project.apiUrl" to configure the Curse API end-points domain, making CurseGradle capable of uploading for non-Forge mods. Should resolve #12 (originally added it to project.ext - was pointed out that it should be in the "project" closure in the "curseforge" block instead, so changed it)

HeroCC commented 6 years ago

Would you mind updating the README.md so other users can see this functionality? And @matthewprenger, have you had a chance to look at this?

Darkhax commented 6 years ago

This PR has a few issues related to versions.

matthewprenger commented 6 years ago

Haven't had a chance to do much development in recent months, but what darkhax pointed out doesn't surprise me. This project was written around Minecraft and the more I think about it, won't simply work with other projects by just changing the base URL.

I'm not familiar with the other games that CurseForge supports, so I wouldn't be able to speak with any knowledge on how integration with them should look. Each game likely has its own quirks around versions/dependencies that would need to be dealt with on a case-by-case basis.

I'm going to go ahead and close this one since just changing the base URL won't be enough.

Darkhax commented 6 years ago

@matthewprenger I think you have come to the wrong conclusion here. From my own analysis of the various APIs, they are almost entirely the same. Currently Minecraft and Bukkit sites are the only ones with additional properties. For example, StardewValley has the exact same versions end point as Minecraft, so that issue is elsewhere in the gradle plugin.

As for all of the other edge cases that currently exist (Java version), and future properties that may exist, the file metadata is just a json string. At the very least, that json string could be exposed and modified by the build script to support new properties in the future.