@@ -2,84 +2,78 @@ import org.gradle.jvm.tasks.Jar
2
2
3
3
description = " Allure ScalaTest Integration"
4
4
5
- apply (plugin = " scala" )
5
+ plugins {
6
+ scala
7
+ id(" com.github.prokod.gradle-crossbuild" ) version " 0.16.0"
8
+ }
6
9
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"
10
12
11
- var selectedScalaVersion = defaultScala213Version
13
+ project.base.archivesName.set( " allure-scalatest " )
12
14
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
+ }
19
24
}
20
25
}
21
26
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
27
29
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
+ }
33
34
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" ]
38
38
}
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()
44
41
}
42
+ }
45
43
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" ]
50
47
}
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()
56
50
}
57
51
}
58
52
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
+ }
73
66
}
74
67
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" ])
77
71
}
78
72
79
73
dependencies {
80
74
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" )
83
77
testAnnotationProcessor(project(" :allure-descriptions-javadoc" ))
84
78
testImplementation(" io.github.glytching:junit-extensions" )
85
79
testImplementation(" org.assertj:assertj-core" )
@@ -92,13 +86,6 @@ dependencies {
92
86
testRuntimeOnly(" org.junit.jupiter:junit-jupiter-engine" )
93
87
}
94
88
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
-
102
89
tasks.jar {
103
90
manifest {
104
91
attributes(mapOf (
0 commit comments