buildscript { repositories { mavenCentral() maven { url = 'https://oss.sonatype.org/content/repositories/snapshots/' } jcenter() } dependencies { classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1' } } plugins { id 'checkstyle' id 'com.github.hierynomus.license' version '0.15.0' id 'java-library' id 'com.github.johnrengelman.shadow' version '6.0.0' id 'de.marcphilipp.nexus-publish' version '0.3.0' } checkstyle { configFile file('config/checkstyle/checkstyle.xml') } gradle.taskGraph.whenReady { gradle.taskGraph.allTasks.each { if (it.project.name.contains('example')) { it.onlyIf { project.hasProperty('compile-examples') } } } } allprojects { apply plugin: 'idea' apply plugin: 'checkstyle' apply plugin: 'com.github.hierynomus.license' group = 'cloud.commandframework' version = '1.0.0-SNAPSHOT' description = 'Command framework and dispatcher for the JVM' /* Disable checkstyle on tests */ project.gradle.startParameter.excludedTaskNames.add('checkstyleTest') license { header rootProject.file('HEADER') mapping 'java', 'DOUBLESLASH_STYLE' includes(["**/*.java"]) } build.dependsOn(checkstyleMain) } subprojects { apply plugin: 'java' apply plugin: 'java-library' apply plugin: 'signing' apply plugin: 'de.marcphilipp.nexus-publish' test { useJUnitPlatform() } java { withSourcesJar() withJavadocJar() } repositories { mavenLocal() mavenCentral() jcenter() maven { url = 'https://oss.sonatype.org/content/repositories/snapshots' } maven { url = 'https://repo.viaversion.com/' } maven { url = 'https://repo.velocitypowered.com/snapshots/' } maven { url = 'https://libraries.minecraft.net/' } maven { url = 'https://repo.spongepowered.org/maven' } maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } maven { url = 'https://papermc.io/repo/repository/maven-public/' } maven { url = 'https://libraries.minecraft.net' } maven { url = 'https://repo.nukkitx.com/maven-snapshots' } maven { url = 'https://jitpack.io' } } dependencies { compileOnly 'org.checkerframework:checker-qual:3.5.0' api 'io.leangen.geantyref:geantyref:1.3.11' testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.7.0' } nexusPublishing { repositories { sonatype() } } sourceCompatibility = '1.8' tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } publishing { publications { mavenJava(MavenPublication) { from components.java pom { name = project.name url = 'https://github.com/Sauilitired/cloud' description = project.description developers { developer { id = 'Sauilitired' name = 'Alexander Söderberg' url = 'https://alexander-soderberg.com' email = 'contact@alexander-soderberg.com' } } issueManagement { system = 'GitHub Issues' url = 'https://github.com/Sauilitired/cloud/issues' } licenses { license { name = 'MIT License' url = 'https://opensource.org/licenses/MIT' } } scm { connection = 'scm:git@github.com:Sauilitired/cloud.git' developerConnection = 'scm:git@github.com:Sauilitired/cloud.git' url = 'https://github.com/Sauilitired/cloud/' } } } } } signing { required { project.hasProperty('signing.keyId') && (gradle.taskGraph.hasTask(':publish') || gradle.taskGraph.hasTask(':publishToSonatype') || gradle.taskGraph.hasTask(':publishToMavenLocal')) } sign publishing.publications.mavenJava } }