plugins { id("java") id("maven-publish") id("com.github.johnrengelman.shadow") } group = "de.oliver" version = "35" 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.5") // database drivers compileOnly("org.xerial:sqlite-jdbc:3.46.0.0") compileOnly("mysql:mysql-connector-java:8.0.33") // testing testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.3") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.1") testImplementation("com.google.code.gson:gson:2.11.0") } tasks { publishing { repositories { maven { name = "fancypluginsReleases" url = uri("https://repo.fancyplugins.de/releases") credentials(PasswordCredentials::class) authentication { isAllowInsecureProtocol = true create("basic") } } maven { name = "fancypluginsSnapshots" url = uri("https://repo.fancyplugins.de/snapshots") credentials(PasswordCredentials::class) authentication { isAllowInsecureProtocol = true create("basic") } } } publications { create("maven") { groupId = project.group.toString() artifactId = project.name version = project.version.toString() 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() } }