102 lines
2.8 KiB
Groovy
102 lines
2.8 KiB
Groovy
plugins {
|
|
id 'maven-publish'
|
|
id 'net.woggioni.gradle.multi-release-jar'
|
|
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')
|
|
}
|
|
}
|
|
|
|
ext {
|
|
setProperty('jpms.module.name', 'net.woggioni.jwo')
|
|
}
|
|
|
|
|
|
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')
|
|
}
|
|
|
|
java {
|
|
withJavadocJar()
|
|
withSourcesJar()
|
|
}
|
|
|
|
compileJava {
|
|
options.release = 8
|
|
options.compilerArgs << '-parameters'
|
|
}
|
|
|
|
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"])
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|