Skip to content

Commit

Permalink
Update build script and publishing
Browse files Browse the repository at this point in the history
  • Loading branch information
ryderbelserion committed Jul 31, 2023
1 parent 1da63e8 commit 7cccded
Show file tree
Hide file tree
Showing 92 changed files with 514 additions and 611 deletions.
3 changes: 0 additions & 3 deletions api/build.gradle.kts

This file was deleted.

144 changes: 71 additions & 73 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,102 +1,100 @@
import io.papermc.hangarpublishplugin.model.Platforms

plugins {
id("paper-plugin")
id("publish-task")
id("root-plugin")

id("xyz.jpenilla.run-paper") version "2.1.0"
id("com.modrinth.minotaur") version "2.8.2"
id("io.papermc.hangar-publish-plugin") version "0.0.5"
}

repositories {
flatDir {
dirs("libs")
}
}
defaultTasks("build")

dependencies {
api(project(":crazycrates-api"))
rootProject.group = "com.badbones69.crazycrates"
rootProject.description = "Add unlimited crates to your server with 10 different crate types to choose from!"
rootProject.version = "1.11.7"

compileOnly("cmi-api:CMI-API")
compileOnly("cmi-lib:CMILib")
val combine by tasks.registering(Jar::class) {
dependsOn("build")
duplicatesStrategy = DuplicatesStrategy.EXCLUDE

compileOnly(libs.decent.holograms)
compileOnly(libs.fancy.holograms)
compileOnly(libs.fancy.npcs)
from(files(subprojects.map {
it.layout.buildDirectory.file("libs/${rootProject.name}-${it.name}-${it.version}.jar").get()
}).filter { it.name != "MANIFEST.MF" }.map { if (it.isDirectory) it else zipTree(it) })
}

compileOnly(libs.placeholder.api)
compileOnly(libs.itemsadder.api)
tasks {
assemble {
subprojects.forEach {
dependsOn(":${it.project.name}:build")
}

implementation(libs.bstats.bukkit)
finalizedBy(combine)
}
}

implementation(libs.triumph.cmds)
val description = """
## New Features:
* Armor Trims with all pattern/material support has been added. View how to use it below!
* https://docs.crazycrew.us/crazycrates/prizes/armor-trims
## Api Changes:
* `com.badbones69.crazycrates:crazycrates-api:1.11.16` from this point on is outdated.
* Please update your dependencies to match this version accordingly before updating!
* `crazycrates-api` has been split into `crazycrates-core-api` and `crazycrates-paper-api` due to future plans for CrazyCrates
* https://repo.crazycrew.us/#/releases/com/badbones69/crazycrates You can browse the new section here.
## Other:
* [Feature Requests](https://github.com/Crazy-Crew/${rootProject.name}/discussions/categories/features)
* [Bug Reports](https://github.com/Crazy-Crew/${rootProject.name}/issues)
""".trimIndent()

implementation(libs.nbt.api)
}
val versions = listOf(
"1.20",
"1.20.1"
)

val buildNumber: String? = System.getenv("BUILD_NUMBER")
val buildVersion = "${rootProject.version}-b$buildNumber"
val isSnapshot = rootProject.version.toString().contains("snapshot")
val type = if (isSnapshot) "beta" else "release"
val hangar = if (isSnapshot) "Beta" else "Release"

rootProject.version = if (buildNumber != null) buildVersion else rootProject.version
val builtJar: RegularFile = rootProject.layout.buildDirectory.file("libs/${rootProject.name}-${project.version}.jar").get()

val isSnapshot = rootProject.version.toString().contains("snapshot") || rootProject.version.toString() == buildVersion
val javaComponent: SoftwareComponent = components["java"]
modrinth {
autoAddDependsOn.set(false)

tasks {
reobfJar {
val file = File("$rootDir/jars")
token.set(System.getenv("MODRINTH_TOKEN"))

if (!file.exists()) file.mkdirs()
projectId.set("crafty-was-taken")

outputJar.set(layout.buildDirectory.file("$file/${rootProject.name}-${rootProject.version}.jar"))
}
versionName.set("${rootProject.name} ${rootProject.version}")
versionNumber.set("${rootProject.version}")

shadowJar {
listOf(
"de.tr7zw.changeme.nbtapi",
"dev.triumphteam",
"org.bstats"
).forEach { pack -> relocate(pack, "${rootProject.group}.$pack") }
}
uploadFile = builtJar

runServer {
minecraftVersion("1.20")
}
gameVersions.addAll(versions)

processResources {
filesMatching("plugin.yml") {
expand(
"name" to rootProject.name,
"group" to rootProject.group,
"version" to rootProject.version,
"description" to rootProject.description,
"website" to "https://modrinth.com/plugin/${rootProject.name.lowercase()}"
)
}
}
changelog.set(description)

publishing {
publications {
create<MavenPublication>("maven") {
groupId = rootProject.group.toString()
artifactId = "${rootProject.name.lowercase()}-api"
loaders.addAll("paper", "purpur")
}

version = rootProject.version.toString()
hangarPublish {
publications.register("plugin") {
version.set("${rootProject.version}")

from(javaComponent)
}
}
namespace("CrazyCrew", rootProject.name)

channel.set(hangar)

apiKey.set(System.getenv("hangar_key"))

repositories {
maven {
credentials {
this.username = System.getenv("gradle_username")
this.password = System.getenv("gradle_password")
}
changelog.set(description)

if (isSnapshot) {
url = uri("https://repo.crazycrew.us/snapshots/")
return@maven
}
platforms {
register(Platforms.PAPER) {
jar.set(builtJar)

url = uri("https://repo.crazycrew.us/releases/")
platformVersions.set(versions)
}
}
}
Expand Down
14 changes: 2 additions & 12 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,10 @@ repositories {
gradlePluginPortal()

maven("https://repo.crazycrew.us/first-party/")

maven("https://repo.crazycrew.us/third-party/")

maven("https://repo.crazycrew.us/releases/")
}

dependencies {
implementation(libs.paperweight)
implementation(libs.featherweight)

implementation(libs.minotaur)
//implementation(libs.hangar)

implementation(libs.shadow)
implementation("com.github.johnrengelman", "shadow", "8.1.1")

implementation(libs.turtle)
implementation("io.papermc.paperweight", "paperweight-userdev", "1.5.5")
}
9 changes: 0 additions & 9 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}

repositories {
gradlePluginPortal()

maven("https://repo.crazycrew.us/first-party/")

maven("https://repo.crazycrew.us/third-party/")

maven("https://repo.crazycrew.us/releases/")
}
}
8 changes: 1 addition & 7 deletions buildSrc/src/main/kotlin/paper-plugin.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
plugins {
id("root-plugin")

id("com.github.johnrengelman.shadow")

id("io.papermc.paperweight.userdev")
}

repositories {
maven("https://repo.papermc.io/repository/maven-public/")
}

dependencies {
paperweight.paperDevBundle("1.20-R0.1-SNAPSHOT")
paperweight.paperDevBundle("1.20.1-R0.1-SNAPSHOT")
}

tasks {
Expand Down
52 changes: 0 additions & 52 deletions buildSrc/src/main/kotlin/publish-task.gradle.kts

This file was deleted.

29 changes: 23 additions & 6 deletions buildSrc/src/main/kotlin/root-plugin.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import gradle.kotlin.dsl.accessors._3060c13235291a72581396bc01940dbe.publishing
import org.gradle.kotlin.dsl.maven

plugins {
`java-library`
`maven-publish`

id("com.github.johnrengelman.shadow")
}

repositories {
Expand All @@ -14,10 +17,6 @@ repositories {

maven("https://repo.triumphteam.dev/snapshots/")

maven("https://repo.fancyplugins.de/snapshots/")

maven("https://repo.fancyplugins.de/releases/")

maven("https://repo.crazycrew.us/first-party/")

maven("https://repo.crazycrew.us/third-party/")
Expand All @@ -29,6 +28,26 @@ repositories {
mavenCentral()
}

val isSnapshot = rootProject.version.toString().contains("snapshot")

publishing {
repositories {
maven {
credentials {
this.username = System.getenv("gradle_username")
this.password = System.getenv("gradle_password")
}

if (isSnapshot) {
url = uri("https://repo.crazycrew.us/snapshots/")
return@maven
}

url = uri("https://repo.crazycrew.us/releases/")
}
}
}

java {
toolchain.languageVersion.set(JavaLanguageVersion.of("17"))
}
Expand All @@ -37,7 +56,5 @@ tasks {
compileJava {
options.encoding = Charsets.UTF_8.name()
options.release.set(17)

options.compilerArgs = listOf("-parameters")
}
}
Loading

0 comments on commit 7cccded

Please sign in to comment.