Add nextDevelopmentVersion Gradle task
* Adjust GHA staging workflow to use `nextDevelopmentVersion` Gradle task * Remove redundant options for `jf gradlec`
This commit is contained in:
4
.github/workflows/release-staging.yml
vendored
4
.github/workflows/release-staging.yml
vendored
@@ -6,9 +6,6 @@ on:
|
||||
releaseVersion:
|
||||
description: 'Release version like 3.0.0-M1, 3.1.0-RC1, 3.2.0 etc.'
|
||||
required: true
|
||||
nextDevelopmentVersion:
|
||||
description: 'Next development version like 3.1.1-SNAPSHOT'
|
||||
required: true
|
||||
|
||||
run-name: Release version ${{ inputs.releaseVersion }}
|
||||
|
||||
@@ -17,5 +14,4 @@ jobs:
|
||||
uses: ./.github/workflows/spring-artifactory-gradle-release-staging.yml
|
||||
with:
|
||||
releaseVersion: ${{ inputs.releaseVersion }}
|
||||
nextDevelopmentVersion: ${{ inputs.nextDevelopmentVersion }}
|
||||
secrets: inherit
|
||||
@@ -7,10 +7,6 @@ on:
|
||||
description: 'Release version like 3.0.0-M1, 3.1.0-RC1, 3.2.0 etc.'
|
||||
required: true
|
||||
type: string
|
||||
nextDevelopmentVersion:
|
||||
description: 'Next development version like 3.1.1-SNAPSHOT'
|
||||
required: true
|
||||
type: string
|
||||
gradleTasks:
|
||||
description: 'Additional Gradle tasks. The `build` and `artifactoryPublish` are included.'
|
||||
required: false
|
||||
@@ -44,11 +40,6 @@ jobs:
|
||||
run: |
|
||||
jf gradlec \
|
||||
--use-wrapper \
|
||||
--uses-plugin \
|
||||
--deploy-ivy-desc=false \
|
||||
--server-id-resolve repo.spring.io \
|
||||
--server-id-deploy repo.spring.io \
|
||||
--repo-resolve ${{ (contains(inputs.releaseVersion, 'M') || contains(inputs.releaseVersion, 'RC')) && 'milestone' || 'release' }} \
|
||||
--repo-deploy libs-staging-local
|
||||
echo JFROG_CLI_BUILD_NAME=${{ github.event.repository.name }}-${{ inputs.releaseVersion }} >> $GITHUB_ENV
|
||||
echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
|
||||
@@ -69,7 +60,7 @@ jobs:
|
||||
git commit -a -m "[artifactory-release] Release version ${{ inputs.releaseVersion }}"
|
||||
git tag "v${{ inputs.releaseVersion }}"
|
||||
git push --tags origin
|
||||
sed -i "s/version=.*/version=${{ inputs.nextDevelopmentVersion }}/" gradle.properties
|
||||
jf gradle nextDevelopmentVersion
|
||||
git commit -a -m "[artifactory-release] Next development version"
|
||||
git push origin
|
||||
|
||||
|
||||
@@ -35,11 +35,6 @@ jobs:
|
||||
run: |
|
||||
jf gradlec \
|
||||
--use-wrapper \
|
||||
--uses-plugin \
|
||||
--deploy-ivy-desc=false \
|
||||
--server-id-resolve repo.spring.io \
|
||||
--server-id-deploy repo.spring.io \
|
||||
--repo-resolve snapshot \
|
||||
--repo-deploy libs-snapshot-local
|
||||
echo JFROG_CLI_BUILD_NAME=${{ github.event.repository.name }}-${{ github.ref_name }} >> $GITHUB_ENV
|
||||
echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
|
||||
|
||||
25
build.gradle
25
build.gradle
@@ -1,5 +1,5 @@
|
||||
buildscript {
|
||||
ext.isCI = System.getenv('GITHUB_ACTION') || System.getenv('bamboo_buildKey')
|
||||
ext.isCI = System.getenv('GITHUB_ACTION')
|
||||
}
|
||||
|
||||
plugins {
|
||||
@@ -283,4 +283,27 @@ task dist(dependsOn: assemble) {
|
||||
description = 'Builds -dist and -docs distribution archives.'
|
||||
}
|
||||
|
||||
tasks.register('nextDevelopmentVersion') {
|
||||
onlyIf { isCI }
|
||||
doLast {
|
||||
if (!project.version.endsWith('-SNAPSHOT')) {
|
||||
String nextDevelopmentVersion
|
||||
if (project.version.contains('-M') || project.version.contains('-RC')) {
|
||||
nextDevelopmentVersion = project.version - ~/(M|RC)\d+/ + 'SNAPSHOT'
|
||||
}
|
||||
else {
|
||||
def versionParts = project.version.tokenize('.')
|
||||
def major = versionParts[0]
|
||||
def minor = versionParts[1]
|
||||
def patch = versionParts[2] as int
|
||||
nextDevelopmentVersion = major + '.' + minor + '.' + (++patch)+ '-SNAPSHOT'
|
||||
}
|
||||
|
||||
def gradleProperties = file('gradle.properties')
|
||||
def newProps = gradleProperties.text.replace(project.version, nextDevelopmentVersion)
|
||||
gradleProperties.text = newProps
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
apply from: "${rootProject.projectDir}/publish-maven.gradle"
|
||||
|
||||
Reference in New Issue
Block a user