How to Dynamically set Revision for Ivy Publish

(Daniel Bickler) #1

I am trying to create an Ivy Publication in a subproject with a dynamic revision based upon the version property of the root project. So far, the revision is always unspecified and I cannot find a way to set the revision.

I’m new to using Gradle so I’m hoping there is a simple solution I am unaware of. BuildVersion is getting run but nothing I’ve tried has set the revision. Here is the subproject script I am using. I’m not including any of the things I’ve tried that haven’t worked.

apply plugin: ‘ivy-publish’

task sourceJar(type: Jar) {
     classifier "source"

publish.dependsOn rootProject.buildVersion

publishing {
     repositories {
     ivy {
         url "${rootProject.buildDir}/repo"
         layout 'ivy'
 publications {
     ivy(IvyPublication) {
         organisation 'com.test'
         module 'test'
         revision rootProject.version
         artifact(sourceJar) {
             type "source"
             conf "default"


(Daniel Bickler) #2

This was the solution I came up with.

task setIvyRevision {
doLast {
publishing.publications.ivy.revision rootProject.version

Then I just have to make sure setIvyRevision happens before publish and it works.