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.