PlotSquared/build.gradle.kts

221 lines
6.4 KiB
Plaintext
Raw Normal View History

v7 is here (#3982) * Update MiniMessage to 4.10.1 (#3617) * chore!: bump MiniMessage to 4.10.1 BREAKING CHANGE: bumping MiniMessage and Adventure removes the adventure Template class and breaks the whole messaging system api wise * chore: fix minimessage messages, fix circular method reference * build: Update to Paper 1.18.2 (#3622) build: Align MM and Adventure version * Replace legacy color codes in flag examples (#3520) * chore: Change maven group and artifact ID (#3632) chore: Change maven group and artifact ID * v7 is 7.0.0-SNAPSHOT * build: Update bom * Chore: General deprecations (#3660) Address deprecations for removal throughout the plugin * Address deprecations in queue/generation code (#3658) * Update to new Spigot generation API (#3659) * Address deprecations in queue/generation code * Move to new generation API - Currently not working due to lack of biome-setting capability via BiomeProvider for flat worlds * Any fixes to flat world biome setting will target 1.19 * Ensure compiled is actually set to true in BlockBucket * Delegate to platformGenerator in deprecated generation method if applicable when using new generation methods (1.19) * Re-add wrongly removed method * Handle exceptions using logger * We can simplify getting relative offset using floormod * Replace many booleans with EnumSet * Address comments, remove needless boolean return for populateChunk * Ensure use of new generation methods only on 1.19 and above * refactor: simplify timeout logic in uuid pipeline (#3760) simplify timeout logic * Fix compile errors * Revert GAV changes * Update javadoc links * Start deployment of v7 snapshots * Temporarily create javadocs for v7 snapshots * Temporarily create javadocs for v7 snapshots * Fixes #3919 * Fix relocation of informative annotations * Drop HTTP4J (#3916) * Fixes #3906 by fine-graining the help menu generation localization support * Clean up merge * *Actually clean up * chore: Remove things marked as for removal (#3941) * chore: Remove things marked as for removal * Address feedback Co-authored-by: Alexander Brandes <mc.cache@web.de> * Resolved conflicts * Cleanup deprecated methods * Revert "Cleanup deprecated methods" This reverts commit 26692d6633b742b2e8af398c883b111887529fd9. * Record-inize methods (#3976) * Delete unused HyperverseWorldManager file * Migrate left over occurrences to enhanced switches (#3979) * Migrate left-overs to enhanced switches * More * Cleanup deprecated methods (#3980) * Perform code formatting according to editorconfig (#3981) * Perform code reformatting * Fix javadoc errors * Don't format JSON files --------- Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu> Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com> Co-authored-by: dordsor21 <dordsor21@gmail.com>
2023-03-06 12:04:39 +01:00
import com.diffplug.gradle.spotless.SpotlessPlugin
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
import java.net.URI
plugins {
java
`java-library`
`maven-publish`
signing
2021-08-17 16:38:24 +02:00
alias(libs.plugins.shadow)
2023-01-08 23:16:40 +01:00
alias(libs.plugins.spotless)
2021-08-17 16:38:24 +02:00
alias(libs.plugins.grgit)
alias(libs.plugins.nexus)
eclipse
idea
}
group = "com.plotsquared"
v7 is here (#3982) * Update MiniMessage to 4.10.1 (#3617) * chore!: bump MiniMessage to 4.10.1 BREAKING CHANGE: bumping MiniMessage and Adventure removes the adventure Template class and breaks the whole messaging system api wise * chore: fix minimessage messages, fix circular method reference * build: Update to Paper 1.18.2 (#3622) build: Align MM and Adventure version * Replace legacy color codes in flag examples (#3520) * chore: Change maven group and artifact ID (#3632) chore: Change maven group and artifact ID * v7 is 7.0.0-SNAPSHOT * build: Update bom * Chore: General deprecations (#3660) Address deprecations for removal throughout the plugin * Address deprecations in queue/generation code (#3658) * Update to new Spigot generation API (#3659) * Address deprecations in queue/generation code * Move to new generation API - Currently not working due to lack of biome-setting capability via BiomeProvider for flat worlds * Any fixes to flat world biome setting will target 1.19 * Ensure compiled is actually set to true in BlockBucket * Delegate to platformGenerator in deprecated generation method if applicable when using new generation methods (1.19) * Re-add wrongly removed method * Handle exceptions using logger * We can simplify getting relative offset using floormod * Replace many booleans with EnumSet * Address comments, remove needless boolean return for populateChunk * Ensure use of new generation methods only on 1.19 and above * refactor: simplify timeout logic in uuid pipeline (#3760) simplify timeout logic * Fix compile errors * Revert GAV changes * Update javadoc links * Start deployment of v7 snapshots * Temporarily create javadocs for v7 snapshots * Temporarily create javadocs for v7 snapshots * Fixes #3919 * Fix relocation of informative annotations * Drop HTTP4J (#3916) * Fixes #3906 by fine-graining the help menu generation localization support * Clean up merge * *Actually clean up * chore: Remove things marked as for removal (#3941) * chore: Remove things marked as for removal * Address feedback Co-authored-by: Alexander Brandes <mc.cache@web.de> * Resolved conflicts * Cleanup deprecated methods * Revert "Cleanup deprecated methods" This reverts commit 26692d6633b742b2e8af398c883b111887529fd9. * Record-inize methods (#3976) * Delete unused HyperverseWorldManager file * Migrate left over occurrences to enhanced switches (#3979) * Migrate left-overs to enhanced switches * More * Cleanup deprecated methods (#3980) * Perform code formatting according to editorconfig (#3981) * Perform code reformatting * Fix javadoc errors * Don't format JSON files --------- Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu> Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com> Co-authored-by: dordsor21 <dordsor21@gmail.com>
2023-03-06 12:04:39 +01:00
version = "7.0.0-SNAPSHOT"
if (!File("$rootDir/.git").exists()) {
logger.lifecycle("""
**************************************************************************************
You need to fork and clone this repository! Don't download a .zip file.
If you need assistance, consult the GitHub docs: https://docs.github.com/get-started/quickstart/fork-a-repo
**************************************************************************************
""".trimIndent()
).also { kotlin.system.exitProcess(1) }
}
subprojects {
group = rootProject.group
version = rootProject.version
repositories {
mavenCentral()
maven {
name = "Sonatype OSS"
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
}
maven {
name = "Sonatype OSS (S01)"
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
}
maven {
name = "Jitpack"
url = uri("https://jitpack.io")
content {
includeModule("com.github.MilkBowl", "VaultAPI")
}
}
maven {
2021-07-05 15:25:22 +02:00
name = "EngineHub"
url = uri("https://maven.enginehub.org/repo/")
}
}
apply {
plugin<JavaPlugin>()
plugin<JavaLibraryPlugin>()
plugin<MavenPublishPlugin>()
plugin<ShadowPlugin>()
2023-01-08 23:16:40 +01:00
plugin<SpotlessPlugin>()
plugin<SigningPlugin>()
plugin<EclipsePlugin>()
plugin<IdeaPlugin>()
}
dependencies {
v7 is here (#3982) * Update MiniMessage to 4.10.1 (#3617) * chore!: bump MiniMessage to 4.10.1 BREAKING CHANGE: bumping MiniMessage and Adventure removes the adventure Template class and breaks the whole messaging system api wise * chore: fix minimessage messages, fix circular method reference * build: Update to Paper 1.18.2 (#3622) build: Align MM and Adventure version * Replace legacy color codes in flag examples (#3520) * chore: Change maven group and artifact ID (#3632) chore: Change maven group and artifact ID * v7 is 7.0.0-SNAPSHOT * build: Update bom * Chore: General deprecations (#3660) Address deprecations for removal throughout the plugin * Address deprecations in queue/generation code (#3658) * Update to new Spigot generation API (#3659) * Address deprecations in queue/generation code * Move to new generation API - Currently not working due to lack of biome-setting capability via BiomeProvider for flat worlds * Any fixes to flat world biome setting will target 1.19 * Ensure compiled is actually set to true in BlockBucket * Delegate to platformGenerator in deprecated generation method if applicable when using new generation methods (1.19) * Re-add wrongly removed method * Handle exceptions using logger * We can simplify getting relative offset using floormod * Replace many booleans with EnumSet * Address comments, remove needless boolean return for populateChunk * Ensure use of new generation methods only on 1.19 and above * refactor: simplify timeout logic in uuid pipeline (#3760) simplify timeout logic * Fix compile errors * Revert GAV changes * Update javadoc links * Start deployment of v7 snapshots * Temporarily create javadocs for v7 snapshots * Temporarily create javadocs for v7 snapshots * Fixes #3919 * Fix relocation of informative annotations * Drop HTTP4J (#3916) * Fixes #3906 by fine-graining the help menu generation localization support * Clean up merge * *Actually clean up * chore: Remove things marked as for removal (#3941) * chore: Remove things marked as for removal * Address feedback Co-authored-by: Alexander Brandes <mc.cache@web.de> * Resolved conflicts * Cleanup deprecated methods * Revert "Cleanup deprecated methods" This reverts commit 26692d6633b742b2e8af398c883b111887529fd9. * Record-inize methods (#3976) * Delete unused HyperverseWorldManager file * Migrate left over occurrences to enhanced switches (#3979) * Migrate left-overs to enhanced switches * More * Cleanup deprecated methods (#3980) * Perform code formatting according to editorconfig (#3981) * Perform code reformatting * Fix javadoc errors * Don't format JSON files --------- Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu> Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com> Co-authored-by: dordsor21 <dordsor21@gmail.com>
2023-03-06 12:04:39 +01:00
implementation(platform("com.intellectualsites.bom:bom-newest:1.24"))
}
2020-10-08 01:22:19 +02:00
dependencies {
// Tests
testImplementation("org.junit.jupiter:junit-jupiter:5.9.2")
2020-10-08 01:22:19 +02:00
}
plugins.withId("java") {
the<JavaPluginExtension>().toolchain {
2021-12-18 23:10:41 +01:00
languageVersion.set(JavaLanguageVersion.of(17))
}
}
2021-12-18 23:10:41 +01:00
tasks.compileJava.configure {
options.release.set(17)
2021-12-18 23:10:41 +01:00
}
configurations.all {
attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 17)
}
2023-01-08 23:16:40 +01:00
spotless {
java {
licenseHeaderFile(rootProject.file("HEADER.txt"))
target("**/*.java")
endWithNewline()
trimTrailingWhitespace()
removeUnusedImports()
2023-01-08 23:16:40 +01:00
}
}
java {
withSourcesJar()
withJavadocJar()
}
2021-09-07 13:52:47 +02:00
val javaComponent = components["java"] as AdhocComponentWithVariants
javaComponent.withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) {
skip()
}
signing {
if (!version.toString().endsWith("-SNAPSHOT")) {
val signingKey: String? by project
val signingPassword: String? by project
useInMemoryPgpKeys(signingKey, signingPassword)
signing.isRequired
sign(publishing.publications)
}
}
2020-10-08 12:07:18 +02:00
publishing {
publications {
create<MavenPublication>("maven") {
from(components["java"])
pom {
name.set(project.name + " " + project.version)
description.set("PlotSquared, a land and world management plugin for Minecraft.")
url.set("https://github.com/IntellectualSites/PlotSquared")
2020-10-08 12:07:18 +02:00
licenses {
license {
name.set("GNU General Public License, Version 3.0")
url.set("https://www.gnu.org/licenses/gpl-3.0.html")
distribution.set("repo")
}
}
developers {
developer {
2020-12-16 13:23:14 +01:00
id.set("Sauilitired")
2020-10-08 12:07:18 +02:00
name.set("Alexander Söderberg")
organization.set("IntellectualSites")
2020-10-08 12:07:18 +02:00
}
2020-10-08 21:25:09 +02:00
developer {
id.set("NotMyFault")
2022-05-07 15:56:24 +02:00
name.set("Alexander Brandes")
organization.set("IntellectualSites")
2023-03-02 20:48:33 +01:00
email.set("contact(at)notmyfault.dev")
2020-10-08 21:25:09 +02:00
}
developer {
id.set("SirYwell")
name.set("Hannes Greule")
organization.set("IntellectualSites")
}
2020-12-14 19:09:09 +01:00
developer {
id.set("dordsor21")
name.set("dordsor21")
organization.set("IntellectualSites")
2020-12-14 19:09:09 +01:00
}
2020-10-08 12:07:18 +02:00
}
scm {
url.set("https://github.com/IntellectualSites/PlotSquared")
connection.set("scm:https://IntellectualSites@github.com/IntellectualSites/PlotSquared.git")
developerConnection.set("scm:git://github.com/IntellectualSites/PlotSquared.git")
}
issueManagement {
system.set("GitHub")
url.set("https://github.com/IntellectualSites/PlotSquared/issues")
}
2020-10-08 12:07:18 +02:00
}
}
}
}
tasks {
2020-10-08 11:49:05 +02:00
compileJava {
options.compilerArgs.add("-parameters")
options.isDeprecation = true
options.encoding = "UTF-8"
}
shadowJar {
this.archiveClassifier.set(null as String?)
this.archiveFileName.set("${project.name}-${project.version}.${this.archiveExtension.getOrElse("jar")}")
}
named("build") {
dependsOn(named("shadowJar"))
}
test {
useJUnitPlatform()
}
}
}
nexusPublishing {
repositories {
sonatype {
nexusUrl.set(URI.create("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(URI.create("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
}
}
}
tasks.getByName<Jar>("jar") {
enabled = false
}