@@ -2,84 +2,78 @@ import org.gradle.jvm.tasks.Jar
22
33description = " Allure ScalaTest Integration"
44
5- apply (plugin = " scala" )
5+ plugins {
6+ scala
7+ id(" com.github.prokod.gradle-crossbuild" ) version " 0.16.0"
8+ }
69
7- val availableScalaVersions = listOf (" 2.12" , " 2.13" )
8- val defaultScala212Version = " 2.12.19"
9- val defaultScala213Version = " 2.13.14"
10+ val scala212 = " 2.12"
11+ val scala213 = " 2.13"
1012
11- var selectedScalaVersion = defaultScala213Version
13+ project.base.archivesName.set( " allure-scalatest " )
1214
13- if (hasProperty(" scalaVersion" )) {
14- val scalaVersion: String by project
15- selectedScalaVersion = when (scalaVersion) {
16- " 2.12" -> defaultScala212Version
17- " 2.13" -> defaultScala213Version
18- else -> scalaVersion
15+ crossBuild {
16+ scalaVersionsCatalog = mapOf (
17+ scala212 to " 2.12.19" ,
18+ scala213 to " 2.13.14"
19+ )
20+ builds {
21+ register(" scala" ) {
22+ scalaVersions = setOf (scala212, scala213)
23+ }
1924 }
2025}
2126
22- val baseScalaVersion = selectedScalaVersion.substring(0 , selectedScalaVersion.lastIndexOf(" ." ))
23- project.base.archivesName.set(" allure-scalatest_$baseScalaVersion " )
24-
25- for (sv in availableScalaVersions) {
26- val taskSuffix = sv.replace(' .' , ' _' )
27+ val crossBuildScala_212Jar by tasks.getting
28+ val crossBuildScala_213Jar by tasks.getting
2729
28- tasks.create(" jarScala_$taskSuffix " , GradleBuild ::class ) {
29- startParameter = project.gradle.startParameter.newInstance()
30- startParameter.projectProperties[" scalaVersion" ] = sv
31- tasks = listOf (" jar" )
32- }
30+ val scaladocJar by tasks.creating(Jar ::class ) {
31+ from(tasks.getByName(" scaladoc" ))
32+ archiveClassifier.set(" scaladoc" )
33+ }
3334
34- tasks.create(" testScala_$taskSuffix " , GradleBuild ::class ) {
35- startParameter = project.gradle.startParameter.newInstance()
36- startParameter.projectProperties[" scalaVersion" ] = sv
37- tasks = listOf (" test" )
35+ tasks.withType<PublishToMavenLocal >().configureEach {
36+ val predicate = provider {
37+ publication != publishing.publications[" maven" ]
3838 }
39-
40- tasks.create(" sourceJarScala_$taskSuffix " , GradleBuild ::class ) {
41- startParameter = project.gradle.startParameter.newInstance()
42- startParameter.projectProperties[" scalaVersion" ] = sv
43- tasks = listOf (" sourceJar" )
39+ onlyIf(" disable default maven publication" ) {
40+ predicate.get()
4441 }
42+ }
4543
46- tasks.create(" scaladocJarScala_$taskSuffix " , GradleBuild ::class ) {
47- startParameter = project.gradle.startParameter.newInstance()
48- startParameter.projectProperties[" scalaVersion" ] = sv
49- tasks = listOf (" scaladocJar" )
44+ tasks.withType<PublishToMavenRepository >().configureEach {
45+ val predicate = provider {
46+ publication != publishing.publications[" maven" ]
5047 }
51-
52- tasks.create(" installScala_$taskSuffix " , GradleBuild ::class ) {
53- startParameter = project.gradle.startParameter.newInstance()
54- startParameter.projectProperties[" scalaVersion" ] = sv
55- tasks = listOf (" install" )
48+ onlyIf(" disable default maven publication" ) {
49+ predicate.get()
5650 }
5751}
5852
59- val jarAll by tasks.creating {
60- dependsOn(availableScalaVersions.map { " jarScala_${it.replace(' .' , ' _' )} " })
61- }
62-
63- val testAll by tasks.creating {
64- dependsOn(availableScalaVersions.map { " testScala_${it.replace(' .' , ' _' )} " })
65- }
66-
67- val sourceJarAll by tasks.creating {
68- dependsOn(availableScalaVersions.map { " sourceJarScala_${it.replace(' .' , ' _' )} " })
69- }
70-
71- val scaladocJarAll by tasks.creating {
72- dependsOn(availableScalaVersions.map { " scaladocJarScala_${it.replace(' .' , ' _' )} " })
53+ publishing {
54+ publications {
55+ create<MavenPublication >(" crossBuildScala_212" ) {
56+ from(components[" crossBuildScala_212" ])
57+ artifact(scaladocJar)
58+ artifact(tasks.sourcesJar)
59+ }
60+ create<MavenPublication >(" crossBuildScala_213" ) {
61+ from(components[" crossBuildScala_213" ])
62+ artifact(scaladocJar)
63+ artifact(tasks.sourcesJar)
64+ }
65+ }
7366}
7467
75- val installAll by tasks.creating {
76- dependsOn(availableScalaVersions.map { " installScala_${it.replace(' .' , ' _' )} " })
68+ signing {
69+ sign(publishing.publications[" crossBuildScala_212" ])
70+ sign(publishing.publications[" crossBuildScala_213" ])
7771}
7872
7973dependencies {
8074 api(project(" :allure-java-commons" ))
81- implementation(" org.scalatest:scalatest_$baseScalaVersion :3.2.19" )
82- implementation(" org.scala-lang.modules:scala-collection-compat_$baseScalaVersion :2.12.0" )
75+ implementation(" org.scalatest:scalatest_$scala213 :3.2.19" )
76+ implementation(" org.scala-lang.modules:scala-collection-compat_$scala213 :2.12.0" )
8377 testAnnotationProcessor(project(" :allure-descriptions-javadoc" ))
8478 testImplementation(" io.github.glytching:junit-extensions" )
8579 testImplementation(" org.assertj:assertj-core" )
@@ -92,13 +86,6 @@ dependencies {
9286 testRuntimeOnly(" org.junit.jupiter:junit-jupiter-engine" )
9387}
9488
95- val scaladocJar by tasks.creating(Jar ::class ) {
96- from(tasks.getByName(" scaladoc" ))
97- archiveClassifier.set(" scaladoc" )
98- }
99-
100- artifacts.add(" archives" , scaladocJar)
101-
10289tasks.jar {
10390 manifest {
10491 attributes(mapOf (
0 commit comments