86 lines
2.3 KiB
Groovy
86 lines
2.3 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'maven-publish'
|
|
id 'com.github.johnrengelman.shadow' version '8.1.1'
|
|
}
|
|
group = api_project_group
|
|
version = project_version
|
|
base {
|
|
archivesName.set("${project_name}-${api_suffix}")
|
|
}
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(17)
|
|
}
|
|
}
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDirs = ['src/main/java']
|
|
}
|
|
resources {
|
|
srcDirs = ['src/main/resources']
|
|
}
|
|
}
|
|
test {
|
|
java {
|
|
srcDirs = ['src/test/java']
|
|
}
|
|
resources {
|
|
srcDirs = ['src/test/resources']
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.apache.logging.log4j:log4j-core:2.23.1'
|
|
implementation 'org.apache.logging.log4j:log4j-api:2.23.1'
|
|
implementation 'org.apache.logging.log4j:log4j-slf4j2-impl:2.23.1'
|
|
implementation group: 'org.realityforge.org.jetbrains.annotations', name: 'org.jetbrains.annotations', version: '1.7.0'
|
|
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.17.0'
|
|
implementation group: 'com.google.guava', name: 'guava', version: '33.3.0-jre'
|
|
implementation group: 'io.netty', name: 'netty-all', version: '4.1.109.Final'
|
|
implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1'
|
|
testImplementation platform('org.junit:junit-bom:5.10.0')
|
|
testImplementation 'org.junit.jupiter:junit-jupiter'
|
|
implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.16'
|
|
}
|
|
tasks.register('sourcesJar', Jar) {
|
|
archiveClassifier.set('sources')
|
|
from sourceSets.main.allSource
|
|
}
|
|
|
|
tasks.register('javadocJar', Jar) {
|
|
dependsOn(tasks.named("javadoc"))
|
|
archiveClassifier.set('javadoc')
|
|
from(tasks.named("javadoc").get().destinationDir)
|
|
}
|
|
// 自定义 jar 输出名称
|
|
tasks.jar {
|
|
archiveVersion.set(project.version.toString())
|
|
archiveClassifier.set("")
|
|
}
|
|
|
|
tasks.named('sourcesJar', Jar) {
|
|
archiveClassifier.set('sources')
|
|
}
|
|
|
|
tasks.named('javadocJar', Jar) {
|
|
archiveVersion.set(project.version.toString())
|
|
archiveClassifier.set('javadoc')
|
|
}
|
|
|
|
javadoc {
|
|
options.encoding = 'UTF-8'
|
|
options.charSet = 'UTF-8'
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
from components.java
|
|
artifact(tasks.named("sourcesJar"))
|
|
artifact(tasks.named("javadocJar"))
|
|
}
|
|
}
|
|
} |