Skip to content

Commit 5ac5aa4

Browse files
authored
Merge branch 'junit-team:main' into file_source_reuse
2 parents eb68f54 + 88dc121 commit 5ac5aa4

File tree

7 files changed

+26
-6
lines changed

7 files changed

+26
-6
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ asciidoctor-plugins = "4.0.5" # Check if workaround in documentation.gradle.kts
66
assertj = "3.27.4"
77
bnd = "7.1.0"
88
checkstyle = "11.0.1"
9-
eclipse = "4.36.0"
9+
eclipse = "4.37.0"
1010
jackson = "2.20.0"
1111
jacoco = "0.8.13"
1212
jmh = "1.37"

gradle/plugins/japicmp/src/main/kotlin/junitbuild.japicmp.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ plugins {
1414
}
1515

1616
val extension = extensions.create<JApiCmpExtension>("japicmp").apply {
17+
enabled.convention(true)
1718
acceptedIncompatibilities.apply {
1819
val acceptedBreakingChangesFile = rootProject.layout.projectDirectory.file("gradle/config/japicmp/accepted-breaking-changes.txt")
1920
if (acceptedBreakingChangesFile.asFile.exists()) {
@@ -32,6 +33,7 @@ val extension = extensions.create<JApiCmpExtension>("japicmp").apply {
3233
}
3334

3435
val downloadPreviousReleaseJar by tasks.registering(Download::class) {
36+
onlyIf { extension.enabled.get() }
3537
val previousVersion = extension.previousVersion.get()
3638
src("https://repo1.maven.org/maven2/${project.group.toString().replace(".", "/")}/${project.name}/$previousVersion/${project.name}-$previousVersion.jar")
3739
dest(layout.buildDirectory.dir("japicmp"))
@@ -40,6 +42,7 @@ val downloadPreviousReleaseJar by tasks.registering(Download::class) {
4042
}
4143

4244
val checkBackwardCompatibility by tasks.registering(JapicmpTask::class) {
45+
onlyIf { extension.enabled.get() }
4346
oldClasspath.from(downloadPreviousReleaseJar.map { it.outputFiles })
4447
newClasspath.from(tasks.jar)
4548
onlyModified = true

gradle/plugins/japicmp/src/main/kotlin/junitbuild/japicmp/JApiCmpExtension.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import org.gradle.api.provider.SetProperty
55

66
abstract class JApiCmpExtension {
77

8+
abstract val enabled: Property<Boolean>
9+
810
abstract val previousVersion: Property<String>
911

1012
abstract val acceptedIncompatibilities: SetProperty<String>

gradle/plugins/japicmp/src/main/kotlin/junitbuild/japicmp/UnacceptedIncompatibilityRule.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package junitbuild.japicmp
22

3+
import japicmp.model.JApiBehavior
34
import japicmp.model.JApiClass
45
import japicmp.model.JApiCompatibility
6+
import japicmp.model.JApiField
57
import japicmp.model.JApiImplementedInterface
68
import me.champeau.gradle.japicmp.report.Violation
79
import me.champeau.gradle.japicmp.report.stdrules.AbstractRecordingSeenMembers
@@ -20,10 +22,22 @@ class UnacceptedIncompatibilityRule(params: Map<String, String>): AbstractRecord
2022
// The changes about the interface's methods will be reported already
2123
return null
2224
}
25+
if (isInNewClass(element)) {
26+
return null
27+
}
2328
return if (!element.isBinaryCompatible) {
2429
Violation.notBinaryCompatible(element, severitySource.determineSeverity(element))
2530
} else if (!element.isSourceCompatible) {
2631
Violation.any(element, severitySource.determineSeverity(element), "Is not source compatible")
2732
} else null
2833
}
34+
35+
private fun isInNewClass(element: JApiCompatibility): Boolean {
36+
return when (element) {
37+
is JApiClass -> element.oldClass.isEmpty
38+
is JApiBehavior -> isInNewClass(element.getjApiClass())
39+
is JApiField -> isInNewClass(element.getjApiClass())
40+
else -> false
41+
}
42+
}
2943
}

junit-jupiter/junit-jupiter.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ dependencies {
1515
osgiVerification(projects.junitPlatformLauncher)
1616
}
1717

18-
tasks.checkBackwardCompatibility {
18+
japicmp {
1919
enabled = false // already checked by individual projects
2020
}

junit-platform-console-standalone/junit-platform-console-standalone.gradle.kts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,17 @@ dependencies {
2222
osgiVerification(libs.openTestReporting.tooling.spi)
2323
}
2424

25+
japicmp {
26+
enabled = false // already checked by individual projects
27+
}
28+
2529
tasks {
2630
jar {
2731
manifest {
2832
attributes("Automatic-Module-Name" to "org.junit.platform.console.standalone")
2933
attributes("Main-Class" to "org.junit.platform.console.ConsoleLauncher")
3034
}
3135
}
32-
checkBackwardCompatibility {
33-
enabled = false // already checked by individual projects
34-
}
3536
val shadowedArtifactsFile by registering(WriteArtifactsFile::class) {
3637
from(configurations.shadowedClasspath)
3738
outputFile = layout.buildDirectory.file("shadowed-artifacts")

platform-tooling-support-tests/platform-tooling-support-tests.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ val test by testing.suites.getting(JvmTestSuite::class) {
244244
preferredMaxDuration = Duration.ofMillis(500)
245245
}
246246
}
247-
jvmArgumentProviders += JavaHomeDir(project, 17, develocity.testDistribution.enabled)
247+
248248
jvmArgumentProviders += JavaHomeDir(project, 17, develocity.testDistribution.enabled)
249249

250250
val gradleJavaVersion = 21

0 commit comments

Comments
 (0)