Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Make plugin compatible with net.wooga.version 3.x #145

Merged
merged 2 commits into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -420,10 +420,10 @@ class ReleasePluginIntegrationSpec extends com.wooga.gradle.test.IntegrationSpec

where:
tagVersion | versionCode
'1.1.0' | 10101
'1.1.0' | 10200
'2.10.99' | 21100
'0.3.0' | 301
'12.34.200' | 123601
'0.3.0' | 400
'12.34.200' | 123500
'1.1.0-rc0001' | 10100
'2.10.99-branch' | 21099
'0.3.0-a0000' | 300
Expand Down Expand Up @@ -454,10 +454,10 @@ class ReleasePluginIntegrationSpec extends com.wooga.gradle.test.IntegrationSpec

where:
tagVersion | versionCode
'1.1.0' | 10101
'1.1.0' | 10200
'2.10.99' | 21100
'0.3.0' | 301
'12.34.200' | 123601
'0.3.0' | 400
'12.34.200' | 123500
'1.1.0-rc0001' | 10100
'2.10.99-branch' | 21099
'0.3.0-a0000' | 300
Expand Down
9 changes: 4 additions & 5 deletions src/main/groovy/wooga/gradle/release/ReleasePlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,11 @@ import wooga.gradle.release.internal.DefaultAtlasReleasePluginExtension
import wooga.gradle.release.releasenotes.ReleaseNotesBodyStrategy
import wooga.gradle.githubReleaseNotes.GithubReleaseNotesPlugin
import wooga.gradle.release.utils.ProjectPropertyValueTaskSpec

//import wooga.gradle.releaseNotesGenerator.ReleaseNotesGeneratorPlugin
//import wooga.gradle.releaseNotesGenerator.utils.ReleaseBodyStrategy
import wooga.gradle.version.ReleaseStage
import wooga.gradle.version.VersionPlugin
import wooga.gradle.version.VersionPluginExtension
import wooga.gradle.version.VersionScheme
import wooga.gradle.version.VersionSchemes

/**
* A Wooga internal plugin to develop and publish Unity library packages.
Expand Down Expand Up @@ -84,7 +83,6 @@ class ReleasePlugin implements Plugin<Project> {
public static final String RELEASE_NOTES_BODY_TASK_NAME = "generateReleaseNotesBody"

static final String ARCHIVES_CONFIGURATION = "archives"
static final VersionScheme defaultVersionScheme = VersionScheme.semver

@Override
void apply(Project project) {
Expand Down Expand Up @@ -239,8 +237,9 @@ class ReleasePlugin implements Plugin<Project> {
// Gradle defaults to 'release' for the project status, as seen here:
// https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html#getStatus--
//keeping project.status as a fallback to avoid potential breaking change
def isFinal = versionExt.releaseStage.map {it == ReleaseStage.Final }
githubPublishTask.prerelease.set(
versionExt.isFinal.map { !it as boolean}
isFinal.map { !it as boolean}
.orElse(project.provider {project.status != 'final' && project.status != 'release'})
)

Expand Down
57 changes: 29 additions & 28 deletions src/test/groovy/wooga/gradle/release/ReleasePluginSpec.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import wooga.gradle.paket.pack.tasks.PaketPack
import wooga.gradle.paket.unity.PaketUnityPlugin
import wooga.gradle.version.VersionPluginExtension
import wooga.gradle.version.VersionScheme
import wooga.gradle.version.VersionSchemes

class ReleasePluginSpec extends ProjectSpec {
public static final String PLUGIN_NAME = 'net.wooga.release'
Expand Down Expand Up @@ -256,50 +257,50 @@ class ReleasePluginSpec extends ProjectSpec {

where:
nearestAny | distance | stage | scope | branchName | expectedVersion
_ | 1 | "snapshot" | _ | "master" | "1.0.1-master00001"
_ | 1 | "snapshot" | _ | "master" | "1.1.0-master00001"
_ | 2 | "snapshot" | "major" | "master" | "2.0.0-master00002"
_ | 3 | "snapshot" | "minor" | "master" | "1.1.0-master00003"
_ | 4 | "snapshot" | "patch" | "master" | "1.0.1-master00004"

_ | 1 | "snapshot" | _ | "develop" | "1.0.1-branchDevelop00001"
_ | 1 | "snapshot" | _ | "develop" | "1.1.0-branchDevelop00001"
_ | 2 | "snapshot" | "major" | "develop" | "2.0.0-branchDevelop00002"
_ | 3 | "snapshot" | "minor" | "develop" | "1.1.0-branchDevelop00003"
_ | 4 | "snapshot" | "patch" | "develop" | "1.0.1-branchDevelop00004"

_ | 1 | "snapshot" | _ | "feature/check" | "1.0.1-branchFeatureCheck00001"
_ | 2 | "snapshot" | _ | "hotfix/check" | "1.0.1-branchHotfixCheck00002"
_ | 3 | "snapshot" | _ | "fix/check" | "1.0.1-branchFixCheck00003"
_ | 4 | "snapshot" | _ | "feature-check" | "1.0.1-branchFeatureCheck00004"
_ | 5 | "snapshot" | _ | "hotfix-check" | "1.0.1-branchHotfixCheck00005"
_ | 6 | "snapshot" | _ | "fix-check" | "1.0.1-branchFixCheck00006"
_ | 7 | "snapshot" | _ | "PR-22" | "1.0.1-branchPRTwoTwo00007"
_ | 1 | "snapshot" | _ | "feature/check" | "1.1.0-branchFeatureCheck00001"
_ | 2 | "snapshot" | _ | "hotfix/check" | "1.1.0-branchHotfixCheck00002"
_ | 3 | "snapshot" | _ | "fix/check" | "1.1.0-branchFixCheck00003"
_ | 4 | "snapshot" | _ | "feature-check" | "1.1.0-branchFeatureCheck00004"
_ | 5 | "snapshot" | _ | "hotfix-check" | "1.1.0-branchHotfixCheck00005"
_ | 6 | "snapshot" | _ | "fix-check" | "1.1.0-branchFixCheck00006"
_ | 7 | "snapshot" | _ | "PR-22" | "1.1.0-branchPRTwoTwo00007"
// TODO: Not supported by the atlas-version plugin currently
// _ | 8 | "snapshot" | _ | "fix/a_-bug" | "1.0.1-branchFixABug00008"
// _ | 9 | "snapshot" | _ | "fix/-_.bug" | "1.0.1-branchFixDotbug00009"
// _ | 10 | "snapshot" | _ | "fix/-.-.-bug" | "1.0.1-branchFixDotDotBug00010"

_ | 1 | "snapshot" | _ | "release/1.x" | "1.0.1-branchReleaseOneDotx00001"
_ | 2 | "snapshot" | _ | "release-1.x" | "1.0.1-branchReleaseOneDotx00002"
_ | 1 | "snapshot" | _ | "release/1.x" | "1.1.0-branchReleaseOneDotx00001"
_ | 2 | "snapshot" | _ | "release-1.x" | "1.1.0-branchReleaseOneDotx00002"
_ | 3 | "snapshot" | _ | "release/1.0.x" | "1.0.1-branchReleaseOneDotZeroDotx00003"
_ | 4 | "snapshot" | _ | "release-1.0.x" | "1.0.1-branchReleaseOneDotZeroDotx00004"

_ | 2 | "snapshot" | _ | "1.x" | "1.0.1-branchOneDotx00002"
_ | 2 | "snapshot" | _ | "1.x" | "1.1.0-branchOneDotx00002"
_ | 4 | "snapshot" | _ | "1.0.x" | "1.0.1-branchOneDotZeroDotx00004"

_ | 1 | "rc" | _ | "master" | "1.0.1-rc00001"
_ | 1 | "rc" | _ | "master" | "1.1.0-rc00001"
_ | 2 | "rc" | "major" | "master" | "2.0.0-rc00001"
_ | 3 | "rc" | "minor" | "master" | "1.1.0-rc00001"
_ | 4 | "rc" | "patch" | "master" | "1.0.1-rc00001"

'1.1.0-rc00001' | 1 | "rc" | _ | "master" | "1.1.0-rc00002"
'1.1.0-rc00002' | 1 | "rc" | _ | "master" | "1.1.0-rc00003"

_ | 1 | "rc" | _ | "release/1.x" | "1.0.1-rc00001"
_ | 2 | "rc" | _ | "release-1.x" | "1.0.1-rc00001"
_ | 1 | "rc" | _ | "release/1.x" | "1.1.0-rc00001"
_ | 2 | "rc" | _ | "release-1.x" | "1.1.0-rc00001"
_ | 3 | "rc" | _ | "release/1.0.x" | "1.0.1-rc00001"
_ | 4 | "rc" | _ | "release-1.0.x" | "1.0.1-rc00001"

_ | 1 | "rc" | _ | "1.x" | "1.0.1-rc00001"
_ | 1 | "rc" | _ | "1.x" | "1.1.0-rc00001"
_ | 3 | "rc" | _ | "1.0.x" | "1.0.1-rc00001"

"1.1.0-rc00001" | 1 | "rc" | _ | "release/1.x" | "1.1.0-rc00002"
Expand All @@ -310,18 +311,18 @@ class ReleasePluginSpec extends ProjectSpec {
"1.1.0-rc00001" | 1 | "rc" | _ | "1.x" | "1.1.0-rc00002"
"1.0.1-rc00001" | 3 | "rc" | _ | "1.0.x" | "1.0.1-rc00002"

_ | 1 | "final" | _ | "master" | "1.0.1"
_ | 1 | "final" | _ | "master" | "1.1.0"
_ | 2 | "final" | "major" | "master" | "2.0.0"
_ | 3 | "final" | "minor" | "master" | "1.1.0"
_ | 4 | "final" | "patch" | "master" | "1.0.1"

_ | 1 | "final" | _ | "release/1.x" | "1.0.1"
_ | 1 | "final" | _ | "release/1.x" | "1.0.1"
_ | 2 | "final" | _ | "release-1.x" | "1.0.1"
_ | 1 | "final" | _ | "release/1.x" | "1.1.0"
_ | 1 | "final" | _ | "release/1.x" | "1.1.0"
_ | 2 | "final" | _ | "release-1.x" | "1.1.0"
_ | 3 | "final" | _ | "release/1.0.x" | "1.0.1"
_ | 4 | "final" | _ | "release-1.0.x" | "1.0.1"

_ | 1 | "final" | _ | "1.x" | "1.0.1"
_ | 1 | "final" | _ | "1.x" | "1.1.0"
_ | 3 | "final" | _ | "1.0.x" | "1.0.1"

nearestNormal = '1.0.0'
Expand Down Expand Up @@ -550,12 +551,12 @@ class ReleasePluginSpec extends ProjectSpec {

where:
branchName | expectedVersion
"master" | "1.0.1-master00001"
"with/slash" | "1.0.1-branchWithSlash00001"
"numbers0123456789" | "1.0.1-branchNumbersZeroOneTwoThreeFourFiveSixSevenEightNine00001"
"with/slash" | "1.0.1-branchWithSlash00001"
"with_underscore" | "1.0.1-branchWithUnderscore00001"
"with-dash" | "1.0.1-branchWithDash00001"
"master" | "1.1.0-master00001"
"with/slash" | "1.1.0-branchWithSlash00001"
"numbers0123456789" | "1.1.0-branchNumbersZeroOneTwoThreeFourFiveSixSevenEightNine00001"
"with/slash" | "1.1.0-branchWithSlash00001"
"with_underscore" | "1.1.0-branchWithUnderscore00001"
"with-dash" | "1.1.0-branchWithDash00001"
}

def createFile(String fileName, File directory) {
Expand Down Expand Up @@ -735,7 +736,7 @@ class ReleasePluginSpec extends ProjectSpec {
versionExtension.versionScheme.get() == defaultScheme

where:
defaultScheme = VersionScheme.semver
defaultScheme = VersionSchemes.semver
}

@Unroll
Expand Down