Files
jwo/build.gradle

98 lines
2.7 KiB
Groovy

plugins {
id 'maven-publish'
id 'net.woggioni.gradle.lombok' apply false
}
allprojects {
apply plugin: 'java-library'
apply plugin: 'net.woggioni.gradle.lombok'
group = "net.woggioni"
version = getProperty('jwo.version')
repositories {
maven {
url = 'https://woggioni.net/mvn/'
}
mavenCentral()
}
dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: getProperty('junitJupiter.version')
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: getProperty('junitJupiter.version')
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: getProperty('junitJupiter.version')
}
lombok {
version = getProperty('lombok.version')
}
}
configurations {
pathClassloaderTest
}
dependencies {
implementation group: "org.slf4j", name: "slf4j-api", version: getProperty('slf4j.version')
pathClassloaderTest group: 'com.google.inject', name: 'guice', version: getProperty('guice.version')
}
compileJava {
options.release = 8
}
jar {
manifest{
attributes([
"Automatic-Module-Name": "net.woggioni.jwo"
])
}
}
TaskProvider<Zip> pathClassLoaderTestBundleTask = tasks.register("pathClassLoaderTestBundle", Zip) {
from(configurations.pathClassloaderTest)
archiveBaseName = "pathClassLoaderTestBundle"
}
test {
inputs.files(pathClassLoaderTestBundleTask)
useJUnitPlatform()
Dependency junitJupiterEngineDependency =
dependencies.create(
group: 'org.junit.jupiter',
name: 'junit-jupiter-engine',
version: project.getProperty('junitJupiter.version')
)
File junitJupiterEngineJar = configurations.getByName(JavaPlugin.TEST_RUNTIME_CLASSPATH_CONFIGURATION_NAME)
.resolvedConfiguration.resolvedArtifacts.grep { ResolvedArtifact resolvedArtifact ->
ModuleVersionIdentifier id = resolvedArtifact.moduleVersion.id
id.group == 'org.junit.jupiter' && id.name == 'junit-jupiter-engine'
}.collect {
ResolvedArtifact resolvedArtifact -> resolvedArtifact.file
}.first()
systemProperties([
'junit.jupiter.engine.jar' : junitJupiterEngineJar.toString(),
'path.classloader.test.bundle' : pathClassLoaderTestBundleTask.get().outputs.files.singleFile
])
}
wrapper {
distributionType = Wrapper.DistributionType.BIN
gradleVersion = getProperty('gradle.version')
}
publishing {
repositories {
maven {
url = 'https://mvn.woggioni.net/'
}
}
publications {
maven(MavenPublication) {
from(components["java"])
}
}
}