Add nextDevelopmentVersion Gradle task

* Adjust GHA staging workflow to use `nextDevelopmentVersion` Gradle task
* Remove redundant options for `jf gradlec`
This commit is contained in:
Artem Bilan
2023-11-02 14:57:56 -04:00
parent ea5a3edd4b
commit feeb301e30
4 changed files with 25 additions and 20 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"