Spigradle Save

Intelligent Gradle plugin for Bukkit, Bungeecord and NukkitX.

Project README

Spigradle

License Gradle Plugin Portal TeamCity CI

An intelligent Gradle plugin used to develop plugins for Spigot, Bungeecord and NukkitX.

Benefits

plugins {
    id 'java'
    id 'kr.entree.spigradle' version '2.4.3'
}

group 'org.sample'
version '1.0-SNAPSHOT'

dependencies {
    compileOnly spigot('1.16.5')
}

spigot {
    depends 'ProtocolLib'
    softDepends 'SomeLibrary'
    commands {
        create('mycmd') {
            aliases 'cmd'
        }
    }
}

Table of contents

Plugins

Spigot

Documentation

Demo

Groovy DSL

plugins {
    id 'java'
    id 'kr.entree.spigradle' version '2.4.3'
}

dependencies {
    compileOnly spigot('1.16.5')
}

spigot {
  depends 'ProtocolLib'
  softDepends 'SomeLibrary'
  commands {
    create('mycmd') {
      aliases 'cmd'
    }
  }
  // if you want to exclude all [spigot.libraries]:
  // `excludeLibraries = ['*']`
}
Kotlin DSL
import kr.entree.spigradle.kotlin.*

plugins {
    kotlin("jvm") version "1.3.72"
    id("kr.entree.spigradle") version "2.4.3"
}

dependencies {
    implementation(kotlin("stdlib-jdk8"))
    compileOnly(spigot("1.16.5"))
}

spigot {
  depends = listOf("ProtocolLib")
  softDepends = listOf("SomeLibrary")
  commands {
    create("mycmd") {
      aliases = listOf("cmd")
    }
  }
  // if you want to exclude all [spigot.libraries]:
  // `excludeLibraries = listOf("*")`
}
Groovy Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'kr.entree:spigradle:2.4.3'
    }
}

apply plugin: 'kr.entree.spigradle'
Kotlin Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("kr.entree:spigradle:2.4.3")
    }
}

apply(plugin = "kr.entree.spigradle")

Bungeecord

Documentation

Demo

Groovy DSL

plugins {
    id 'java'
    id 'kr.entree.spigradle.bungee' version '2.4.3'
}

dependencies {
    compileOnly bungeecord('1.15')
}
Kotlin DSL
plugins {
    kotlin("jvm") version "1.3.72"
    id("kr.entree.spigradle.bungee") version "2.4.3"
}

dependencies {
    implementation(kotlin("stdlib-jdk8"))
    compileOnly(bungeecord("1.15"))
}
Groovy Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'kr.entree:spigradle:2.4.3'
    }
}

apply plugin: 'kr.entree.spigradle.bungee'
Kotlin Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("kr.entree:spigradle:2.4.3")
    }
}

apply(plugin = "kr.entree.spigradle.bungee")

NukkitX

Documentation

Demo

Groovy DSL

plugins {
    id 'java'
    id 'kr.entree.spigradle.nukkit' version '2.4.3'
}

dependencies {
    compileOnly nukkit('1.0')
}
Kotlin DSL
plugins {
    kotlin("jvm") version "1.3.72"
    id("kr.entree.spigradle.nukkit") version "2.4.3"
}

dependencies {
    implementation(kotlin("stdlib-jdk8"))
    compileOnly(bungeecord("1.15"))
}
Groovy Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'kr.entree:spigradle:2.4.3'
    }
}

apply plugin: 'kr.entree.spigradle.nukkit'
Kotlin Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("kr.entree:spigradle:2.4.3")
    }
}

apply(plugin = "kr.entree.spigradle.nukkit")

Requirements

All the plugins requires Gradle 5.4.2+, recommends the latest.

To update your gradle wrapper:

gradlew wrapper --gradle-version 6.9.1 --distribution-type all

Repositories

Name URL Relations Aliases
spigotmc() https://hub.spigotmc.org/nexus/content/repositories/snapshots/ spigot()
sonaytype() https://oss.sonatype.org/content/repositories/snapshots/ bungeecord()
papermc() https://papermc.io/repo/repository/maven-public/ paper()
jitpack() https://jitpack.io Vault vault()
protocolLib() https://repo.dmulloy2.net/nexus/repository/public/
enginehub() https://maven.enginehub.org/repo/ worldguard, worldedit, commandhelper...
codemc() https://repo.codemc.org/repository/maven-public/ BStats bStats()
enderZone() https://ci.ender.zone/plugin/repository/everything/ EssentialsX essentialsX()
frostcast() https://ci.frostcast.net/plugin/repository/everything BanManager banManager()
nukkitX() https://repo.nukkitx.com/maven-snapshots NukkitX

Groovy usage

repositories {
    engienhub()
}

Kotiln usage

import kr.entree.spigradle.kotlin.*

repositories {
    enginehub()
}

Dependencies

Name Signature Default version Official repository
spigot(version) org.spigotmc:spigot-api:$version 1.16.1-R0.1-SNAPSHOT spigotmc()
spigotAll() org.spigotmc:spigot:$version 1.16.1-R0.1-SNAPSHOT spigotmc()
bungeecord() net.md-5:bungeecord-api:$version 1.16-R0.4-SNAPSHOT spigotmc()
minecraftServer() org.spigotmc:minecraft-server:$version 1.16.1-SNAPSHOT mavenLocal(), BuildTools
paper() com.destroystokyo.paper:paper-api:$version 1.16.1-R0.1-SNAPSHOT papermc()
bukkit() org.bukkit:bukkit:$version 1.16.1-R0.1-SNAPSHOT mavenLocal(), BuildTools
craftbukkit() org.bukkit:craftbukkit:$version 1.16.1-R0.1-SNAPSHOT mavenLocal(), BuildTools
lombok() org.projectlombok:lombok:$version 1.18.12 mavenCentral()
spigradle() kr.entree:spigradle:$version 2.4.3 mavenCentral()
protocolLib() com.comphenix.protocol:ProtocolLib:$version 4.5.1 protocolLib()
vault() com.github.MilkBowl:VaultAPI:$version 1.7 jitpack()
vaultAll() com.github.MilkBowl:Vault:$version 1.7.3 jitpack()
luckPerms() me.lucko.luckperms:luckperms-api:$version 5.1 mavenCentral()
worldedit() com.sk89q.worldedit:worldedit-bukkit:$version 7.1.0 enginehub()
worldguard() com.sk89q.worldguard:worldguard-bukkit:$version 7.0.3 enginehub()
essentialsX() net.ess3:EssentialsX:$version 2.17.2 enderZone()
banManager() me.confuser.banmanager:BanManagerBukkit:$version 7.3.0-SNAPSHOT frostcast()
commandhelper() com.sk89q:commandhelper:$version 3.3.4-SNAPSHOT enginehub()
bStats() org.bstats:bstats-bukkit:$version 1.7 codemc()
bStatsLite() org.bstats:bstats-bukkit-lite:$version 1.7 codemc()
nukkit cn.nukkit:nukkit:$version 2.0.0-SNAPSHOT nukkitX()

Groovy usage

dependencies {
    compileOnly spigot("1.16.5") // or just spigot()
}

Kotlin usage

import kr.entree.spigradle.kotlin.*

dependencies {
    compileOnly(spigot("1.16.5")) // or just spigot()
}

See also

Supporters

JetBrains OS License
Open Source Agenda is not affiliated with "Spigradle" Project. README Source: spigradle/spigradle
Stars
119
Open Issues
17
Last Commit
2 weeks ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating