Skip to content

Commit

Permalink
Fix SNAPSHOT is not appended at the end of the version in all cases
Browse files Browse the repository at this point in the history
  • Loading branch information
JavierSegoviaCordoba committed Aug 5, 2023
1 parent c86528b commit 93d05da
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 4 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

### Fixed

- `SNAPSHOT` is not appended at the end of the version in all cases

### Updated

## [0.5.0-rc.4] - 2023-08-04
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -662,9 +662,8 @@ private fun buildVersion(
append(minor)
append(".")
append(patch)
if (stageName.isNotNullNorBlank()) {
append("-")
append(GradleVersion.Stage(stageName, stageNum).toString())
if (!stageName.equals("SNAPSHOT", ignoreCase = true)) {
appendStage(stageName, stageNum)
}
if (commits != null) {
append(".")
Expand All @@ -678,6 +677,16 @@ private fun buildVersion(
append("+")
append(metadata)
}
if (stageName.equals("SNAPSHOT", ignoreCase = true)) {
appendStage(stageName, stageNum)
}
}

private fun StringBuilder.appendStage(stageName: String?, stageNum: Int?) {
if (stageName.isNotNullNorBlank()) {
append("-")
append(GradleVersion.Stage(stageName, stageNum).toString())
}
}

private const val RED = "\u001b[31m"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,11 @@ internal class GradleVersionTest {
metadata != null -> "+$metadata"
else -> ""
}
Version("$scope$stage$commitsAndOrHashAndOrMetadata")
if (!stage.contains("SNAPSHOT", ignoreCase = true)) {
Version("$scope$stage$commitsAndOrHashAndOrMetadata")
} else {
Version("$scope$commitsAndOrHashAndOrMetadata$stage")
}
}

private val versionArbitrarySameMajorMinorPatch: Arb<Version> = arbitrary {
Expand Down Expand Up @@ -743,6 +747,22 @@ internal class GradleVersionTest {
Version("1.0.0-RC.1") shouldBe Version("1.0.0-rc.1")
}

@Test
fun edge_cases() {
Version("1.0.0.0+M3t4D4ta-SNAPSHOT")
Version("1.0.0.21+M3t4D4ta-SNAPSHOT")
Version("1.0.0.0+1.9.2-dev-5787-SNAPSHOT")
Version("1.0.0.12+1.9.2-dev-5787-SNAPSHOT")
Version("1.0.0+1.9.2-dev-5787-SNAPSHOT")
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT-11") }
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT-jjj11") }
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT-jaaj") }
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT-jjj") }
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT+jjj") }
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT+1.9.2") }
shouldThrow<GradleVersionException> { Version("1.0.0-SNAPSHOT+1.9.2-dev-5677") }
}

@Test
fun is_version() {
Version("1.0.0").apply {
Expand Down

0 comments on commit 93d05da

Please sign in to comment.