1+ import com .vdurmont .semver4j .Semver
2+ import dev .quadstingray .sbt .json .JsonFile
13import sbtrelease .ReleasePlugin .autoImport .ReleaseKeys .versions
2- import sbtrelease .ReleasePlugin .autoImport .ReleaseTransformations ._
4+ import sbtrelease .ReleasePlugin .autoImport .ReleaseTransformations .*
35import sbtrelease .ReleasePlugin .runtimeVersion
4- import dev .quadstingray .sbt .json .JsonFile
56
6- import scala .sys .process ._
7+ import scala .sys .process .*
78
89val gitAddAllTask = ReleaseStep (action = st => {
910 " git add ." .!
1011 st
1112})
1213
13- val generateChangeLog = ReleaseStep (action = st => {
14- st.log.warn(" start generating changelog" )
15- val response = " conventional-changelog -p conventionalcommits -i CHANGELOG.md -s -r 0 -n ./changelog/config.js" .!!
16- st.log.warn(" Output of conventional-changelog" + response)
17- st
18- })
19-
20- val addGithubRelease = ReleaseStep (action = st => {
21- st.log.warn(" start github release process" )
22- var response = " "
23- try response = " conventional-github-releaser -p conventionalcommits -r 3 -n ./changelog/config.js" .!!
24- catch {
25- case e : Exception =>
26- st.log.warn(" Catched Exception on generate release notes: " + e.getMessage)
27- }
28- st.log.warn(" Output of conventional-github-releaser: " + response)
29- st
30- })
31-
3214val setToMyNextVersion = ReleaseStep (action = st => {
3315 setMyVersion(st.get(versions).get._2, st)
3416 st
@@ -51,17 +33,12 @@ releaseNextCommitMessage := s"ci: update version after release"
5133releaseCommitMessage := s " ci: prepare release of version ${runtimeVersion.value}"
5234
5335commands += Command .command(" ci-release" )((state : State ) => {
54- val lowerCaseVersion = version.value.toLowerCase
55- if (
56- (lowerCaseVersion.contains(" snapshot" ) ||
57- lowerCaseVersion.contains(" beta" ) ||
58- lowerCaseVersion.contains(" rc" ) ||
59- lowerCaseVersion.contains(" m" ))
60- ) {
61- state
36+ val semVersion = new Semver (version.value)
37+ if (semVersion.isStable) {
38+ Command .process(" release with-defaults" , state)
6239 }
6340 else {
64- Command .process( " release with-defaults " , state)
41+ state
6542 }
6643})
6744
@@ -71,20 +48,16 @@ releaseProcess := {
7148 inquireVersions,
7249 runClean,
7350 setToMyReleaseVersion,
74- generateChangeLog,
75- releaseStepCommand(" scalafmt" ),
76- gitAddAllTask,
7751 commitReleaseVersion,
7852 tagRelease,
7953 releaseStepCommandAndRemaining(" +publishSigned" ),
80- releaseStepCommand(" ci-deploy-docs" ),
8154 releaseStepCommand(" sonatypeBundleRelease" ),
55+ releaseStepCommand(" ci-deploy-docs" ),
8256 setToMyNextVersion,
57+ releaseStepCommand(" scalafmt" ),
8358 gitAddAllTask,
8459 commitNextVersion,
85- pushChanges,
86- publishArtifacts,
87- addGithubRelease
60+ pushChanges
8861 )
8962}
9063
0 commit comments