plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' id 'org.cadixdev.licenser' version '0.6.1' id 'org.ajoberstar.grgit' version '5.2.0' id 'maven-publish' id 'java' } group 'org.inksnow.husk' version "2.0.5${versionMetadata()}" defaultTasks 'licenseFormat', 'build' repositories { mavenCentral() } dependencies { implementation 'org.json:json:20230227' compileOnly 'net.kyori:adventure-api:4.16.0' compileOnly 'org.jetbrains:annotations:24.0.1' testImplementation 'net.kyori:adventure-platform-bukkit:4.3.2' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.2' } tasks { compileJava { options.encoding = 'UTF-8' options.release.set(8) } jar { manifest { attributes('Automatic-Module-Name': 'net.william278.desertwell') } } } license { header = rootProject.file('HEADER') include '**/*.java' newLine = true } logger.lifecycle("Building DesertWell ${version} by William278") version rootProject.version archivesBaseName = "${rootProject.name}" jar.dependsOn shadowJar clean.delete "$rootDir/target" javadoc { options.encoding = 'UTF-8' options.addStringOption('Xdoclint:none', '-quiet') } java { withSourcesJar() withJavadocJar() } test { useJUnitPlatform() } publishing { repositories { maven { name = 'husk-release' url = findProperty("repository.huskrelease.url") credentials { username = findProperty("repository.huskrelease.username") password = findProperty("repository.huskrelease.password") } } } publications { mavenJava(MavenPublication) { groupId = 'org.inksnow.husk' artifactId = 'desertwell' version = "$rootProject.version" artifact shadowJar artifact javadocJar artifact sourcesJar } } } @SuppressWarnings('GrMethodMayBeStatic') def versionMetadata() { if (grgit == null) { return '-' + System.getenv("GITHUB_RUN_NUMBER") ? 'build.' + System.getenv("GITHUB_RUN_NUMBER") : 'unknown' } // Get if there is a tag for this commit def tag = grgit.tag.list().find { it.commit.id == grgit.head().id } if (tag != null) { return '' } // Otherwise, get the last commit hash and if it's a clean head return '-' + grgit.head().abbreviatedId + (grgit.status().clean ? '' : '-indev') }