|
|
|
plugins {
|
|
|
|
id 'org.cadixdev.licenser' version '0.6.1'
|
|
|
|
id 'org.ajoberstar.grgit' version '5.2.1'
|
|
|
|
id 'maven-publish'
|
|
|
|
id 'java'
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
group 'net.william278'
|
|
|
|
version "1.1.2${versionMetadata()}"
|
|
|
|
defaultTasks 'licenseFormat', 'build'
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
maven { url 'https://repo.william278.net/releases/' }
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compileOnly 'net.william278:minedown:1.8.2'
|
|
|
|
compileOnly 'org.jetbrains:annotations:24.1.0'
|
|
|
|
|
|
|
|
testImplementation 'net.william278:minedown:1.8.2'
|
|
|
|
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'
|
|
|
|
}
|
|
|
|
|
|
|
|
logger.lifecycle("Building PagineDown ${version} by William278")
|
|
|
|
version rootProject.version
|
|
|
|
archivesBaseName = "${rootProject.name}"
|
|
|
|
|
|
|
|
tasks {
|
|
|
|
compileJava {
|
|
|
|
options.encoding = 'UTF-8'
|
|
|
|
options.release.set(11)
|
|
|
|
}
|
|
|
|
jar {
|
|
|
|
manifest {
|
|
|
|
attributes('Automatic-Module-Name': 'net.william278.paginedown')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
license {
|
|
|
|
header = rootProject.file('HEADER')
|
|
|
|
include '**/*.java'
|
|
|
|
newLine = true
|
|
|
|
}
|
|
|
|
|
|
|
|
javadoc {
|
|
|
|
options.encoding = 'UTF-8'
|
|
|
|
options.addStringOption('Xdoclint:none', '-quiet')
|
|
|
|
}
|
|
|
|
|
|
|
|
java {
|
|
|
|
withSourcesJar()
|
|
|
|
withJavadocJar()
|
|
|
|
}
|
|
|
|
|
|
|
|
jar.dependsOn(sourcesJar)
|
|
|
|
jar.dependsOn(javadocJar)
|
|
|
|
|
|
|
|
test {
|
|
|
|
useJUnitPlatform()
|
|
|
|
}
|
|
|
|
|
|
|
|
publishing {
|
|
|
|
repositories {
|
|
|
|
if (System.getenv("RELEASES_MAVEN_USERNAME") != null) {
|
|
|
|
maven {
|
|
|
|
name = "william278-releases"
|
|
|
|
url = "https://repo.william278.net/releases"
|
|
|
|
credentials {
|
|
|
|
username = System.getenv("RELEASES_MAVEN_USERNAME")
|
|
|
|
password = System.getenv("RELEASES_MAVEN_PASSWORD")
|
|
|
|
}
|
|
|
|
authentication {
|
|
|
|
basic(BasicAuthentication)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (System.getenv("SNAPSHOTS_MAVEN_USERNAME") != null) {
|
|
|
|
maven {
|
|
|
|
name = "william278-snapshots"
|
|
|
|
url = "https://repo.william278.net/snapshots"
|
|
|
|
credentials {
|
|
|
|
username = System.getenv("SNAPSHOTS_MAVEN_USERNAME")
|
|
|
|
password = System.getenv("SNAPSHOTS_MAVEN_PASSWORD")
|
|
|
|
}
|
|
|
|
authentication {
|
|
|
|
basic(BasicAuthentication)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
publications {
|
|
|
|
mavenJava(MavenPublication) {
|
|
|
|
groupId = 'net.william278'
|
|
|
|
artifactId = 'paginedown'
|
|
|
|
version = "$rootProject.version"
|
|
|
|
artifact jar
|
|
|
|
artifact javadocJar
|
|
|
|
artifact sourcesJar
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@SuppressWarnings('GrMethodMayBeStatic')
|
|
|
|
def versionMetadata() {
|
|
|
|
// 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
|
|
|
|
if (grgit == null) {
|
|
|
|
return '-' + System.getenv("GITHUB_RUN_NUMBER") ? 'build.' + System.getenv("GITHUB_RUN_NUMBER") : 'unknown'
|
|
|
|
}
|
|
|
|
return '-' + grgit.head().abbreviatedId + (grgit.status().clean ? '' : '-indev')
|
|
|
|
}
|