On Tuesday, June 14, 2016 at 5:21:04 AM UTC-5, Simon Brooke wrote:
>
> Apologies if this is a FAQ, I have done a number of searches and not found 
> anything.
>
> I see that the Clojure project's internal Hudson CI server does automatic 
> upversioning on release builds (see documentation here 
> <http://dev.clojure.org/display/community/How+to+Make+Releases>). It 
> doesn't, however, say in that page whether the project.clj file also gets 
> automatically upversioned, or whether an upversioned SNAPSHOT number is 
> automatically inserted into the develop branch project.clj. It also doesn't 
> say how the magic is done (although it looks from the documentation as if 
> it is just a Maven level, so not very hard to understand).
>

First note that Clojure contrib builds on Hudson use only Maven, not 
Leiningen, so the project.clj files (if they exist) are not used. 
Everything you see happening is standard Maven snapshot release stuff. The 
version stays at x.y.z-SNAPSHOT (no change is committed to the repo on a 
snapshot build). A SNAPSHOT version is effectively a "virtual" version 
number. The release plugin will generate a SNAPSHOT release and set the 
version number to include a timestamp and a build number and that's what 
gets published to the maven snapshot repo (see here 
<https://oss.sonatype.org/content/repositories/snapshots/org/clojure/clojure/1.9.0-master-SNAPSHOT/>
 
for example). When retrieving a SNAPSHOT, Maven knows how to find, 
download, and use the newest version of a SNAPSHOT.

There are additionally some plugins that automatically do version number 
updating (for released versions), 
notably http://www.mojohaus.org/versions-maven-plugin/.
 

> Has anyone made automatic upversioning in project.clj on master builds on 
> a CI server work, and if so how did you do it? Does your recipe also 
> upversion the SNAPSHOT number in project.clj in the develop branch?
>

For leiningen, I'm not quite as familiar. I would hope the Leiningen 
support for publishing snapshots would follow the same process as expected 
for Maven snapshot releases and thus would work the same way - generating 
and publishing timestamped snapshot releases. Seems like Leiningen "release 
tasks" is what you want to look at as well re automatic bumping for 
releases.
 

>
> Any help gratefully received!
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to