Skip to content

typst-io/spigradle

Repository files navigation

Spigradle

License Gradle Plugin Portal TeamCity CI

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

Here are migration tips for breaking changes

Benefits

plugins {
    id 'java'
    id 'io.typst.spigradle' version '3.0.4'
}

group 'org.sample'
version '1.0.0'

repositories {
    mavenCentral()
    spigotmc()
}

dependencies {
    compileOnly spigot('1.21.8')
}

spigot {
    depends 'ProtocolLib'
    softDepends 'SomeLibrary'
    apiVersion '1.21'
    // libraries = configurations.implementation.dependencies.collect { "$it.group:$it.name:$it.version".toString() }
    commands {
        create('mycmd') {
            aliases 'cmd'
        }
    }
}

Table of contents

Plugins

Spigot

Documentation

Demo

Groovy DSL

plugins {
    id 'java'
    id 'io.typst.spigradle' version '3.0.4'
}

repositories {
    mavenCentral()
    spigotmc()
}

dependencies {
    compileOnly spigot('1.21.8')
}

spigot {
  depends 'ProtocolLib'
  softDepends 'SomeLibrary'
  commands {
    create('mycmd') {
      aliases 'cmd'
    }
  }
}
Kotlin DSL
import io.typst.spigradle.spigot.*

plugins {
    kotlin("jvm") version "2.1.20"
    id("io.typst.spigradle") version "3.0.4"
}

repositories {
    mavenCentral()
    spigotmc()
}

dependencies {
    implementation(kotlin("stdlib"))
    compileOnly(spigot("1.21.8"))
}

spigot {
  depends = listOf("ProtocolLib")
  softDepends = listOf("SomeLibrary")
  apiVersion = "1.21"
  commands {
    create("mycmd") {
      aliases = listOf("cmd")
    }
  }
}
Groovy Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'io.typst:spigradle:3.0.4'
    }
}

apply plugin: 'io.typst.spigradle'
Kotlin Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("io.typst:spigradle:3.0.4")
    }
}

apply(plugin = "io.typst.spigradle")

Bungeecord

Documentation

Demo

Groovy DSL

plugins {
    id 'java'
    id 'io.typst.spigradle.bungee' version '3.0.4'
}

repositories {
    mavenCentral()
}

dependencies {
    compileOnly bungeecord('1.15')
}
Kotlin DSL
plugins {
    kotlin("jvm") version "2.1.20"
    id("io.typst.spigradle.bungee") version "3.0.4"
}

repositories {
    mavenCentral()
}

dependencies {
    implementation(kotlin("stdlib"))
    compileOnly(bungeecord("1.15"))
}
Groovy Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'io.typst:spigradle:3.0.4'
    }
}

apply plugin: 'io.typst.spigradle.bungee'
Kotlin Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("io.typst:spigradle:3.0.4")
    }
}

apply(plugin = "io.typst.spigradle.bungee")

NukkitX

Documentation

Demo

Groovy DSL

plugins {
    id 'java'
    id 'io.typst.spigradle.nukkit' version '3.0.4'
}

repositories {
    mavenCentral()
}

dependencies {
    compileOnly nukkit('1.0')
}
Kotlin DSL
plugins {
    kotlin("jvm") version "2.1.20"
    id("io.typst.spigradle.nukkit") version "3.0.4"
}

repositories {
    mavenCentral()
}

dependencies {
    implementation(kotlin("stdlib"))
    compileOnly(bungeecord("1.15"))
}
Groovy Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'io.typst:spigradle:3.0.4'
    }
}

apply plugin: 'io.typst.spigradle.nukkit'
Kotlin Legacy
buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("io.typst:spigradle:3.0.4")
    }
}

apply(plugin = "io.typst.spigradle.nukkit")

Requirements

All the plugins require Gradle 8.0+, the latest version is recommended.

To update your gradle wrapper:

gradlew wrapper --gradle-version 8.14.3 --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 io.typst.spigradle.spigot.*

repositories {
    enginehub()
}

Dependencies

Name Signature Default version Official repository
spigot(version) org.spigotmc:spigot-api:$version 1.21.8-R0.1-SNAPSHOT spigotmc()
spigotAll() org.spigotmc:spigot:$version 1.21.8-R0.1-SNAPSHOT spigotmc()
bungeecord() net.md-5:bungeecord-api:$version 1.21-R0.4-SNAPSHOT spigotmc()
minecraftServer() org.spigotmc:minecraft-server:$version 1.21.8-SNAPSHOT mavenLocal(), BuildTools
paper() com.destroystokyo.paper:paper-api:$version 1.21.8-R0.1-SNAPSHOT papermc()
bukkit() org.bukkit:bukkit:$version 1.21.8-R0.1-SNAPSHOT mavenLocal(), BuildTools
craftbukkit() org.bukkit:craftbukkit:$version 1.21.8-R0.1-SNAPSHOT mavenLocal(), BuildTools
lombok() org.projectlombok:lombok:$version 1.18.38 mavenCentral()
spigradle() io.typst:spigradle:$version 3.0.4 mavenCentral()
protocolLib() com.comphenix.protocol:ProtocolLib:$version 5.3.0 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.5.9 mavenCentral()
worldedit() com.sk89q.worldedit:worldedit-bukkit:$version 7.3.15 enginehub()
worldguard() com.sk89q.worldguard:worldguard-bukkit:$version 7.0.14 enginehub()
essentialsX() net.ess3:EssentialsX:$version 2.21.1 enderZone()
banManager() me.confuser.banmanager:BanManagerBukkit:$version 7.9.0-SNAPSHOT frostcast()
commandhelper() com.sk89q:commandhelper:$version 3.3.5-SNAPSHOT enginehub()
bStats() org.bstats:bstats-bukkit:$version 3.0.2 codemc()
nukkit cn.nukkit:nukkit:$version 2.0.0-SNAPSHOT nukkitX()

Groovy usage

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

Kotlin usage

import io.typst.spigradle.spigot.*

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

See also

Supporters

JetBrains OS License

Packages

No packages published

Contributors 7