I was also surprised that the version is evaluated eagerly as soon as you declare a publication. It means that your options on where you declare it are limited. It's still usable just a bit less convenient and unexpected after one get's used to live collections, convention mapping, etc.
On Tue, Apr 15, 2014 at 1:42 AM, Andrew Oberstar <[email protected]>wrote: > Hi, > > I just added a release plugin to gradle-git ( > https://github.com/ajoberstar/gradle-git), the main functionality of > which is to infer the project's version based on the tags in a Git > repository and a little user input in the form of executing a task > specifying the type of change (the lack of executing one of those tasks is > the alternative input). > > The short version is that, when using this plugin, the project version > isn't collapsed to a usable value until (at the earliest) the time the task > graph is ready. It will throw IllegalStateExceptions until that time. > > However, the MavenPublish plugin looks for the String value of the version > right after project evaluation, see the line linked below. > > > https://github.com/gradle/gradle/blob/master/subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/plugins/MavenPublishPlugin.java#L100 > > Is there any reason it needs to get the collapsed value that "early" on? > Could it wait until execution of the publish task(s)? > > I'd appreciate any insights you have, and I'm willing to help out with any > changes. Thanks! > > > Andrew Oberstar >
