PlotSquared/Core/build.gradle
2020-08-13 21:25:17 +02:00

101 lines
3.5 KiB
Groovy

repositories {
maven { url = "https://jitpack.io" }
maven { url = "https://mvn.intellectualsites.com/content/repositories/snapshots" }
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
}
def textVersion = "3.0.2"
dependencies {
implementation("org.yaml:snakeyaml:1.25")
implementation("com.google.code.gson:gson:2.8.6") {
because("Minecraft uses GSON 2.8.0")
force = true
}
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.72")
implementation("org.khelekore:prtree:1.7.0-SNAPSHOT")
// Adventure related stuff
implementation('net.kyori:adventure-api:4.0.0-SNAPSHOT')
implementation('net.kyori:adventure-text-minimessage:3.0.0-SNAPSHOT')
compile("com.google.inject:guice:4.2.3")
compile("com.google.inject.extensions:guice-assistedinject:4.2.3")
compile group: 'com.google.code.findbugs', name: 'annotations', version: '3.0.1'
compile group: 'javax.inject', name: 'javax.inject', version: '1'
compile group: 'aopalliance', name: 'aopalliance', version: '1.0'
// logging
implementation("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1")
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
processResources {
from("src/main/resources") {
include "plugin.properties"
expand(
version: "${project.parent.version}",
name: project.parent.name,
commit: "${git.head().abbreviatedId}",
date: "${git.head().getDate().format("yy.MM.dd")}",
)
}
}
//noinspection GroovyAssignabilityCheck
jar.archiveFileName = "PlotSquared-Core-${project.parent.version}.jar"
jar.destinationDirectory = file("../mvn/com/plotsquared/PlotSquared-Core/" + project.parent.version)
task createPom {
doLast {
pom {
project {
groupId = rootProject.group
artifactId = "PlotSquared-Core"
version = project.parent.version
}
}.writeTo("../mvn/com/plotsquared/PlotSquared-Core/${project.parent.version}/PlotSquared-Core-${project.parent.version}.pom")
pom {
project {
groupId = rootProject.group
artifactId = "PlotSquared-Core"
version = "latest"
}
}.writeTo("../mvn/com/plotsquared/PlotSquared-Core/latest/PlotSquared-Core-latest.pom")
.writeTo("pom.xml")
}
}
task copyFiles {
doLast {
copy {
from("../mvn/com/plotsquared/PlotSquared-Core/${project.parent.version}/")
into("../mvn/com/plotsquared/PlotSquared-Core/latest/")
include("PlotSquared-Core*.jar")
rename("PlotSquared-Core-${project.parent.version}.jar", "PlotSquared-Core-latest.jar")
}
}
}
shadowJar {
dependencies {
include(dependency('net.kyori:adventure-api:4.0.0-SNAPSHOT'))
include(dependency('net.kyori:adventure-gson:4.0.0-SNAPSHOT'))
include(dependency('net.kyori:adventure-legacy:4.0.0-SNAPSHOT'))
include(dependency('net.kyori:adventure-plain:4.0.0-SNAPSHOT'))
include(dependency('net.kyori:adventure-text-minimessage:3.0.0-SNAPSHOT'))
include(dependency('org.khelekore:prtree:1.7.0-SNAPSHOT'))
}
relocate('net.kyori.text', 'com.plotsquared.formatting.text')
relocate("org.json", "com.plotsquared.json") {
exclude "org/json/simple/**"
}
}
shadowJar.doLast {
task ->
ant.checksum file: task.archivePath
}
build.dependsOn(shadowJar)
build.finalizedBy(copyFiles)
copyFiles.dependsOn(createPom)