EndlessCodeGroup/BukkitGradle

Remove license violations

osipxd opened this issue · 5 comments

Downloading from Yive's Mirror violates license of Bukkit.
Need to use BuildTools for local building CraftBukkit and Spigot cores.
Relates to: minecraft-dev/MinecraftDev#208

I plan to add new extension buildtools to bukkit. Example:

bukkit {
    buildtools {
        dir = "path/to/buildtools"
        bash = "path/to/git/bash" // For Windows
    }

    // Alternate initialization (if path to bash not needed)
    buildtools = "path/to/buildtools"
}

And add task :buildCore to build core selected in api option #4

@DemonWav, it is possible to dinamically get latest build of Paperclip for needed version of minecraft?
At this moment I can only hardcode it.

The links to the latest builds of PaperMC are here. Paper does not support old builds, so with the exception of extreme security issues, these builds are never going to change.

1.10.2
1.9.4
1.8.8

And 1.11.2 is latest.

As far as an automatic system for mapping MC versions to latest download links, that doesn't exist. An easy way to get around that would be to host a static JSON file (you could use gist to host it, and access it raw) with the MC versions and links supplied, and you could update that file when new versions come out.

Also, running BuildTools from Gradle would be quite a slow process, and even worse if they have already got a build server jar and would just rather use it instead (if they are plugin developers, you can bet on it). I'm not sure if that's what you really want to do.

BuildTools copies buid cores to local maven repository and it's possible to use it in all projects without rebuilding everytime. Gradle task :buildCore will be skipped if needed version of core already exists in local repo