Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions agent/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ val jacocoVersion = libs.versions.jacoco.get()
val outputVersion = "$appVersion-jacoco-$jacocoVersion"

dependencies {
implementation(platform(libs.jetty.bom))
implementation(libs.jetty.server)
implementation(libs.jetty.servlet)

implementation(platform(libs.jersey.bom))
implementation(libs.jersey.server)
implementation(libs.jersey.containerServletCore)
implementation(libs.jersey.containerJettyHttp)
Expand Down
41 changes: 21 additions & 20 deletions buildSrc/src/main/kotlin/com.teamscale.java-convention.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
import org.gradle.api.tasks.testing.logging.TestExceptionFormat

plugins {
java
java
}

group = "com.teamscale"

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}

tasks.compileJava {
options.release = 8
options.compilerArgs.add("-Xlint:-options")
options.release = 8
options.compilerArgs.add("-Xlint:-options")
}

tasks.compileTestJava {
options.release = 21
options.release = 21
}

tasks.test {
useJUnitPlatform {
excludeEngines("teamscale-test-impacted")
}
testLogging.exceptionFormat = TestExceptionFormat.FULL
useJUnitPlatform {
excludeEngines("teamscale-test-impacted")
}
testLogging.exceptionFormat = TestExceptionFormat.FULL
}

// Workaround until https://github.com/gradle/gradle/issues/15383 is fixed
Expand All @@ -34,16 +34,17 @@ val libs = catalogs.named("libs")
fun lib(alias: String) = libs.findLibrary(alias).get()

dependencies {
testImplementation(platform(lib("junit-bom")))
testImplementation(lib("junit-jupiter"))
testImplementation(lib("assertj"))
testImplementation(lib("mockito-core"))
testImplementation(lib("mockito-junit"))
implementation(platform(lib("jackson-bom")))
testImplementation(platform(lib("junit-bom")))
testImplementation(lib("junit-jupiter"))
testImplementation(lib("assertj"))
testImplementation(lib("mockito-core"))
testImplementation(lib("mockito-junit"))
testImplementation(lib("mockito-kotlin"))

testRuntimeOnly(lib("junit-platform-launcher"))
testRuntimeOnly(lib("junit-platform-launcher"))

constraints {
implementation("org.apache.commons:commons-compress:1.27.1")
}
constraints {
implementation("org.apache.commons:commons-compress:1.27.1")
}
}
30 changes: 13 additions & 17 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
[versions]
jetty = "9.4.57.v20241219"
jersey = "2.46"
jackson = "2.18.3"
# When upgrading JaCoCo to a newer version, make sure to
# check the comment in the OpenAnalyzer.java, JaCoCoPreMain.java and CachingInstructionsBuilder.java
# and update the internal_xxxxxx hash included in the imports in LenientCoverageTransformer.java and JaCoCoPreMain.java.
Expand All @@ -16,20 +13,19 @@ picocli = "4.7.7"
maven = "3.9.9"

[libraries]
jetty-server = { module = "org.eclipse.jetty:jetty-server", version.ref = "jetty" }
jetty-servlet = { module = "org.eclipse.jetty:jetty-servlet", version.ref = "jetty" }

jersey-server = { module = "org.glassfish.jersey.core:jersey-server", version.ref = "jersey" }
jersey-containerJettyHttp = { module = "org.glassfish.jersey.containers:jersey-container-jetty-http", version.ref = "jersey" }
jersey-containerServletCore = { module = "org.glassfish.jersey.containers:jersey-container-servlet-core", version.ref = "jersey" }
jersey-mediaJsonJackson = { module = "org.glassfish.jersey.media:jersey-media-json-jackson", version.ref = "jersey" }
jersey-hk2 = { module = "org.glassfish.jersey.inject:jersey-hk2", version.ref = "jersey" }

jackson-bom = { module = "com.fasterxml.jackson:jackson-bom", version.ref = "jackson" }
jackson-annotations = { module = "com.fasterxml.jackson.core:jackson-annotations", version.ref = "jackson" }
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" }
jackson-jakarta-xmlbindAnnotations = { module = "com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations", version.ref = "jackson" }
jackson-jakarta-rsJsonProvider = { module = "com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider", version.ref = "jackson" }
jetty-bom = { module = "org.eclipse.jetty:jetty-bom", version = "9.4.57.v20241219" }
jetty-server = { module = "org.eclipse.jetty:jetty-server" }
jetty-servlet = { module = "org.eclipse.jetty:jetty-servlet" }

jersey-bom = { module = "org.glassfish.jersey:jersey-bom", version = "2.46" }
jersey-server = { module = "org.glassfish.jersey.core:jersey-server" }
jersey-containerJettyHttp = { module = "org.glassfish.jersey.containers:jersey-container-jetty-http" }
jersey-containerServletCore = { module = "org.glassfish.jersey.containers:jersey-container-servlet-core" }
jersey-mediaJsonJackson = { module = "org.glassfish.jersey.media:jersey-media-json-jackson" }
jersey-hk2 = { module = "org.glassfish.jersey.inject:jersey-hk2" }

jackson-bom = { module = "com.fasterxml.jackson:jackson-bom", version = "2.19.0" }
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind" }

jakarta-activation-api = { module = "jakarta.activation:jakarta.activation-api", version = "1.2.2" }

Expand Down
96 changes: 48 additions & 48 deletions teamscale-gradle-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,71 +1,71 @@
plugins {
`java-gradle-plugin`
`kotlin-dsl`
com.teamscale.`java-convention`
com.teamscale.coverage
com.teamscale.publish
alias(libs.plugins.pluginPublish)
`java-gradle-plugin`
`kotlin-dsl`
com.teamscale.`java-convention`
com.teamscale.coverage
com.teamscale.publish
alias(libs.plugins.pluginPublish)
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(11))
}
toolchain {
languageVersion.set(JavaLanguageVersion.of(11))
}
}

tasks.withType<JavaCompile> {
options.release = 11
options.release = 11
}

publishAs {
readableName.set("Teamscale Gradle Plugin")
description.set("A Gradle plugin that supports collecting Testwise Coverage and uploading reports to Teamscale.")
readableName.set("Teamscale Gradle Plugin")
description.set("A Gradle plugin that supports collecting Testwise Coverage and uploading reports to Teamscale.")
}

gradlePlugin {
website.set("https://www.teamscale.com/")
vcsUrl.set("https://github.com/cqse/teamscale-jacoco-agent")
plugins {
create("teamscalePlugin") {
id = "com.teamscale"
displayName = "Teamscale Gradle plugin"
implementationClass = "com.teamscale.TeamscalePlugin"
description = "Supports collecting Testwise Coverage and uploading reports to Teamscale."
tags.set(listOf("teamscale", "coverage", "tga", "test", "gap", "junit", "upload"))
}
create("teamscaleAggregationPlugin") {
id = "com.teamscale.aggregation"
displayName = "Teamscale Gradle aggregation plugin"
implementationClass = "com.teamscale.aggregation.TeamscaleAggregationPlugin"
description = "Supports aggregating test execution and coverage data."
tags.set(listOf("teamscale", "coverage", "tga", "test", "gap", "junit", "aggregation"))
}
}
website.set("https://www.teamscale.com/")
vcsUrl.set("https://github.com/cqse/teamscale-jacoco-agent")
plugins {
create("teamscalePlugin") {
id = "com.teamscale"
displayName = "Teamscale Gradle plugin"
implementationClass = "com.teamscale.TeamscalePlugin"
description = "Supports collecting Testwise Coverage and uploading reports to Teamscale."
tags.set(listOf("teamscale", "coverage", "tga", "test", "gap", "junit", "upload"))
}
create("teamscaleAggregationPlugin") {
id = "com.teamscale.aggregation"
displayName = "Teamscale Gradle aggregation plugin"
implementationClass = "com.teamscale.aggregation.TeamscaleAggregationPlugin"
description = "Supports aggregating test execution and coverage data."
tags.set(listOf("teamscale", "coverage", "tga", "test", "gap", "junit", "aggregation"))
}
}
}

dependencies {
implementation(project(":teamscale-client"))
implementation(project(":report-generator"))
implementation(gradleApi())
implementation(libs.jgit)
implementation(libs.jackson.databind)
testImplementation(libs.okio)
testImplementation(project(":common-system-test"))
implementation(project(":teamscale-client"))
implementation(project(":report-generator"))
implementation(gradleApi())
implementation(libs.jgit)
implementation(libs.jackson.databind)
testImplementation(libs.okio)
testImplementation(project(":common-system-test"))
}

tasks.processResources {
inputs.property("version", version)
filesMatching("**/plugin.properties") {
filter {
it.replace("%PLUGIN_VERSION_TOKEN_REPLACED_DURING_BUILD%", version.toString())
}
}
inputs.property("version", version)
filesMatching("**/plugin.properties") {
filter {
it.replace("%PLUGIN_VERSION_TOKEN_REPLACED_DURING_BUILD%", version.toString())
}
}
}

tasks.test {
dependsOn(":agent:publishToMavenLocal")
dependsOn(":impacted-test-engine:publishToMavenLocal")
dependsOn(":teamscale-client:publishToMavenLocal")
dependsOn(":tia-client:publishToMavenLocal")
dependsOn(":report-generator:publishToMavenLocal")
dependsOn(":agent:publishToMavenLocal")
dependsOn(":impacted-test-engine:publishToMavenLocal")
dependsOn(":teamscale-client:publishToMavenLocal")
dependsOn(":tia-client:publishToMavenLocal")
dependsOn(":report-generator:publishToMavenLocal")
}