Permalink
Browse files

Merge pull request #4 from kotarak/master

Old contrib dependency removed
  • Loading branch information...
2 parents 94ff7be + 9ed798a commit 0502f0def101967fa85dcae5b08b36abf4518170 @mmcgrana committed Aug 7, 2011
Showing with 43 additions and 7 deletions.
  1. +17 −2 src/clj/fleetdb/core.clj
  2. +15 −2 src/clj/fleetdb/server.clj
  3. +11 −3 src/clj/fleetdb/util.clj
View
19 src/clj/fleetdb/core.clj
@@ -1,10 +1,25 @@
(ns fleetdb.core
(:import (clojure.lang Sorted RT)
(fleetdb Compare))
- (:require (clojure.contrib [core :as core])
- (fleetdb [lint :as lint] [types :as types]))
+ (:require (fleetdb [lint :as lint] [types :as types]))
(:use (fleetdb util)))
+; Taken from clojure.contrib.core to remove dependency on old contrib.
+; This is also in new contrib, but that is still a SNAPSHOT.
+(defn dissoc-in
+ "Dissociates an entry from a nested associative structure returning a new
+ nested structure. keys is a sequence of keys. Any empty maps that result
+ will not be present in the new structure."
+ [m [k & ks :as keys]]
+ (if ks
+ (if-let [nextmap (get m k)]
+ (let [newmap (dissoc-in nextmap ks)]
+ (if (pos? (count newmap))
+ (assoc m k newmap)
+ (dissoc m k)))
+ m)
+ (dissoc m k)))
+
;; General ordering
(def- neg-inf :neg-inf)
View
17 src/clj/fleetdb/server.clj
@@ -3,7 +3,7 @@
(:require (fleetdb [file :as file] [thread-pool :as thread-pool]
[lint :as lint] [embedded :as embedded])
(clj-stacktrace [repl :as stacktrace])
- (clojure.contrib [io :as io])
+ (clojure.java.io [io :as io])
(clj-json [core :as json]))
(:import (java.net ServerSocket Socket InetAddress)
(java.io BufferedWriter OutputStreamWriter
@@ -14,10 +14,23 @@
(joptsimple OptionParser OptionSet OptionException))
(:gen-class))
+; Taken from clojure.contrib.io to remove dependency on old contrib.
+(defn ^String slurp*
+ "Like clojure.core/slurp but opens f with reader."
+ [f]
+ (with-open [^BufferedReader r (io/reader f)]
+ (let [sb (StringBuilder.)]
+ (loop []
+ (let [c (.read r)]
+ (if (neg? c)
+ (str sb)
+ (do
+ (.append sb (char c))
+ (recur))))))))
(def fleetdb-version
(let [stream (.getResourceAsStream (RT/baseLoader) "project.clj")]
- (nth (read-string (io/slurp* stream)) 2)))
+ (nth (read-string (slurp* stream)) 2)))
(defn- info-map [dba]
(let [base {"fleetdb-version" fleetdb-version}
View
14 src/clj/fleetdb/util.clj
@@ -1,10 +1,18 @@
(ns fleetdb.util
- (:require (clojure.contrib [def :as def]))
(:require (clj-stacktrace [repl :as stacktrace]))
(:import (fleetdb FleetDBException)))
-(def/defalias def- def/defvar-)
-(def/defalias defmacro- def/defmacro-)
+; Taken from clojure.contrib.def to remove dependency on old contrib.
+; This is also in new contrib, but that is still a SNAPSHOT.
+(defmacro defmacro-
+ "Same as defmacro but yields a private definition"
+ [name & decls]
+ (list* `defmacro (with-meta name (assoc (meta name) :private true)) decls))
+
+(defmacro def-
+ "Same as def but yields a private definition"
+ [name & decls]
+ (list* `def (with-meta name (assoc (meta name) :private true)) decls))
(defmacro defmulti-
[name & decls]

0 comments on commit 0502f0d

Please sign in to comment.