Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Updates Clojure, Cheshire, Metrics #13

merged 8 commits into from

2 participants


Also, bumps version to 0.10.0-SNAPSHOT (development versions should never be non-snapshots), removes version ranges and adds profiles to test against Clojure 1.3 to 1.6.0-master-SNAPSHOT.

Michael Klishin added some commits
@michaelklishin michaelklishin merged commit 9c51947 into sjl:master

Snapshots are the worst kind of evil in dependencies.

Hi, I'm a Snapshot. I look like a version number and you can type me into your dependency manager and it'll work like a version number except whatever you happen to get today is subject to change and will probably break all your shit next week.

You can keep changing the project.clj like this as a reminder, no problem, but I'm not gonna be pushing anything but actual releases to Clojars.


Not changing the version as the library evolves is much worse. I don't expect you to release snapshots and Leiningen won't let you
build an überjar if you have snapshot dependencies. But having 0.10.0 all the time that will point to moving commits is even less intuitive.


Also, nobody in their right mind depends on snapshots for releases so your argument is venting at best.



Pretty gross, but good that we can test against multiple Clojure versions.


If you value "beauty" over practical gains, feel free to revert this. I don't find anything gross about this and the whole idea of
"beautiful" code is typically a complete waste of time if you ask me.

We use this approach on 20+ ClojureWerkz projects, clj-http uses it, Cheshire uses it, clj-time uses it and probably many more projects. It makes running tests against all versions trivial. It works. It serves a very real purpose. I can't see how it can be significantly improved.


The extra repos can be removed if we drop testing against snapshots (which is fine). The :dev profile is also removed by a future commit, I believe.


Let's not align things with whitespace -- down that road lies ugly java stuff like:

int x     = 1;
int hello = 2;

And also wow, has Cheshire had 3 major releases lately? Shows how much attention I've been paying, heh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Mar 22, 2013
  1. Development versions should be snapshots

    Michael Klishin authored
  2. Upgrade to Metrics 2.2

    Michael Klishin authored
  3. Development versions should be snapshots, take 2

    Michael Klishin authored
  4. Development versions should be snapshots, take 3

    Michael Klishin authored
  5. Ignore Leiningen checkouts

    Michael Klishin authored
  6. Test against Clojure 1.3-1.6

    Michael Klishin authored
    1.2.1 can be added the same way as needed, but it hardly matters
    much these days.
  7. Depend on Cheshire 5.0.2

    Michael Klishin authored
  8. Don't use version ranges, depend on Clojure 1.5.1

    Michael Klishin authored
This page is out of date. Refresh to see the latest.
21 metrics-clojure-core/project.clj
@@ -1,6 +1,19 @@
-(defproject metrics-clojure "0.9.2"
+(defproject metrics-clojure "0.10.0-SNAPSHOT"
:description "A Clojure façade for Coda Hale's metrics library."
- :dependencies [[org.clojure/clojure "[1.2.1,1.4.0]"]
- [com.yammer.metrics/metrics-core "2.0.1"]]
- :repositories {"" ""}
+ :dependencies [[org.clojure/clojure "1.5.1"]
+ [com.yammer.metrics/metrics-core "2.2.0"]]
+ :repositories {"" ""
+ ;; to get Clojure snapshots
+ "sonatype" {:url ""
+ :snapshots false
+ :releases {:checksum :fail :update :always}}
+ "sonatype-snapshots" {:url ""
+ :snapshots true
+ :releases {:checksum :fail :update :always}}}
+ :profiles {:dev {}
+ :1.3 {:dependencies [[org.clojure/clojure "1.3.0"]]}
+ :1.4 {:dependencies [[org.clojure/clojure "1.4.0"]]}
+ :1.6 {:dependencies [[org.clojure/clojure "1.6.0-master-SNAPSHOT"]]}
+ :master {:dependencies [[org.clojure/clojure "1.6.0-master-SNAPSHOT"]]}}
+ :aliases {"all" ["with-profile" "dev:dev,1.3:dev,1.4:dev,1.6:dev,master"]}
:warn-on-reflection true)
1  metrics-clojure-ring/.gitignore
@@ -0,0 +1 @@
6 metrics-clojure-ring/project.clj
@@ -1,4 +1,4 @@
-(defproject metrics-clojure-ring "0.9.2"
+(defproject metrics-clojure-ring "0.10.0-SNAPSHOT"
:description "Various things gluing together metrics-clojure and ring."
- :dependencies [[cheshire "2.2.2"]
- [metrics-clojure "0.9.2"]])
+ :dependencies [[cheshire "5.0.2"]
+ [metrics-clojure "0.10.0-SNAPSHOT"]])
6 metrics-clojure-ring/test/metrics/test/ring/expose.clj
@@ -1,6 +0,0 @@
-(ns metrics-clojure-ring.test.core
- (:use [metrics-clojure-ring.core])
- (:use [clojure.test]))
-(deftest replace-me ;; FIXME: write
- (is false "No tests have been written."))
Something went wrong with that request. Please try again.