diff --git a/allure-scalatest/build.gradle.kts b/allure-scalatest/build.gradle.kts index 2aa0f8d31..aae6abbc4 100644 --- a/allure-scalatest/build.gradle.kts +++ b/allure-scalatest/build.gradle.kts @@ -1,85 +1,90 @@ -import org.gradle.jvm.tasks.Jar - description = "Allure ScalaTest Integration" -apply(plugin = "scala") - -val availableScalaVersions = listOf("2.12", "2.13") -val defaultScala212Version = "2.12.19" -val defaultScala213Version = "2.13.14" - -var selectedScalaVersion = defaultScala213Version - -if (hasProperty("scalaVersion")) { - val scalaVersion: String by project - selectedScalaVersion = when (scalaVersion) { - "2.12" -> defaultScala212Version - "2.13" -> defaultScala213Version - else -> scalaVersion - } +plugins { + scala + id("com.github.prokod.gradle-crossbuild") version "0.16.0" } -val baseScalaVersion = selectedScalaVersion.substring(0, selectedScalaVersion.lastIndexOf(".")) -project.base.archivesName.set("allure-scalatest_$baseScalaVersion") - -for (sv in availableScalaVersions) { - val taskSuffix = sv.replace('.', '_') - - tasks.create("jarScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("jar") - } - - tasks.create("testScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("test") - } - - tasks.create("sourceJarScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("sourceJar") - } +val scala212 = "2.12" +val scala213 = "2.13" - tasks.create("scaladocJarScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("scaladocJar") - } +project.base.archivesName.set("allure-scalatest") - tasks.create("installScala_$taskSuffix", GradleBuild::class) { - startParameter = project.gradle.startParameter.newInstance() - startParameter.projectProperties["scalaVersion"] = sv - tasks = listOf("install") +crossBuild { + scalaVersionsCatalog = mapOf( + scala212 to "2.12.19", + scala213 to "2.13.14" + ) + builds { + register("scala") { + scalaVersions = setOf(scala212, scala213) + } } } -val jarAll by tasks.creating { - dependsOn(availableScalaVersions.map { "jarScala_${it.replace('.', '_')}" }) +tasks.publishMavenPublicationToMavenLocal { + enabled = false } - -val testAll by tasks.creating { - dependsOn(availableScalaVersions.map { "testScala_${it.replace('.', '_')}" }) +tasks.publishMavenPublicationToSonatypeRepository { + enabled = false } - -val sourceJarAll by tasks.creating { - dependsOn(availableScalaVersions.map { "sourceJarScala_${it.replace('.', '_')}" }) +tasks.signMavenPublication { + enabled = false +} +tasks.sourcesJar { + enabled = false } -val scaladocJarAll by tasks.creating { - dependsOn(availableScalaVersions.map { "scaladocJarScala_${it.replace('.', '_')}" }) +publishing { + publications { + create("crossBuildScala_212") { + from(components["crossBuildScala_212"]) + + val crossBuildScala_212SourcesJar by tasks.creating(Jar::class) { + from(sourceSets["crossBuildScala_212"].allSource) + archiveBaseName.set("allure-scalatest_$scala212") + archiveClassifier.set("sources") + } + artifact(crossBuildScala_212SourcesJar) + + val crossBuildScala_212ScaladocJar by tasks.creating(Jar::class) { + from(tasks.scaladoc) + archiveBaseName.set("allure-scalatest_$scala212") + archiveClassifier.set("javadoc") + } + artifact(crossBuildScala_212ScaladocJar) + } + create("crossBuildScala_213") { + from(components["crossBuildScala_213"]) + + val crossBuildScala_213SourcesJar by tasks.creating(Jar::class) { + from(sourceSets["crossBuildScala_213"].allSource) + archiveBaseName.set("allure-scalatest_$scala213") + archiveClassifier.set("sources") + } + artifact(crossBuildScala_213SourcesJar) + + val crossBuildScala_213ScaladocJar by tasks.creating(Jar::class) { + from(tasks.scaladoc) + archiveBaseName.set("allure-scalatest_$scala213") + archiveClassifier.set("javadoc") + } + artifact(crossBuildScala_213ScaladocJar) + } + } } -val installAll by tasks.creating { - dependsOn(availableScalaVersions.map { "installScala_${it.replace('.', '_')}" }) +signing { + sign( + publishing.publications["crossBuildScala_212"], + publishing.publications["crossBuildScala_213"] + ) } dependencies { api(project(":allure-java-commons")) - implementation("org.scalatest:scalatest_$baseScalaVersion:3.2.19") - implementation("org.scala-lang.modules:scala-collection-compat_$baseScalaVersion:2.12.0") + implementation("org.scalatest:scalatest_$scala213:3.2.19") + implementation("org.scala-lang.modules:scala-collection-compat_$scala213:2.12.0") testAnnotationProcessor(project(":allure-descriptions-javadoc")) testImplementation("io.github.glytching:junit-extensions") testImplementation("org.assertj:assertj-core") @@ -92,18 +97,13 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") } -val scaladocJar by tasks.creating(Jar::class) { - from(tasks.getByName("scaladoc")) - archiveClassifier.set("scaladoc") -} - -artifacts.add("archives", scaladocJar) - tasks.jar { manifest { - attributes(mapOf( + attributes( + mapOf( "Automatic-Module-Name" to "io.qameta.allure.scalatest" - )) + ) + ) } } diff --git a/build.gradle.kts b/build.gradle.kts index d4b5d1fd9..ce3370c87 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,13 +56,7 @@ configure(subprojects) { publishing { publications { - create("maven") { - suppressAllPomMetadataWarnings() - versionMapping { - allVariants { - fromResolutionResult() - } - } + withType().configureEach { pom { name.set(project.name) description.set("Module ${project.name} of Allure Framework.") @@ -106,6 +100,14 @@ configure(subprojects) { } } } + create("maven") { + suppressAllPomMetadataWarnings() + versionMapping { + allVariants { + fromResolutionResult() + } + } + } } } @@ -159,12 +161,12 @@ configure(libs) { dependency("io.github.glytching:junit-extensions:2.6.0") dependency("javax.annotation:javax.annotation-api:1.3.2") dependency("net.sourceforge.pmd:pmd-java:7.3.0") - dependency("org.apache.commons:commons-lang3:3.14.0") + dependency("org.apache.commons:commons-lang3:3.15.0") dependency("org.apache.httpcomponents:httpclient:4.5.14") dependency("org.apache.httpcomponents.client5:httpclient5:5.3.1") dependency("org.aspectj:aspectjrt:${assertJVersion}") dependency("org.aspectj:aspectjweaver:${assertJVersion}") - dependency("org.assertj:assertj-core:3.26.0") + dependency("org.assertj:assertj-core:3.26.3") dependency("org.freemarker:freemarker:2.3.33") dependency("org.grpcmock:grpcmock-junit5:0.8.0") dependency("org.hamcrest:hamcrest:2.2") diff --git a/gradle.properties b/gradle.properties index ff0fe585e..23a27d98f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=2.28.0 +version=2.28.1 org.gradle.daemon=true org.gradle.parallel=true diff --git a/gradle/quality-configs/spotbugs/exclude.xml b/gradle/quality-configs/spotbugs/exclude.xml index 0b8a2de89..f942c310b 100644 --- a/gradle/quality-configs/spotbugs/exclude.xml +++ b/gradle/quality-configs/spotbugs/exclude.xml @@ -6,6 +6,9 @@ + + + diff --git a/settings.gradle.kts b/settings.gradle.kts index 4bc95c3d9..063c8ebcc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -57,7 +57,7 @@ pluginManagement { id("io.qameta.allure-report") version "2.11.2" id("io.spring.dependency-management") version "1.1.6" id("com.google.protobuf") version "0.9.4" - id("com.github.spotbugs") version "6.0.18" + id("com.github.spotbugs") version "6.0.19" kotlin("jvm") version "2.0.0" } }