@@ -33,6 +33,8 @@ class SemanticVersionPluginTest {
3333 lateinit var testProjectDir: File
3434 @TempDir
3535 lateinit var mavenRepo: File
36+ @TempDir
37+ lateinit var secondMavenRepo: File
3638
3739 @ParameterizedTest(name = " {index} gradle version {0}" )
3840 @MethodSource(" gradleVersions" )
@@ -97,6 +99,70 @@ class SemanticVersionPluginTest {
9799 assertEquals(" 0.1.1" , pom.version)
98100 }
99101
102+ @ParameterizedTest(name = " {index} gradle version {0}" )
103+ @MethodSource(" gradleVersions" )
104+ fun `project version set correctly with two repos` (gradleVersion : String ) {
105+ val build = """
106+ plugins {
107+ java
108+ `maven-publish`
109+ id("dev.poolside.gradle.semantic-version")
110+ }
111+ repositories {
112+ maven { url = uri("${mavenRepo.absolutePath} ") }
113+ }
114+ group = "dev.poolside.test"
115+ version = "0.1"
116+ publishing {
117+ repositories {
118+ maven { url = uri("${mavenRepo.absolutePath} ") }
119+ maven { url = uri("${secondMavenRepo.absolutePath} ") }
120+ }
121+ publications {
122+ create<MavenPublication>("mavenJava") {
123+ artifactId = "my-library"
124+ from(components["java"])
125+ }
126+ }
127+ }
128+ """ .trimIndent()
129+ val settings = """ rootProject.name = "testing""""
130+ File (testProjectDir, " build.gradle.kts" ).writeText(build)
131+ File (testProjectDir, " settings.gradle.kts" ).writeText(settings)
132+ GradleRunner .create()
133+ .withPluginClasspath()
134+ .withProjectDir(testProjectDir)
135+ .withGradleVersion(gradleVersion)
136+ .withArguments(" publish" )
137+ // .withDebug(true)
138+ .build()
139+ var pomFile = testProjectDir.walk().filter { it.name.startsWith(" pom" ) }.first()
140+ var pom = PomParser .parse(pomFile.absolutePath)
141+ assertEquals(" 0.1.0" , pom.version)
142+ var jarFile = mavenRepo.walk().filter { it.name.endsWith(" my-library-0.1.0.jar" ) }.first()
143+ assertTrue(jarFile.absolutePath.endsWith(" /dev/poolside/test/my-library/0.1.0/my-library-0.1.0.jar" ), jarFile.absolutePath)
144+ var publishedPom = mavenRepo.walk().filter { it.name.equals(" my-library-0.1.0.pom" ) }.first()
145+ pom = PomParser .parse(publishedPom.absolutePath)
146+ assertEquals(" 0.1.0" , pom.version)
147+
148+ // should +1
149+ GradleRunner .create()
150+ .withPluginClasspath()
151+ .withProjectDir(testProjectDir)
152+ .withGradleVersion(gradleVersion)
153+ .withArguments(" publish" )
154+ // .withDebug(true)
155+ .build()
156+ pomFile = testProjectDir.walk().filter { it.name.startsWith(" pom" ) }.last()
157+ pom = PomParser .parse(pomFile.absolutePath)
158+ assertEquals(" 0.1.1" , pom.version)
159+ jarFile = mavenRepo.walk().filter { it.name.endsWith(" my-library-0.1.1.jar" ) }.last()
160+ assertTrue(jarFile.absolutePath.endsWith(" /dev/poolside/test/my-library/0.1.1/my-library-0.1.1.jar" ), jarFile.absolutePath)
161+ publishedPom = mavenRepo.walk().filter { it.name.equals(" my-library-0.1.1.pom" ) }.last()
162+ pom = PomParser .parse(publishedPom.absolutePath)
163+ assertEquals(" 0.1.1" , pom.version)
164+ }
165+
100166 @ParameterizedTest(name = " {index} gradle version {0}" )
101167 @MethodSource(" gradleVersions" )
102168 fun `minor version bump` (gradleVersion : String ) {
0 commit comments