1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-04-16 03:28:37 +02:00

Rework gradle, making use of toolchain feature

This commit is contained in:
Paul Schaub 2025-03-25 11:22:16 +01:00
parent a0254f47fb
commit 65113a6d82
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
3 changed files with 10 additions and 56 deletions

View file

@ -33,18 +33,6 @@ allprojects {
apply plugin: 'kotlin'
apply plugin: 'com.diffplug.spotless'
java {
targetCompatibility = JavaVersion.VERSION_1_8
}
compileJava {
options.release = 8
}
tasks.withType(JavaCompile).configureEach {
options.release = 8
}
// Only generate jar for submodules
// without this we would generate an empty pgpainless.jar for the project root
// https://stackoverflow.com/a/25445035
@ -68,8 +56,6 @@ allprojects {
description = "Simple to use OpenPGP API for Java based on Bouncycastle"
version = shortVersion
sourceCompatibility = javaSourceCompatibility
repositories {
mavenCentral()
mavenLocal()
@ -84,6 +70,10 @@ allprojects {
fileMode = 0644
}
kotlin {
jvmToolchain(javaSourceCompatibility)
}
// Compatibility of default implementations in kotlin interfaces with Java implementations.
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
@ -124,7 +114,7 @@ allprojects {
sourceDirectories.setFrom(project.files(sourceSets.main.allSource.srcDirs))
classDirectories.setFrom(project.files(sourceSets.main.output))
reports {
xml.enabled true
xml.required = true
}
}
@ -142,15 +132,15 @@ subprojects {
apply plugin: 'signing'
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
archiveClassifier = 'javadoc'
from javadoc.destinationDir
}
task testsJar(type: Jar, dependsOn: testClasses) {
classifier = 'tests'
archiveClassifier = 'tests'
from sourceSets.test.output
}
@ -247,7 +237,7 @@ task jacocoRootReport(type: JacocoReport) {
classDirectories.setFrom(files(subprojects.sourceSets.main.output))
executionData.setFrom(files(subprojects.jacocoTestReport.executionData))
reports {
xml.enabled true
xml.required = true
xml.destination file("${buildDir}/reports/jacoco/test/jacocoTestReport.xml")
}
// We could remove the following setOnlyIf line, but then
@ -258,10 +248,6 @@ task jacocoRootReport(type: JacocoReport) {
}
task javadocAll(type: Javadoc) {
def currentJavaVersion = JavaVersion.current()
if (currentJavaVersion.compareTo(JavaVersion.VERSION_1_9) >= 0) {
options.addStringOption("-release", "8");
}
source subprojects.collect {project ->
project.sourceSets.main.allJava }
destinationDir = new File(buildDir, 'javadoc')
@ -275,18 +261,6 @@ task javadocAll(type: Javadoc) {
] as String[]
}
if (JavaVersion.current().isJava8Compatible()) {
tasks.withType(Javadoc) {
// The '-quiet' as second argument is actually a hack,
// since the one paramater addStringOption doesn't seem to
// work, we extra add '-quiet', which is added anyway by
// gradle. See https://github.com/gradle/gradle/issues/2354
// See JDK-8200363 (https://bugs.openjdk.java.net/browse/JDK-8200363)
// for information about the -Xwerror option.
// options.addStringOption('Xwerror', '-quiet')
}
}
/**
* Fetch sha256 checksums of artifacts published to maven central.
*

View file

@ -4,7 +4,6 @@
plugins {
id 'application'
id "com.github.johnrengelman.shadow" version "6.1.0"
}
dependencies {
@ -31,22 +30,6 @@ mainClassName = 'org.pgpainless.cli.PGPainlessCLI'
application {
mainClass = mainClassName
}
/**
jar {
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
manifest {
attributes 'Main-Class': "$mainClassName"
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
} {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
}
*/
run {
// https://stackoverflow.com/questions/59445306/pipe-into-gradle-run
@ -56,5 +39,3 @@ run {
args Eval.me(appArgs)
}
}
// tasks."jar".dependsOn(":pgpainless-core:assemble", ":pgpainless-sop:assemble")

View file

@ -6,8 +6,7 @@ allprojects {
ext {
shortVersion = '1.7.5'
isSnapshot = true
pgpainlessMinAndroidSdk = 10
javaSourceCompatibility = 1.8
javaSourceCompatibility = 11
bouncyCastleVersion = '1.80'
bouncyPgVersion = bouncyCastleVersion
junitVersion = '5.8.2'