Files
FancyPlugins/libraries/common/build.gradle.kts
2025-03-15 19:58:41 +01:00

93 lines
2.7 KiB
Kotlin

plugins {
id("java")
id("maven-publish")
id("com.github.johnrengelman.shadow")
}
group = "de.oliver"
version = findProperty("fancylibVersion") as String
description = "Library for all Fancy plugins"
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
}
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://repo.fancyplugins.de/releases")
}
dependencies {
compileOnly("dev.folia:folia-api:1.20.4-R0.1-SNAPSHOT")
compileOnly("de.oliver.FancyAnalytics:logger:0.0.6")
// database drivers
compileOnly("org.xerial:sqlite-jdbc:3.49.1.0")
compileOnly("mysql:mysql-connector-java:8.0.33")
// testing
testImplementation("org.junit.jupiter:junit-jupiter-api:5.12.1")
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.12.1")
testImplementation("org.junit.platform:junit-platform-console-standalone:1.12.1")
testImplementation("com.google.code.gson:gson:2.12.1")
}
tasks {
publishing {
repositories {
maven {
name = "fancypluginsReleases"
url = uri("https://repo.fancyplugins.de/releases")
credentials(PasswordCredentials::class)
authentication {
isAllowInsecureProtocol = true
create<BasicAuthentication>("basic")
}
}
maven {
name = "fancypluginsSnapshots"
url = uri("https://repo.fancyplugins.de/snapshots")
credentials(PasswordCredentials::class)
authentication {
isAllowInsecureProtocol = true
create<BasicAuthentication>("basic")
}
}
}
publications {
create<MavenPublication>("maven") {
groupId = "de.oliver"
artifactId = "FancyLib"
version = findProperty("fancylibVersion") as String
from(project.components["java"])
}
}
}
compileJava {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
// See https://openjdk.java.net/jeps/247 for more information.
options.release.set(17)
}
java {
withSourcesJar()
withJavadocJar()
}
javadoc {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
}
processResources {
filteringCharset = Charsets.UTF_8.name() // We want UTF-8 for everything
}
test {
useJUnitPlatform()
}
}