chore: parity with other buildscripts

This commit is contained in:
Ryder Belserion 2024-06-16 14:38:19 -04:00
parent 89c8f4a643
commit 1fa867b955
No known key found for this signature in database
12 changed files with 209 additions and 157 deletions

View File

@ -21,11 +21,11 @@ jobs:
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3 uses: gradle/actions/wrapper-validation@v3
- name: Set up JDK 17 - name: Set up JDK 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 17 java-version: 21
check-latest: true check-latest: true
- name: Gradle Properties Import. - name: Gradle Properties Import.

View File

@ -2,7 +2,7 @@ plugins {
alias(libs.plugins.minotaur) alias(libs.plugins.minotaur)
alias(libs.plugins.hangar) alias(libs.plugins.hangar)
`root-plugin` `java-plugin`
} }
val buildNumber: String? = System.getenv("BUILD_NUMBER") val buildNumber: String? = System.getenv("BUILD_NUMBER")
@ -33,8 +33,7 @@ modrinth {
gameVersions.set(listOf(libs.versions.minecraft.get())) gameVersions.set(listOf(libs.versions.minecraft.get()))
loaders.add("paper") loaders.addAll("paper", "purpur")
loaders.add("purpur")
autoAddDependsOn.set(false) autoAddDependsOn.set(false)
detectLoaders.set(false) detectLoaders.set(false)

View File

@ -1,12 +1,11 @@
import com.ryderbelserion.feather.feather
plugins { plugins {
id("com.ryderbelserion.feather-logic") version "0.0.1"
`kotlin-dsl` `kotlin-dsl`
} }
repositories {
gradlePluginPortal()
mavenCentral()
}
dependencies { dependencies {
implementation(libs.paperweight.userdev) feather("0.0.1")
} }

View File

@ -1,9 +1,23 @@
rootProject.name = "buildSrc"
dependencyResolutionManagement { dependencyResolutionManagement {
versionCatalogs { repositories {
create("libs") { maven("https://repo.crazycrew.us/releases")
from(files("../gradle/libs.versions.toml"))
} gradlePluginPortal()
mavenCentral()
} }
} }
rootProject.name = "buildSrc" pluginManagement {
repositories {
maven("https://repo.crazycrew.us/releases")
gradlePluginPortal()
}
}
plugins {
id("com.ryderbelserion.feather-settings")
}

View File

@ -0,0 +1,46 @@
import com.ryderbelserion.feather.enums.Repository
plugins {
id("com.ryderbelserion.feather-core")
`maven-publish`
`java-library`
}
repositories {
maven("https://repo.extendedclip.com/content/repositories/placeholderapi")
maven("https://repo.codemc.io/repository/maven-public")
maven("https://repo.oraxen.com/releases")
maven(Repository.CrazyCrewReleases.url)
maven(Repository.Jitpack.url)
flatDir { dirs("libs") }
mavenCentral()
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}
tasks {
compileJava {
options.encoding = Charsets.UTF_8.name()
options.release.set(21)
}
javadoc {
options.encoding = Charsets.UTF_8.name()
}
processResources {
filteringCharset = Charsets.UTF_8.name()
}
}

View File

@ -1,17 +1,13 @@
import com.ryderbelserion.feather.enums.Repository
plugins { plugins {
id("root-plugin") id("java-plugin")
} }
repositories { repositories {
maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") maven("https://repo.triumphteam.dev/snapshots")
maven("https://repo.papermc.io/repository/maven-public/") maven("https://maven.enginehub.org/repo")
maven("https://repo.codemc.io/repository/maven-public/") maven(Repository.Paper.url)
maven("https://repo.triumphteam.dev/snapshots/")
maven("https://repo.fancyplugins.de/releases/")
flatDir { dirs("libs") }
} }

View File

@ -1,38 +0,0 @@
plugins {
`java-library`
`maven-publish`
}
base {
archivesName.set(rootProject.name)
}
repositories {
maven("https://repo.crazycrew.us/snapshots/")
maven("https://repo.crazycrew.us/releases/")
maven("https://jitpack.io/")
mavenCentral()
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of("17"))
}
tasks {
compileJava {
options.encoding = Charsets.UTF_8.name()
options.release.set(17)
}
javadoc {
options.encoding = Charsets.UTF_8.name()
}
processResources {
filteringCharset = Charsets.UTF_8.name()
}
}

View File

@ -1,16 +1,10 @@
org.gradle.jvmargs = '-Xmx3G' org.gradle.jvmargs = -Xmx3G
org.gradle.caching = true org.gradle.daemon = false
org.gradle.parallel = true org.gradle.parallel = false
org.gradle.warning.mode = all
group = com.badbones69.crazyauctions
authors = ["Ryderbelserion, Badbones69"] authors = ["Ryderbelserion, Badbones69"]
description = Auction off items in style.
website = https://modrinth.com/plugin/crazyauctions website = https://modrinth.com/plugin/crazyauctions
sources = https://github.com/Crazy-Crew/CrazyAuctions sources = https://github.com/Crazy-Crew/CrazyAuctions
issues = https://github.com/Crazy-Crew/CrazyAuctions/issues issues = https://github.com/Crazy-Crew/CrazyAuctions/issues
group = com.badbones69.crazyauctions
description = Auction off items in style.
apiVersion = 1.20
mcVersion = 1.20.4
isBeta = true

View File

@ -1,48 +1,66 @@
[plugins]
run-paper = { id = "xyz.jpenilla.run-paper", version = "2.2.3" }
minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" }
hangar = { id = "io.papermc.hangar-publish-plugin", version.ref = "hangar" }
shadow = { id = "com.github.johnrengelman.shadow", version = "8.1.1" }
[versions] [versions]
kyori = "4.16.0" # Minecraft
bundle = "1.20.4-R0.1-SNAPSHOT" paper = "1.21-R0.1-SNAPSHOT"
cluster = "1.0-SNAPSHOT" minecraft = "1.21"
minotaur = "2.+"
# Plugins
itemsadder = "3.6.3-beta-14"
headdatabaseapi = "1.3.1"
placeholderapi = "2.11.6"
decentholograms = "2.8.8"
fancyholograms = "2.2.0"
worldguard = "7.0.10"
oraxen = "1.171.0"
nbtapi = "2.13.0"
vault = "1.7.1"
# Libraries
triumph-cmd = "2.0.0-ALPHA-10"
tirumph-gui = "3.1.7"
jetbrains = "24.1.0"
kyori = "4.17.0"
vital = "1.5.9"
# Paper
paperweight="1.7.1"
runPaper = "2.3.0"
hangar = "0.1.2" hangar = "0.1.2"
paper = "1.20.4-R0.1-SNAPSHOT" # Other
minecraft = "1.20.4" shadowJar = "8.1.7"
# Modrinth
minotaur = "2.+"
[plugins]
paperweight = { id = "io.papermc.paperweight.userdev", version.ref = "paperweight" }
hangar = { id = "io.papermc.hangar-publish-plugin", version.ref = "hangar" }
shadowJar = { id = "io.github.goooler.shadow", version.ref = "shadowJar" }
runPaper = { id = "xyz.jpenilla.run-paper", version.ref = "runPaper" }
minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" }
[libraries] [libraries]
simple-yaml = { group = "com.github.Carleslc.Simple-YAML", name = "Simple-Yaml", version = "1.8.4" } # Plugins
decent-holograms = { module = "com.github.decentsoftware-eu:decentholograms", version.ref = "decentholograms" }
fancy-holograms = { module = "de.oliver:FancyHolograms", version.ref = "fancyholograms" }
minimessage-api = { group = "net.kyori", name = "adventure-text-minimessage", version.ref = "kyori" } headdatabaseapi = { module = "com.arcaniax:HeadDatabase-API", version.ref = "headdatabaseapi" }
adventure-api = { group = "net.kyori", name = "adventure-api", version.ref = "kyori" } placeholderapi = { module = "me.clip:placeholderapi", version.ref = "placeholderapi" }
itemsadder-api = { group = "com.github.LoneDev6", name = "api-itemsadder", version = "3.6.1" } vault = { module = "com.github.MilkBowl:VaultAPI", version.ref = "vault" }
oraxen-api = { group = "io.th0rgal", name = "oraxen", version = "1.171.0" }
placeholder-api = { group = "me.clip", name = "placeholderapi", version = "2.11.5" }
head-database-api = { group = "com.arcaniax", name = "HeadDatabase-API", version = "1.3.1" }
paperweight-userdev = { group = "io.papermc.paperweight.userdev", name = "io.papermc.paperweight.userdev.gradle.plugin", version = "1.5.11" } itemsadder = { module = "com.github.LoneDev6:api-itemsadder", version.ref = "itemsadder" }
publishing-modrinth = { group = "com.modrinth.minotaur", name = "Minotaur", version = "2.8.7" } oraxen = { module = "io.th0rgal:oraxen", version.ref = "oraxen" }
publishing-hangar = { group = "io.papermc", name = "hangar-publish-plugin", version = "0.1.2" }
cluster-api = { group = "com.ryderbelserion.cluster", name = "api", version.ref = "cluster" } # Libraries
cluster-paper = { group = "com.ryderbelserion.cluster", name = "paper", version.ref = "cluster" } triumph-cmds = { module = "dev.triumphteam:triumph-cmd-bukkit", version.ref = "triumph-cmd" }
triumph-gui = { module = "dev.triumphteam:triumph-gui", version.ref = "tirumph-gui" }
fancy-holograms = { group = "de.oliver", name = "FancyHolograms", version = "2.0.6" } jetbrains = { module = "org.jetbrains:annotations", version.ref = "jetbrains" }
decent-holograms = { group = "com.github.decentsoftware-eu", name = "decentholograms", version = "2.8.6" }
triumph-cmds = { group = "dev.triumphteam", name = "triumph-cmd-bukkit", version = "2.0.0-ALPHA-9" } vital-paper = { module = "com.ryderbelserion.vital:paper", version.ref = "vital" }
triumph-gui = { group = "dev.triumphteam", name = "triumph-gui", version = "3.1.7" } vital-core = { module = "com.ryderbelserion.vital:core", version.ref = "vital" }
vault = { group = "com.github.MilkBowl", name = "VaultAPI", version = "1.7.1" }
metrics = { group = "org.bstats", name = "bstats-bukkit", version = "3.0.2" }
config-me = { group = "ch.jalu", name = "configme", version = "1.4.1" }
[bundles] [bundles]
adventure = ["minimessage-api", "adventure-api"]
holograms = ["fancy-holograms", "decent-holograms"] holograms = ["fancy-holograms", "decent-holograms"]
triumph = ["triumph-cmds", "triumph-gui"] triumph = ["triumph-cmds", "triumph-gui"]

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View File

@ -1,38 +1,53 @@
plugins { plugins {
alias(libs.plugins.paperweight)
alias(libs.plugins.shadowJar)
alias(libs.plugins.runPaper)
`paper-plugin` `paper-plugin`
id("io.papermc.paperweight.userdev")
alias(libs.plugins.run.paper)
alias(libs.plugins.shadow)
} }
repositories { base {
maven("https://repo.oraxen.com/releases/") archivesName.set(rootProject.name)
} }
dependencies { dependencies {
paperweight.paperDevBundle(libs.versions.bundle) paperweight.paperDevBundle(libs.versions.paper)
implementation(libs.metrics) compileOnly(libs.placeholderapi)
compileOnly(libs.placeholder.api) compileOnly(libs.oraxen)
compileOnly(libs.oraxen.api)
compileOnly(libs.vault) compileOnly(libs.vault)
compileOnly(fileTree("libs").include("*.jar")) compileOnly(fileTree("libs").include("*.jar"))
} }
tasks { paperweight {
assemble { reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.REOBF_PRODUCTION
dependsOn(reobfJar) }
doLast { val component: SoftwareComponent = components["java"]
copy {
from(reobfJar.get()) tasks {
into(rootProject.projectDir.resolve("jars")) publishing {
repositories {
maven {
url = uri("https://repo.crazycrew.us/releases")
credentials {
this.username = System.getenv("gradle_username")
this.password = System.getenv("gradle_password")
}
}
}
publications {
create<MavenPublication>("maven") {
groupId = rootProject.group.toString()
artifactId = "${rootProject.name.lowercase()}-${project.name.lowercase()}-api"
version = rootProject.version.toString()
from(component)
} }
} }
} }
@ -53,29 +68,33 @@ tasks {
minecraftVersion("1.20.4") minecraftVersion("1.20.4")
} }
shadowJar { assemble {
listOf( dependsOn(reobfJar)
"org.bstats"
).forEach { doLast {
relocate(it, "libs.$it") copy {
from(reobfJar.get())
into(rootProject.projectDir.resolve("jars"))
}
} }
} }
shadowJar {
archiveBaseName.set(rootProject.name)
archiveClassifier.set("")
}
processResources { processResources {
val properties = hashMapOf( inputs.properties("name" to rootProject.name)
"name" to rootProject.name, inputs.properties("version" to project.version)
"version" to project.version, inputs.properties("group" to project.group)
"group" to rootProject.group, inputs.properties("description" to project.properties["description"])
"description" to rootProject.description, inputs.properties("apiVersion" to libs.versions.minecraft.get())
"apiVersion" to providers.gradleProperty("apiVersion").get(), inputs.properties("authors" to project.properties["authors"])
"authors" to providers.gradleProperty("authors").get(), inputs.properties("website" to project.properties["website"])
"website" to providers.gradleProperty("website").get()
)
inputs.properties(properties)
filesMatching("plugin.yml") { filesMatching("plugin.yml") {
expand(properties) expand(inputs.properties)
} }
} }
} }

View File

@ -1,14 +1,19 @@
import com.ryderbelserion.feather.includeProject
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
maven("https://repo.papermc.io/repository/maven-public/")
gradlePluginPortal()
mavenCentral()
}
}
rootProject.name = "CrazyAuctions" rootProject.name = "CrazyAuctions"
include(":paper") pluginManagement {
repositories {
maven("https://repo.crazycrew.us/releases")
gradlePluginPortal()
}
}
plugins {
id("com.ryderbelserion.feather-settings") version "0.0.1"
}
listOf("paper").forEach(::includeProject)