mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-05 04:55:50 +01:00
Add tasks to modify project version
This commit is contained in:
committed by
René Pfeuffer
parent
7fd6b62b73
commit
d2220af840
58
build.gradle
58
build.gradle
@@ -117,6 +117,8 @@ dependencies {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
import org.gradle.util.VersionNumber
|
||||||
|
|
||||||
// set build props
|
// set build props
|
||||||
project.ext {
|
project.ext {
|
||||||
timestamp = new Date().format('yyyyMMddHHmmSS')
|
timestamp = new Date().format('yyyyMMddHHmmSS')
|
||||||
@@ -131,14 +133,17 @@ project.ext {
|
|||||||
if (buildNumber != null) {
|
if (buildNumber != null) {
|
||||||
snapshotVersion += "-${buildNumber}"
|
snapshotVersion += "-${buildNumber}"
|
||||||
}
|
}
|
||||||
dockerTag = version.replace('SNAPSHOT', snapshotVersion)
|
dockerTag = project.version.replace('SNAPSHOT', snapshotVersion)
|
||||||
} else {
|
} else {
|
||||||
isSnapshot = false
|
isSnapshot = false
|
||||||
expandedVersion = project.version
|
expandedVersion = project.version
|
||||||
expandedVersionWithDot = project.version
|
expandedVersionWithDot = project.version
|
||||||
dockerRepository = 'docker.io/scmmanager/scm-manager'
|
dockerRepository = 'docker.io/scmmanager/scm-manager'
|
||||||
dockerTag = version.replace('SNAPSHOT', snapshotVersion)
|
dockerTag = project.version
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VersionNumber v = VersionNumber.parse(project.version)
|
||||||
|
nextSnapshotVersion = "${v.major}.${v.minor}.${v.micro + 1}-SNAPSHOT"
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
@@ -162,3 +167,52 @@ publishing {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// release related tasks
|
||||||
|
|
||||||
|
task setVersion {
|
||||||
|
doLast {
|
||||||
|
if (!project.hasProperty('newVersion')) {
|
||||||
|
throw new GradleException('usage setVersion -PnewVersion=x.y.z')
|
||||||
|
}
|
||||||
|
|
||||||
|
String version = project.property('newVersion')
|
||||||
|
setNewVersion(version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task setVersionToNextSnapshot {
|
||||||
|
doLast {
|
||||||
|
setNewVersion(nextSnapshotVersion)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task printVersion {
|
||||||
|
doLast {
|
||||||
|
println project.version
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def setNewVersion(String newVersion) {
|
||||||
|
File propertiesFile = new File(project.rootDir, 'gradle.properties')
|
||||||
|
|
||||||
|
if (project.version == newVersion) {
|
||||||
|
println "project uses already version ${newVersion}"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
def lines = propertiesFile.readLines('UTF-8')
|
||||||
|
def newLines = lines.collect{ line ->
|
||||||
|
if (line.trim().startsWith('version')) {
|
||||||
|
return "version = ${newVersion}"
|
||||||
|
}
|
||||||
|
return line
|
||||||
|
}
|
||||||
|
|
||||||
|
println "set version from ${project.version} to ${newVersion}"
|
||||||
|
propertiesFile.withWriter('UTF-8') {writer ->
|
||||||
|
newLines.forEach { line ->
|
||||||
|
writer.writeLine(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,5 +21,5 @@
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
#
|
#
|
||||||
group=sonia.scm
|
group = sonia.scm
|
||||||
version=2.13.0-SNAPSHOT
|
version = 2.13.0-SNAPSHOT
|
||||||
|
|||||||
@@ -170,7 +170,20 @@ task cleanUpAfterPublishing {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task setVersion(type: YarnTask) {
|
task setVersion(type: YarnTask) {
|
||||||
args = ['run', 'set-version', project.version]
|
doFirst {
|
||||||
|
if (!project.hasProperty('newVersion')) {
|
||||||
|
throw new GradleException('newVersion properties is required, specify with -PnewVersion=x.y.z')
|
||||||
|
}
|
||||||
|
println "set ui package modules to new version ${project.property('newVersion')}"
|
||||||
|
}
|
||||||
|
if (project.hasProperty('newVersion')) {
|
||||||
|
args = ['run', 'set-version', project.property('newVersion')]
|
||||||
|
}
|
||||||
|
dependsOn('yarn_install')
|
||||||
|
}
|
||||||
|
|
||||||
|
task setVersionToNextSnapshot(type: YarnTask) {
|
||||||
|
args = ['run', 'set-version', nextSnapshotVersion]
|
||||||
dependsOn('yarn_install')
|
dependsOn('yarn_install')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user