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
|
||||
project.ext {
|
||||
timestamp = new Date().format('yyyyMMddHHmmSS')
|
||||
@@ -131,14 +133,17 @@ project.ext {
|
||||
if (buildNumber != null) {
|
||||
snapshotVersion += "-${buildNumber}"
|
||||
}
|
||||
dockerTag = version.replace('SNAPSHOT', snapshotVersion)
|
||||
dockerTag = project.version.replace('SNAPSHOT', snapshotVersion)
|
||||
} else {
|
||||
isSnapshot = false
|
||||
expandedVersion = project.version
|
||||
expandedVersionWithDot = project.version
|
||||
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 {
|
||||
@@ -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
|
||||
# SOFTWARE.
|
||||
#
|
||||
group=sonia.scm
|
||||
version=2.13.0-SNAPSHOT
|
||||
group = sonia.scm
|
||||
version = 2.13.0-SNAPSHOT
|
||||
|
||||
@@ -170,7 +170,20 @@ task cleanUpAfterPublishing {
|
||||
}
|
||||
|
||||
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')
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user