diff --git a/ChangeLog.md b/ChangeLog.md index 6b9154f..b5a2de0 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,12 @@ ## Changes between 1.2.0-alpha1 and 1.2.0-beta1 +### monger.joda-time no longer requires clojure.data.json + +`monger.joda-time` no longer requires `clojure.data.json`. If `clojure.data.json` is available, it will be loaded +and extended. If not, `monger.joda-time` will only extend Clojure reader and BSON dates serialization/deserialization. + + + ### MongoDB Java driver 2.9.0 MongoDB Java driver dependency has been updated to 2.9.0[-RC1]. diff --git a/project.clj b/project.clj index 93b44d0..74422a6 100644 --- a/project.clj +++ b/project.clj @@ -46,7 +46,10 @@ [ring/ring-core "1.1.0"]] :plugins [[codox "0.6.1"]] :codox {:sources ["src/clojure"] - :output-dir "doc/api"}}} + :output-dir "doc/api"}} + ;; only clj-time/JodaTime available, used to test monger.joda-time w/o clojure.data.json + :dev2 {:resource-paths ["test/resources"] + :dependencies [[clj-time "0.4.2" :exclusions [org.clojure/clojure]]]}} :aliases {"all" ["with-profile" "dev:dev,1.4:dev,1.5"] "ci" ["with-profile" "dev:dev,1.4:dev,1.5"]} :repositories {"sonatype" {:url "http://oss.sonatype.org/content/repositories/releases" diff --git a/src/clojure/monger/joda_time.clj b/src/clojure/monger/joda_time.clj index ebb5f92..2d03a06 100644 --- a/src/clojure/monger/joda_time.clj +++ b/src/clojure/monger/joda_time.clj @@ -17,9 +17,7 @@ To use it, make sure you add dependencies on clj-time (or JodaTime) and clojure.data.json."} monger.joda-time (:import [org.joda.time DateTime DateTimeZone ReadableInstant] [org.joda.time.format ISODateTimeFormat]) - (:use [monger.conversion]) - (:require [clojure.data.json :as json] - clojurewerkz.support.json)) + (:use [monger.conversion])) ;; ;; API @@ -56,3 +54,16 @@ (defmethod print-dup org.joda.time.base.AbstractInstant [^org.joda.time.base.AbstractInstant d out] (print-dup (.toDate d) out)) + + +;; +;; JSON serialization +;; + +(try + ;; try to load clojure.data.json. If available, load CLJW Support + ;; extensions. + (require 'clojure.data.json) + (require 'clojurewerkz.support.json) + (catch Throwable _ + false)) \ No newline at end of file