Files
hamster-core/build.gradle
2022-10-29 04:10:09 +08:00

85 lines
2.3 KiB
Groovy

plugins {
id 'java'
}
group 'cn.hamster3.mc.plugin.core'
version '1.0.0-SNAPSHOT'
subprojects {
apply plugin: 'java-library'
apply plugin: 'maven-publish'
group = rootProject.group
version = rootProject.version
repositories {
maven {
url = "https://maven.airgame.net/maven-public/"
}
}
configurations {
shade
api.extendsFrom apiShade
implementation.extendsFrom implementationShade
}
dependencies {
// https://mvnrepository.com/artifact/org.jetbrains/annotations
compileOnly 'org.jetbrains:annotations:23.0.0'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
withJavadocJar()
withSourcesJar()
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs << "-Xlint:unchecked"
}
tasks.withType(Jar) {
from([rootProject.file("LICENSE")])
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
}
javadoc {
options.quiet()
options.encoding = 'utf8'
options.jFlags("-Dfile.encoding=utf8")
options.links = [
"https://javadoc.io/doc/org.jetbrains/annotations/23.0.0",
'https://javadoc.io/doc/com.google.code.gson/gson/2.8.0',
'http://milkbowl.github.io/VaultAPI',
'https://bukkit.windit.net/javadoc'
]
}
publishing {
publications {
mavenJava(MavenPublication) {
var projectNameSplit = project.name.split('-')
artifactId = projectNameSplit[projectNameSplit.length - 1]
artifact jar
artifact sourcesJar
artifact javadocJar
}
}
repositories {
maven {
def releasesRepoUrl = 'https://maven.airgame.net/maven-releases/'
def snapshotsRepoUrl = 'https://maven.airgame.net/maven-snapshots/'
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
username rootProject.properties.getOrDefault("maven_username", "")
password rootProject.properties.getOrDefault("maven_password", "")
}
}
}
}
}