diff --git a/.github/workflows/publish-datahub-jars.yml b/.github/workflows/publish-datahub-jars.yml index 922ff8448b..39081a1f98 100644 --- a/.github/workflows/publish-datahub-jars.yml +++ b/.github/workflows/publish-datahub-jars.yml @@ -1,4 +1,4 @@ -name: Publish Datahub Java Jars (Client, Spark Lineage, Protobuf) +name: Publish Datahub Java Jars (Client, Spark Lineage, Protobuf, Ranger) on: push: @@ -142,7 +142,8 @@ jobs: echo signingKey=$SIGNING_KEY >> gradle.properties ./gradlew -PreleaseVersion=${{ needs.setup.outputs.tag }} :metadata-integration:java:datahub-protobuf:publish ./gradlew :metadata-integration:java:datahub-protobuf:closeAndReleaseRepository --info - - name: build and publish datahub-ranger-plugin + - name: publish datahub-ranger-plugin snapshot jar + if: ${{ github.event_name != 'release' }} env: RELEASE_USERNAME: ${{ secrets.RELEASE_USERNAME }} RELEASE_PASSWORD: ${{ secrets.RELEASE_PASSWORD }} @@ -152,6 +153,18 @@ jobs: NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} run: | echo signingKey=$SIGNING_KEY >> gradle.properties - # Publish apache ranger plugin to maven ./gradlew :datahub-ranger-plugin:printVersion - ./gradlew :datahub-ranger-plugin:publishMavenJavaPublicationToMavenLocal + ./gradlew :datahub-ranger-plugin:publish + - name: release datahub-ranger-plugin jar + if: ${{ github.event_name == 'release' }} + env: + RELEASE_USERNAME: ${{ secrets.RELEASE_USERNAME }} + RELEASE_PASSWORD: ${{ secrets.RELEASE_PASSWORD }} + SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + SIGNING_KEY: ${{ secrets.SIGNING_KEY }} + NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} + NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} + run: | + echo signingKey=$SIGNING_KEY >> gradle.properties + ./gradlew -PreleaseVersion=${{ needs.setup.outputs.tag }} :datahub-ranger-plugin:publish + ./gradlew :datahub-ranger-plugin:closeAndReleaseRepository --info diff --git a/datahub-ranger-plugin/build.gradle b/datahub-ranger-plugin/build.gradle index a351856f9f..452e030be8 100644 --- a/datahub-ranger-plugin/build.gradle +++ b/datahub-ranger-plugin/build.gradle @@ -1,14 +1,8 @@ -import org.apache.tools.ant.filters.ReplaceTokens - - apply plugin: 'java' apply plugin: 'signing' apply plugin: 'maven-publish' apply plugin: 'io.codearte.nexus-staging' - - - -import org.apache.tools.ant.filters.ReplaceTokens +apply from: '../metadata-integration/java/versioning.gradle' repositories { @@ -31,53 +25,6 @@ dependencies { testCompile externalDependency.testng } -def detailedVersionString = "0.0.0-unknown-SNAPSHOT" -def snapshotVersion = false -if (project.hasProperty("releaseVersion")) { - version = releaseVersion - detailedVersionString = releaseVersion -} else { - try { - // apply this plugin in a try-catch block so that we can handle cases without .git directory - apply plugin: "com.palantir.git-version" - def details = versionDetails() - detailedVersionString = gitVersion() - version = details.lastTag - version = version.startsWith("v")? version.substring(1): version - def suffix = details.isCleanTag? "": "-SNAPSHOT" - snapshotVersion = ! details.isCleanTag - } - catch (Exception e) { - e.printStackTrace() - // last fall back - version = detailedVersionString - } -} -// trim version if it is of size 4 to size 3 -def versionParts = version.tokenize(".") -if (versionParts.size() > 3) { - // at-least 4 part version - // we check if the 4th part is a .0 in which case we want to create a release - if (versionParts[3] != '0') { - snapshotVersion = true - } - versionParts = versionParts[0..2] - version = versionParts[0..2].join('.') -} - -if (snapshotVersion) { - if (versionParts[versionParts.size()-1].isInteger()) { - version = versionParts[0..versionParts.size()-2].join('.') + '.' + (versionParts[versionParts.size()-1].toInteger()+1).toString() + "-SNAPSHOT" - } else { - // we are unable to part the last token as an integer, so we just append SNAPSHOT to this version - version = versionParts[0..versionParts.size()-1].join('.') + '-SNAPSHOT' - } -} - -processResources { - filter(ReplaceTokens, tokens:[fullVersion: detailedVersionString]) -} - publishing { publications {