plugins { id 'java-library' id 'maven-publish' id 'checkstyle' } apply from: '../gradle/checkstyle.gradle' apply from: '../gradle/publish.gradle' apply plugin: 'com.github.johnrengelman.shadow' sourceSets { ap { compileClasspath += main.compileClasspath + main.output } } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } dependencies { api 'com.google.code.gson:gson:2.8.6' api "com.google.guava:guava:${guavaVersion}" api "net.kyori:adventure-api:${adventureVersion}" api "net.kyori:adventure-text-serializer-gson:${adventureVersion}" api "net.kyori:adventure-text-serializer-legacy:${adventureVersion}" api "net.kyori:adventure-text-serializer-plain:${adventureVersion}" api "org.slf4j:slf4j-api:${slf4jVersion}" api 'com.google.inject:guice:4.2.3' api "org.checkerframework:checker-qual:${checkerFrameworkVersion}" api 'com.mojang:brigadier:1.0.17' api "org.spongepowered:configurate-hocon:${configurateVersion}" api "org.spongepowered:configurate-yaml:${configurateVersion}" api "org.spongepowered:configurate-gson:${configurateVersion}" testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}" testImplementation "org.junit.jupiter:junit-jupiter-engine:${junitVersion}" } task javadocJar(type: Jar) { classifier 'javadoc' from javadoc } task sourcesJar(type: Jar) { classifier 'sources' from sourceSets.main.allSource from sourceSets.ap.output } jar { from sourceSets.ap.output } shadowJar { from sourceSets.ap.output } artifacts { archives javadocJar archives shadowJar archives sourcesJar } javadoc { options.encoding = 'UTF-8' options.charSet = 'UTF-8' options.source = '8' options.links( 'https://www.slf4j.org/apidocs/', 'https://guava.dev/releases/30.0-jre/api/docs/', 'https://google.github.io/guice/api-docs/4.2/javadoc/', 'https://docs.oracle.com/javase/8/docs/api/', 'https://jd.adventure.kyori.net/api/4.0.0/' ) // Disable the crazy super-strict doclint tool in Java 8 options.addStringOption('Xdoclint:none', '-quiet') // Mark sources as Java 8 source compatible options.source = '8' } publishing { publications { mavenJava(MavenPublication) { from components.java artifact sourcesJar artifact javadocJar } } }