spigradle / spigradle

Intelligent Gradle plugin for Bukkit, Bungeecord and NukkitX.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Intelligent Gradle plugin for Bukkit, Bungeecord and NukkitX.

License:Apache License 2.0


Languages

Language:Kotlin 99.6%Language:Java 0.4%