Add additional ship cell types

Add additional ship cell types

--- src/cljc/robinson/dungeons/pirateship.cljc
+++ src/cljc/robinson/dungeons/pirateship.cljc
@@ -54,21 +54,31 @@
 (defn lookup-tile [k]
   (get @tiles k))

-(def wooden-wall (make-tile \#  35 :wooden-wall))
-(def deck        (make-tile \.  46 :deck))
-(def close-door  (make-tile \+  43 :close-door))
-(def up-stairs   (make-tile \<  60 :up-stairs))
-(def down-stairs (make-tile \>  62 :down-stairs))
-(def tackle      (make-tile \º 167 :tackle))
-(def grate       (make-tile \╬ 206 :grate))
-(def table       (make-tile \╤ 209 :table))
-(def chair       (make-tile \╥ 210 :chair))
-(def mast        (make-tile \╨ 208 :mast))
-(def beam        (make-tile \═ 205 :beam))
-(def ships-wheel (make-tile \Φ 232 :ships-wheel))
-(def ladder      (make-tile \≡ 240 :ladder))
-(def porthole    (make-tile \° 248 :porthole))
-(def chest       (make-tile \■ 254 :chest))
+(def bulkhead     (make-tile \◘   8 :bulkhead))
+(def wheel        (make-tile \○   9 :wheel))
+(def bulkhead2    (make-tile \◙  10 :bulkhead2))
+(def wooden-wall  (make-tile \#  35 :wooden-wall))
+(def hammock-v    (make-tile \)  41 :hammock-v))
+(def hammock-h    (make-tile \-  45 :hammock-h))
+(def deck         (make-tile \.  46 :deck))
+(def close-door   (make-tile \+  43 :close-door))
+(def up-stairs    (make-tile \<  60 :up-stairs))
+(def down-stairs  (make-tile \>  62 :down-stairs))
+(def tackle       (make-tile \º 167 :tackle))
+(def cannon       (make-tile \║ 186 :canon))
+(def cannon-truck (make-tile \─ 196 :canon-truck))
+(def grate        (make-tile \╬ 206 :grate))
+(def breach       (make-tile \╨ 208 :breach))
+(def table        (make-tile \╤ 209 :table))
+(def chair        (make-tile \╥ 210 :chair))
+(def mast         (make-tile \╨ 208 :mast))
+(def beam         (make-tile \═ 205 :beam))
+(def locker       (make-tile \▌ 221 :locker))
+(def locker2      (make-tile \▐ 222 :locker2))
+(def ships-wheel  (make-tile \Φ 232 :ships-wheel))
+(def ladder       (make-tile \≡ 240 :ladder))
+(def porthole     (make-tile \° 248 :porthole))
+(def chest        (make-tile \■ 254 :chest))

 (defn ship->cells
   [ship]
@@ -76,18 +86,22 @@
          (map (fn [{ch :ch :as tile}]
                 (if (contains? #{nil \space} ch)
                   nil
-                  {:type (-> ch
-                           int
-                           lookup-tile
-                           :type)}))
+                  (let [cell-type (-> ch
+                                    int
+                                    lookup-tile
+                                    :type)]
+                    (if (and (contains? #{:table :chair :chest} cell-type)
+                              (< 0.5 (rand)))
+                        {:type :deck}
+                        {:type cell-type}))))
               line))
         ship))

 (defn random-place
   "Create a grid of random rooms with corridors connecting them and doors
    where corridors connect to rooms."
-  [width height]
-  (let [ship (make-ship 0)
+  [width height level]
+  (let [ship (make-ship level)
         cells (ship->cells ship)]
     {:place cells}))
 ;        upstairs     (conj [(first room-centers)] {:type :up-stairs})
@@ -118,6 +132,7 @@
 (defn -main
   "Generate a random grid and print it out."
   [& args]
-  (println "generating...")
-  (doall (map println (place-to-ascii (get (random-place 80 25) :place)))))
+  (let [level (or (read-string (first args)) 0)]
+    (println (format "generating level %d..." level))
+    (doall (map println (place-to-ascii (get (random-place 80 25 level) :place))))))


Added more neo4j goodness

Added more neo4j goodness

--- src/com/madeye/clojure/callgraph/neo4j.clj
+++ src/com/madeye/clojure/callgraph/neo4j.clj
@@ -5,6 +5,7 @@
 (require '[clojurewerkz.neocons.rest.nodes :as nn])
 (require '[clojurewerkz.neocons.rest.labels :as nl])
 (require '[clojurewerkz.neocons.rest.relationships :as nrl])
+(require '[clojurewerkz.neocons.rest.cypher :as cy])
 (require '[taoensso.timbre :as timbre])

 (timbre/refer-timbre)
@@ -12,13 +13,17 @@
 (defn create-node
   [conn node-name label]
   (debug "create-node: name=" node-name ", label=" label)
-  (let [node-neo (nn/create conn { :name node-name })]
-    (nl/add conn node-neo (name label))))
+  (let [node-neo (nn/create conn { :name node-name })
+        name-str (name label)]
+    (debug "node-neo:" node-neo ", name-str:" name-str)
+    (nl/add conn node-neo (name label))
+    node-neo))

 (defn load-method
   [conn cgclass-neo cgmethod]
   (debug "load-method:" cgmethod)
   (let [cgmethod-neo (create-node conn (:name cgmethod) :Method)]
+    (debug "cgmethod-neo:" cgmethod-neo)
     (nrl/create conn cgclass-neo cgmethod-neo :hasMethod)))

 (defn load-class
@@ -32,3 +37,11 @@
   [conn cg]
   (info "Loading callgraph with" (-> cg :classes count) "classes")
   (dorun (map (partial load-class conn) (vals (:classes cg)))))
+
+(defn neo4j-delete-all-nodes
+  ([conn]
+    (cy/tquery conn "MATCH (n) DETACH DELETE n")))
+
+(defn neo4j-count-all-nodes
+  ([conn]
+    (cy/tquery conn "MATCH (n) RETURN COUNT(n)")))


(SERVER-2360) Make i18n unread from jruby-puppet

Previously, the setting was read in and used; this resticts that so that
only the multithreaded key is used to determine the value of
`disable-i18n`.

--- src/clj/puppetlabs/services/jruby/jruby_puppet_core.clj
+++ src/clj/puppetlabs/services/jruby/jruby_puppet_core.clj
@@ -202,7 +202,7 @@
       (update-in [:master-run-dir] #(or % default-master-run-dir))
       (update-in [:master-log-dir] #(or % default-master-log-dir))
       (update-in [:max-requests-per-instance] #(or % 0))
-      (update-in [:disable-i18n] #(or % multithreaded))
+      (assoc :disable-i18n multithreaded)
       (update-in [:use-legacy-auth-conf] #(if (some? %) % false))
       (dissoc :environment-class-cache-enabled)))


simplify test

simplify test


travis5

--- test/clojure_web/test/handler.clj
+++ test/clojure_web/test/handler.clj
@@ -5,9 +5,9 @@

 (deftest test-app
   (testing "main route"
-    (let [response (app (request :get "/"))]
+    (let [response (app (request :get "/home"))]
       (is (= (:status response) 200))
-      (is (= (:body response) "Hello World"))))
+      (is (contains? (:body response) "Clojure Web"))))

   (testing "not-found route"
     (let [response (app (request :get "/invalid"))]


Remove redundant test database declaration

Signed-off-by: Deepak Giridharagopal <d11186354d1ef01ca06ae37d7e23e827da13e85f@puppetlabs.com>

--- test/com/puppetlabs/test/jdbc.clj
+++ test/com/puppetlabs/test/jdbc.clj
@@ -1,13 +1,8 @@
 (ns com.puppetlabs.test.jdbc
   (:require [com.puppetlabs.jdbc :as subject]
             [clojure.java.jdbc :as sql])
-  (:use [clojure.test]))
-
-(def db {:classname "org.hsqldb.jdbcDriver"
-         :subprotocol "hsqldb"
-         :subname     (str "mem:"
-                           (java.util.UUID/randomUUID)
-                           ";shutdown=true;hsqldb.tx=mvcc;sql.syntax_pgs=true")})
+  (:use [clojure.test]
+        [com.puppetlabs.puppetdb.testutils :only (test-db)]))

 (def test-data {"absence"    "presence"
                 "abundant"   "scarce"
@@ -28,7 +23,7 @@

 (defn with-test-database
   [function]
-  (subject/with-transacted-connection db
+  (subject/with-transacted-connection (test-db)
     (sql/create-table :test
                       [:key   "VARCHAR(256)" "PRIMARY KEY"]
                       [:value "VARCHAR(256)" "NOT NULL"])


Remove mention of uuid.

Remove mention of uuid.

--- test/circle/web/test_web.clj
+++ test/circle/web/test_web.clj
@@ -2,7 +2,6 @@
   (:require circle.init)
   (:require [clj-http.client :as http])
   (:require [clj-http.core :as core])
-  ;; (:require [uuid])
   (:require [somnium.congomongo :as mongo])
   (:use midje.sweet))

@@ -20,7 +19,7 @@
     body =not=> #"Thanks"))

 (fact "posting works"
-  (let [session (gensym "foobar") ;;(uuid/uuid)
+  (let [session (gensym "foobar")
         email (str session "@test.com")
         db-entries-before (mongo/fetch-count :signups :where {:email email})
         post-request {:form-params {:email email :contact true}}


Serverin depsut

Serverin depsut

--- mtg-pairings-server/project.clj
+++ mtg-pairings-server/project.clj
@@ -1,21 +1,20 @@
 (defproject mtg-pairings-server "0.2.0"
   :license {:name "MIT License"
             :url "http://www.opensource.org/licenses/mit-license.php"}
-  :dependencies [[org.clojure/clojure "1.5.1"]
+  :dependencies [[org.clojure/clojure "1.8.0"]
+                 [org.clojure/core.cache "0.6.4"]
                  [ring "1.2.1"]
-                 [ring/ring-core "1.2.1"]
-                 [ring/ring-json "0.2.0"]
-                 [http-kit "2.1.16"]
-                 [org.clojure/tools.reader "0.8.3"]
-                 [clj-time "0.6.0"]
-                 [korma "0.3.0-RC6"]
-                 [org.postgresql/postgresql "9.2-1002-jdbc4"]
-                 [org.clojure/tools.logging "0.2.6"]
-                 [ch.qos.logback/logback-classic "1.1.1"]
-                 [metosin/compojure-api "0.15.1-edn"]
-                 [metosin/ring-swagger-ui "2.0.17"]
+                 [ring/ring-core "1.4.0"]
+                 [http-kit "2.1.18"]
+                 [org.clojure/tools.reader "1.0.0-alpha3"]
+                 [clj-time "0.11.0"]
+                 [korma "0.4.2"]
+                 [org.postgresql/postgresql "9.4.1208"]
+                 [org.clojure/tools.logging "0.3.1"]
+                 [ch.qos.logback/logback-classic "1.1.5"]
+                 [metosin/compojure-api "1.0.0"]
                  [ring.middleware.jsonp "0.1.6"]]
   :profiles {:dev {:source-paths ["dev"]
-                   :dependencies [[org.clojure/tools.namespace "0.2.4"]]}
+                   :dependencies [[org.clojure/tools.namespace "0.2.11"]]}
              :uberjar {:main mtg-pairings-server.server
                        :aot [mtg-pairings-server.server]}})


Add comment linking to clojure bug

Add comment linking to clojure bug

--- test/expound/alpha_test.cljc
+++ test/expound/alpha_test.cljc
@@ -520,6 +520,8 @@
 -------------------------
 Detected 1 error\n")
            (expound/expound-str :cat-spec/kw [:foo])))
+    ;; This isn't ideal, but requires a fix from clojure
+    ;; https://clojure.atlassian.net/browse/CLJ-2364
     (is (= (pf "-- Syntax error -------------------

   []


Improve render function for builtin icons.

--- frontend/uxbox/shapes.cljs
+++ frontend/uxbox/shapes.cljs
@@ -6,7 +6,12 @@
     (:type shape)))

 (defmethod render :builtin/icon
-  [shape & [{:keys [width height] :or {width "500" height "500"}}]]
-  (let [content (:svg shape)]
+  [{:keys [data width height view-box]} & [attrs]]
+  (let [attrs (merge
+               (when width {:width width})
+               (when height {:height height})
+               (when view-box {:viewBox (apply str (interpose " " view-box))})
+               attrs)]
+
     (html
-     [:svg {:width width :height height} content])))
+     [:svg attrs data])))


No longer measure latency for empty batches.

--- src/onyx/monitoring/metrics_monitoring.clj
+++ src/onyx/monitoring/metrics_monitoring.clj
@@ -165,23 +165,29 @@
   (let [throughput (m/meter reg (into tag ["task-lifecycle" (name lifecycle) "throughput"]))
         timer ^com.codahale.metrics.Timer (t/timer reg (into tag ["task-lifecycle" (name lifecycle)]))]
     (fn [state latency-ns]
-      (m/mark! throughput (count (:onyx.core/batch (task/get-event state))))
-      (.update timer latency-ns TimeUnit/NANOSECONDS))))
+      (let [size (count (:onyx.core/batch (task/get-event state)))]
+        (when-not (zero? size)
+          (m/mark! throughput size)
+          (.update timer latency-ns TimeUnit/NANOSECONDS))))))

 (defn count-written-batch [state]
   (reduce (fn [c {:keys [leaves]}]
-            (+ c (count leaves)))
-          0
+            (unchecked-add c (count leaves)))
+          (long 0)
           (:tree (:onyx.core/results (task/get-event state)))))

 (defn new-write-batch [reg tag lifecycle]
   (let [throughput (m/meter reg (into tag ["task-lifecycle" (name lifecycle) "throughput"]))
-        timer ^com.codahale.metrics.Timer (t/timer reg (into tag ["task-lifecycle" (name lifecycle)]))]
+        timer ^com.codahale.metrics.Timer (t/timer reg (into tag ["task-lifecycle" (name lifecycle)]))
+        accum (volatile! (long 0))]
     (fn [state latency-ns]
-      ;; TODO, for blockable lifecycles we should probably accumulate time until we advance.
-      (.update timer latency-ns TimeUnit/NANOSECONDS)
+      (vswap! accum (fn [a] (unchecked-add a latency-ns)))
       (when (task/advanced? state)
-        (m/mark! throughput (count-written-batch state))))))
+        (let [cnt (count-written-batch state)]
+          (when-not (zero? cnt)
+            (.update timer @accum TimeUnit/NANOSECONDS)
+            (vreset! accum (long 0))
+            (m/mark! throughput cnt)))))))

 (defn update-rv-epoch [^AtomicLong replica-version ^AtomicLong epoch epoch-rate]
   (fn [state latency-ns]


Renamed demo# to even-meloy# to make the name more descriptive.

--- src/overtunes/songs/canone_alla_quarta.clj
+++ src/overtunes/songs/canone_alla_quarta.clj
@@ -11,14 +11,14 @@
   (let [play-at# (fn [[ms midi]] (at ms (piano# midi)))]
     (->> notes (map play-at#) dorun)))

-(defn demo# [pitches]
+(defn even-melody# [pitches]
   (let [times (reductions + (cons (now) (repeat 300)))
         notes (map vector times pitches)]
     (play# notes)
     notes))

 ;(piano# 50)
-;(demo# (range 60 73))
+;(even-melody# (range 60 73))

@@ -42,7 +42,7 @@

 ;(major 2)
 ;(minor 2)
-;(demo# (let [key (comp (partial + 67) major), rest -100]
+;(even-melody# (let [key (comp (partial + 67) major), rest -100]
 ;         (map key [0 1 2 0 0 1 2 0 2 3 4 rest 2 3 4 rest])))

@@ -63,7 +63,7 @@
         (run (cons to tos)))
       [from]))

-;(demo# (map g-major
+;(even-melody# (map g-major
 ;            (run [0 3 1 3 -1 0])
 ;            ))


Tried to increase readability by using named arguments for a few anonymous functions.

--- src/overtunes/songs/canone_alla_quarta.clj
+++ src/overtunes/songs/canone_alla_quarta.clj
@@ -45,16 +45,16 @@
 ;; Melody                                       ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

-(defn run [[a & bs]]
-  (let [up-or-down
-          #(if (<= %1 %2)
-            (range %1 %2)
-            (reverse (range (inc %2) (inc %1))))]
-    (if bs
+(defn run [[from & tos]]
+  (let [up-or-down (fn [start end]
+          (if (<= start end)
+            (range start end)
+            (reverse (range (inc end) (inc start)))))]
+    (if tos
       (concat
-        (up-or-down a (first bs))
-        (run bs))
-      [a])))
+        (up-or-down from (first tos))
+        (run tos))
+      [from])))

 (defn sums [series] (map (partial sum-n series) (range (count series))))
 (def repeats (partial mapcat (partial apply repeat)))
@@ -90,15 +90,9 @@
 ;; Canone alla quarta - Johann Sebastian Bach   ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

-(defn bpm [per-minute] #(-> % (/ per-minute) (* 60) (* 1000)))
-
-(defn transform [k f]
- (let [map-in (fn [m k f] (map #(update-in % [k] f) m))]
-   #(map-in % k f)))
-
-(defn shift [point]
-  (let [offset (fn [point1 point2] (vec (map + point1 point2)))]
-        (partial map (partial offset point))))
+(defn bpm [beats] (fn [beat] (-> beat (/ beats) (* 60) (* 1000))))
+(defn transform [k f] (fn [points] (map #(update-in % [k] f) points)))
+(defn shift [point] (fn [points] (map #(->> % (map + point) vec) points)))

 (defn canone-alla-quarta# []
   (let [[timing pitch] [0 1]
@@ -110,4 +104,4 @@
     (=> melody (shift [1/2 0]) play-now#)
     (=> melody (transform pitch -) (shift [7/2 -3]) play-now#)))

-(canone-alla-quarta#)
+;(canone-alla-quarta#)


Fixing spacing in pacemaker_test

Fixing spacing in pacemaker_test

--- storm-core/test/clj/org/apache/storm/pacemaker_test.clj
+++ storm-core/test/clj/org/apache/storm/pacemaker_test.clj
@@ -72,11 +72,11 @@
                bad-response (.handleMessage handler message false)
                good-response (.handleMessage handler message true)]
            (is (= (.get_message_id bad-response) mid))
-          (is (= (.get_type bad-response) HBServerMessageType/NOT_AUTHORIZED))
-
-          (is (= (.get_message_id good-response) mid))
-          (is (= (.get_type good-response) HBServerMessageType/EXISTS_RESPONSE))
-          (is (= (.get_boolval (.get_data good-response)) true))))))))
+           (is (= (.get_type bad-response) HBServerMessageType/NOT_AUTHORIZED))
+
+           (is (= (.get_message_id good-response) mid))
+           (is (= (.get_type good-response) HBServerMessageType/EXISTS_RESPONSE))
+           (is (= (.get_boolval (.get_data good-response)) true))))))))

 (deftest pacemaker-server-send-pulse-get-pulse
   (conjure/stubbing


abbreviations on seqs

abbreviations on seqs

--- src/strictly_specking/annotated_pprint.clj
+++ src/strictly_specking/annotated_pprint.clj
@@ -111,6 +111,7 @@

 (defn pprint-seq-with-pointer [pre suf avec comment-key-fn]
   (let [comments (or (-> avec meta :comments) {})
+        abbrev   (-> avec meta :comments)
         comments? (not-empty comments)]
     ;;abbrev print-length can be 3 + max key
     (pp/pprint-logical-block
@@ -119,31 +120,50 @@
       [aseq (seq avec)
        c    0]
       (when aseq
-        (if-let [{:keys [comment value-colors comment-colors]
-                  :as current-comment} (get comments (comment-key-fn (first aseq) c))]
-          (do
-            (print-colored value-colors (first aseq))
-            (pp/pprint-newline :mandatory)
-            (print-colored comment-colors (CommentPointer. comment))
-            #_(pp/pprint-newline :mandatory))
-          (pp/write-out (first aseq)))
-        (when (next aseq)
-          (.write ^java.io.Writer *out* " ")
-          (pp/pprint-newline :linear)
-          (recur (next aseq) (inc c))))))))
+        (let [v (first aseq)
+              v (if (and abbrev (coll? v))
+                  (vary-meta v assoc :abbrev :tight)
+                  v)]
+          (if-let [{:keys [comment value-colors comment-colors]
+                    :as current-comment} (get comments (comment-key-fn v c))]
+            (do
+              (print-colored value-colors v)
+              (pp/pprint-newline :mandatory)
+              (print-colored comment-colors (CommentPointer. comment))
+              #_(pp/pprint-newline :mandatory))
+            (pp/write-out v))
+          (when (next aseq)
+            (.write ^java.io.Writer *out* " ")
+            (pp/pprint-newline :linear)
+            (recur (next aseq) (inc c)))))))))
+
+(defn abbrev-seq-with-pointer [pre suf a-seq comment-key-fn]
+  (if-let [abr-level (-> a-seq meta :abbrev)]
+    (let [maxk   (or
+                  (when-let [comments (not-empty (-> a-seq meta :comments))]
+                    (and (every? integer? (keys comments))
+                         (reduce max (keys comments))))
+                  0)
+          length (if (= :tight abr-level) (+ maxk 2) (+ maxk 4))
+          level  (if (= :tight abr-level) 2 3)]
+      (binding [*print-level* (+ level
+                                 (or @(resolve 'clojure.pprint/*current-level*) 0))
+                *print-length* length]
+        (pprint-seq-with-pointer pre suf a-seq comment-key-fn)))
+    (pprint-seq-with-pointer pre suf a-seq comment-key-fn)))

 (defn pprint-vector-with-pointer [avec]
   (if (-> avec meta :comments)
-    (pprint-seq-with-pointer "[" "]" avec (fn [_ c] c))
+    (abbrev-seq-with-pointer "[" "]" avec (fn [_ c] c))
     (orig-pprint-vector avec)))

 (defn pprint-set-with-pointer [a-set]
   (if (-> a-set meta :comments)
-    (pprint-seq-with-pointer "#{" "}" a-set (fn [_ c] c))
+    (abbrev-seq-with-pointer "#{" "}" a-set (fn [_ c] c))
     (orig-pprint-set a-set)))

 (defn pprint-simple-list-with-pointer [alis]
-  (pprint-seq-with-pointer "(" ")" alis (fn [_ c] c)))
+  (abbrev-seq-with-pointer "(" ")" alis (fn [_ c] c)))

 (defn pprint-list-with-pointer [aseq]
   (if (-> aseq meta :comments)
@@ -194,15 +214,15 @@
     (pp/with-pprint-dispatch error-path-dispatch
       (pp/pprint
        (annotate-path-only test-data
-                           [:cljsbuild :builds 0 :source-paths-set]
+                           [:cljsbuild :builds 0 :source-paths]
                            {:abbrev true
-                            :comments {"src" {
+                            :comments {0 {
                                               :key-colors     [:green]
                                               :value-colors   [:bright]
                                               :comment-colors [:magenta]
                                               :comment " is screwwed"
                                               }
-                                       "tests" {
+                                       10 {
                                                 :key-colors [:green]
                                                 :value-colors [:bright]
                                                 :comment-colors [:magenta]
@@ -213,7 +233,31 @@
   (def test-data
     {:cljsbuild {:assert true
                  :builds [{ :id "example-admin"
-                           :source-paths ["src" "dev" "tests" "../support/src"]
+                           :source-paths ["src" "dev" "tests" "../support/src"
+                                          "src" "dev" "tests" "../support/src"
+                                          { :websocket-host "localhost"
+                            :compiler { :main 'example.core
+                                       :asset-path "js/out"
+                                       :libsers ["libs_src" "libs_sscr/tweaky.js"]
+                                      :output-to "resources/public/js/example.js"
+                                      :output-dir "resources/public/js/out"
+                                      :libs ["libs_src" "libs_sscr/tweaky.js"]
+                                      ;; :externs ["foreign/wowza-externs.js"]
+                                      :foreign-libs [{:file "foreign/wowza.js"
+                                                      :provides ["wowzacore"]}]
+                                      ;; :recompile-dependents true
+                                      :optimizations :none}
+                            :on-jsload      'example.core/fig-reload
+                            :on-message     'example.core/on-message
+                            :open-urls ["http://localhost:3449/index.html"
+                                        "http://localhost:3449/index.html"
+                                        "http://localhost:3449/index.html"
+                                        "http://localhost:3449/index.html"
+                                        "http://localhost:3449/index.html"]
+                            :debug true
+                            } "dev" "tests" "../support/src"
+                                          "src" "dev" "tests" "../support/src"
+                                          "src" "dev" "tests" "../support/src"]
                            :source-paths-list '("src" "dev" "tests" "../support/src")
                            :source-paths-set #{"src" "dev" "tests" "../support/src"}
                            :notify-command ["notify"]


Remove tempfile namespace.

Remove tempfile namespace.

--- backend/src/uxbox/util/tempfile.clj
+++ backend/src/uxbox/util/tempfile.clj
@@ -1,17 +0,0 @@
-;; This Source Code Form is subject to the terms of the Mozilla Public
-;; License, v. 2.0. If a copy of the MPL was not distributed with this
-;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
-;;
-;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
-
-(ns uxbox.util.tempfile
-  "A temporal file abstractions."
-  (:require [storages.core :as st]
-            [storages.util :as path])
-  (:import [java.nio.file Files]))
-
-(defn create
-  "Create a temporal file."
-  [& {:keys [suffix prefix]}]
-  (->> (path/make-file-attrs "rwxr-xr-x")
-       (Files/createTempFile prefix suffix)))


make metrics optional

make metrics optional


Implement conversation-new quest

Implement conversation-new quest

--- src/braid/client/quests/list.cljs
+++ src/braid/client/quests/list.cljs
@@ -8,8 +8,10 @@
     :description "Conversations are the heart of Braid. Type in the box in the bottom left corner and hit [Enter]."
     :icon \uf0e6
     :goal 3
-    :listener (fn [state [event args]]
-                (= event :quests/show-quest-instructions))}])
+    :listener (fn [state [event data]]
+                (and
+                  (= event :new-message)
+                  (= (data :thread-id) (:new-thread-id state))))}])

 (def disabled-quests
   [; conversations


noted a future improvement for FORMA, which has obviated the immediate need for a previous TODO.

--- src/clj/forma/trends/analysis.clj
+++ src/clj/forma/trends/analysis.clj
@@ -60,13 +60,17 @@
 ;; was 15 in the original FORMA specification (3) the length of the
 ;; window that smooths the OLS coefficients, which was originally 5.

-;; TODO: make sure that whoopbang can take a variety of different
-;; filters, including a composition of filters.
+;; TODO: check the values of reliability time-series data to make sure
+;; that the good- and bad-set values are correct in
+;; make-reliable. This need not be done for the first run, since it
+;; wasn't done for the original FORMA application.  All we did was
+;; deseasonalize the data, which is reflected below.  It would be a
+;; good and feasible (easy) bonus to utilize the reliability data.

 (defn whoop-full
-  "whoop-full will find the greatest OLS drop over a timeseries [ts] given
-  sub-timeseries of length [long-block].  The drops are smoothed by a moving
-  average window of length [window]."
+  "`whoop-full` will find the greatest OLS drop over a timeseries `ts` given
+  sub-timeseries of length `long-block`.  The drops are smoothed by a moving
+  average window of length `window`."
   [ts reli-ts long-block window]
   (->> (deseasonalize ts)
        (windowed-apply ols-coefficient long-block)


Remove log

Remove log

--- src/clj/sbsk/components/admin.clj
+++ src/clj/sbsk/components/admin.clj
@@ -20,7 +20,6 @@
 (defn move-item
   [pred direction]
   (fn [items]
-    (log/debug "??" items)
     (let [items-vec (vec items)
           [idx to-swap] (first (keep-indexed #(when (pred %2) [%1 %2]) items))
           new-idx (case direction


use defcreate in entities

use defcreate in entities

--- src/clj_money/models/entities.clj
+++ src/clj_money/models/entities.clj
@@ -6,7 +6,8 @@
             [clojure.set :refer [rename-keys]]
             [clojure.reflect :refer :all]
             [clj-money.validation :as validation]
-            [clj-money.models.helpers :refer [with-storage]]
+            [clj-money.models.helpers :refer [with-storage
+                                              defcreate]]
             [clj-money.models.storage :refer [create-entity
                                               select-entities
                                               find-entity-by-id
@@ -30,11 +31,12 @@
        empty?))

 (defn- before-save
-  [entity]
-  (cond-> entity
+  ([entity] (before-save nil entity))
+  ([_ entity]
+   (cond-> entity

-    (contains? entity :monitored-account-ids)
-    (update-in [:monitored-account-ids] pr-str)))
+     (contains? entity :monitored-account-ids)
+     (update-in [:monitored-account-ids] pr-str))))

 (defn- validation-rules
   [storage]
@@ -46,16 +48,11 @@
   [storage spec entity]
   (validation/validate spec (validation-rules storage) entity))

-(defn create
-  "Creates a new entity"
-  [storage-spec entity]
-  (with-storage [s storage-spec]
-    (let [validated (validate s ::new-entity entity)]
-      (if (validation/valid? validated)
-        (->> validated
-             before-save
-             (create-entity s))
-        validated))))
+(def create
+  (defcreate {:before-save before-save
+              :create create-entity
+              :spec ::new-entity
+              :rules-fn validation-rules}))

 (defn select
   "Returns entities for the specified user"


Fix diff dnil checking

Fix diff dnil checking

--- src/cljc/mikron/codegen/diff.cljc
+++ src/cljc/mikron/codegen/diff.cljc
@@ -28,7 +28,7 @@
     (diff [:built-in] path value-1 value-2 env)
     (case processor-type
       :diff   (diff schema path value-1 value-2 env)
-      :undiff `(if (identical? :mikron/dnil ~value-2)
+      :undiff `(if (util.schema/keyword-identical? :mikron/dnil ~value-2)
                  ~value-1
                  ~(diff schema path value-1 value-2 env)))))


C handlers: Fix materials-added handler

C handlers: Fix materials-added handler

Remove retracting the handle of the key-value area for the add-materials
form. Explanation see diff.

--- src/cljs/theatralia/handlers.cljs
+++ src/cljs/theatralia/handlers.cljs
@@ -137,10 +137,12 @@
   (let [eids (apply d/q q db q-args)]
     (map (fn [eid] [:db.fn/retractEntity eid]) eids)))

+;; Note: The key-value area for the add-material-view is created when the view
+;;       is created and the view holds on to the handle. Therefore we only clear
+;;       the key-value area, but don't retract the handle.
 (defn material-added
   [db [kv-handle]]
-  [[:db.fn/retractEntity [:db/id [:kv-area/handle kv-handle]]]
-   [:db.fn/call retract-entities
+  [[:db.fn/call retract-entities
     '[:find [?c ...]
       :in $ ?h
       :where [?a :kv-area/handle ?h]


Remove trailing whitespace

Remove trailing whitespace

--- src/overtone/synth/stringed.clj
+++ src/overtone/synth/stringed.clj
@@ -1,7 +1,7 @@
 ;; A Stringed Synth Generator Macro & Guitar Example Instrument
 ;;
 ;; See overtone/examples/instruments/guitar_synth.clj for example usage.
-;;
+;;
 ;; Other instruments (like bass-guitar, ukelele, mandolin, etc.) may
 ;; use the same basic instrument.  Watch this space...
 (ns overtone.synth.stringed
@@ -83,7 +83,7 @@
                                        0.995))
                            ~note-gate-pairs)
              src# (~'* ~'pre-amp (mix strings#))
-             ;; distortion from fx-distortion2
+             ;; distortion from fx-distortion2
              k#   (~'/ (~'* 2 ~'distort) (~'- 1 ~'distort))
              dis# (~'/ (~'* src# (~'+ 1 k#))
                        (~'+ 1 (~'* k# (~'abs src#))))
@@ -121,7 +121,7 @@
    the previous note to be silenced; 0 or greater will also cause a
    new note event."
   ([the-strings the-inst string-index fret t]
-     (let [the-note (fret-to-note (nth the-strings string-index) fret)]
+     (let [the-note (fret-to-note (nth the-strings string-index) fret)]
        ;; turn off the previous note
        (if (>= the-note -1)
          (at t (ctl the-inst (mkarg "gate" string-index) 0)))
@@ -289,12 +289,12 @@

 ;; ======================================================================
 ;; Ektara - a single-string synth.  Mainly for use with the midi-poly-player.
-;;
+;;
 ;; Since "string" was too generic a name, I asked the google for some
 ;; help.  Wikipedia tells me that there is a single-stringed
 ;; instrument called the "Ektara", so that is where the name comes
 ;; from.
-;;
+;;
 ;; For use with midi-poly-player, we need to make the default gate 1.
 ;; Example:
 ;;   (def mpp (midi-poly-player (partial ektara :gate 1)))
@@ -303,4 +303,3 @@
 ;; silent.
 ;;
 (gen-stringed-synth ektara 1 true)
-


add debug-logging for OCR results.

add debug-logging for OCR results.

--- src/pepa/processor/page_ocr.clj
+++ src/pepa/processor/page_ocr.clj
@@ -63,6 +63,9 @@
       (pdf/with-reader [pdf (:data page)]
         (let [run-ocr (run-ocr-fn component (get-in component [:config :ocr]))
               [status text] (pdf/call-with-rendered-page-file pdf (:number page) :png 300 run-ocr)]
+          (log/debug component "Got OCR result for page" (:id page)
+                     {:status status
+                      :text-length (count text)})
           (db/update! db
                       :pages
                       {:ocr_text text


Help for configuration options (placeholder)

--- src/midje/doc.clj
+++ src/midje/doc.clj
@@ -5,16 +5,19 @@
             [midje.util.ecosystem :as ecosystem]))

 (def appropriate? ecosystem/running-in-repl?)
-(def for-sweet '[midje-help])
+(def for-sweet '[midje-help midje-configuration-help])
 (def for-repl  '[midje-repl-help print-level-help])

 (defn repl-notice []
   (println (color/note "Run `(midje-repl-help)` for descriptions of Midje repl functions.")))

 (defn midje-notice []
-  (println (color/note "For Midje usage, run `(midje-help)`.")))
-
-(defn ^{:doc "Midje repl help"} midje-repl-help []
+  (println (color/note "For Midje usage, run `(midje-help)`."))
+  (println (color/note "For Midje configuration options, run `(midje-configuration-help)`.")))
+
+(defn midje-repl-help
+  "Midje repl help"
+  []
   (println)
   (println "Here are Midje repl functions. Use `doc` for more info.")
   (println "To control verbosity of output, use print levels defined ")
@@ -94,7 +97,9 @@

-(defn ^{:doc "Midje help"} midje-help [& args]
+(defn midje-help
+  "Midje help"
+  [& args]
   (if (empty? args)
     (do
       (println "** Topics:")
@@ -212,3 +217,8 @@
           (println "..meta.. =contains=> {:a 1} ; partial specification of map-like object")
           (println "(f)      =streams=>  (range 5 1000)")
           (println "(f)      =throws=>   (IllegalArgumentException. \"boom\")"))))))
+
+(defn midje-configuration-help
+  "What can go in the .midje.clj files."
+  []
+  "Not implemented yet.")


Fix iterator-prop

Fix iterator-prop

--- src/aurora/btree.cljs
+++ src/aurora/btree.cljs
@@ -185,10 +185,16 @@
                    (.split! this max-keys)
                    (if (and (< (alength keys) min-keys) (instance? Node parent))
                      (.rotate-left! this max-keys)
-                     (if (== 0 (alength keys))
-                       (do
-                         (set! lower nil)
-                         (set! upper nil))
+                     (if (== (alength keys) 0)
+                       (if (nil? children)
+                         (do
+                           (set! lower nil)
+                           (set! upper nil))
+                         (do
+                           (assert (= 1 (alength children)))
+                           (assert (instance? Tree parent))
+                           (set! (.-parent (aget children 0)) parent)
+                           (set! (.-root parent) (aget children 0))))
                        (do
                          (.update-lower! this (if (nil? children) (aget keys 0) (.-lower (aget children 0))))
                          (.update-upper! this (if (nil? children) (aget keys (- (alength keys) 1)) (.-upper (aget children (- (alength children) 1))))))))))))
@@ -270,12 +276,13 @@
             (assert (= (seq keys) (seq (sort-by identity key-compare keys))))
             (assert (every? #(key-lte lower %) keys) (pr-str lower keys))
             (assert (every? #(key-gte upper %) keys) (pr-str upper keys))
-            (if (nil? children)
+            (if (= 0 (count children))
               (do
                 (assert (= (count keys) (count vals)) (pr-str keys vals))
                 (assert (= lower (aget keys 0)) (pr-str lower keys))
                 (assert (= upper (aget keys (- (alength keys) 1))) (pr-str upper keys)))
               (do
+                (assert (> (count keys) 0))
                 (dotimes [ix (count children)]
                   (assert (= ix (.-parent-ix (aget children ix)))))
                 (assert (= (count keys) (count vals) (dec (count children))) (pr-str keys vals children))
@@ -629,8 +636,8 @@
   (dc/quick-check 10000 (building-prop gen-assoc 1))
   (dc/quick-check 10000 (building-prop gen-action 1))
   ;; cljs.core.pr_str(cemerick.double_check.quick_check(1000, aurora.btree.building_prop(aurora.btree.gen_action)))
-  (dc/quick-check 10000 (lookup-prop gen-action))
-  (dc/quick-check 10000 iterator-prop)
+  (dc/quick-check 10000 (lookup-prop gen-action 1))
+  (dc/quick-check 10000 (iterator-prop 1))
   ;; cljs.core.pr_str(cemerick.double_check.quick_check(1000, aurora.btree.iterator_prop)
   (dc/quick-check 1000 intersection-prop)
   ;; cljs.core.pr_str(cemerick.double_check.quick_check(1000, aurora.btree.intersection_prop))


Stash more delete stuff

Stash more delete stuff

--- src/aurora/btree.cljs
+++ src/aurora/btree.cljs
@@ -1,5 +1,5 @@
 (ns aurora.btree
-  (:require-macros [aurora.macros :refer [apush lt lte gt gte]]))
+  (:require-macros [aurora.macros :refer [apush apush* lt lte gt gte set!!]]))

 ;; NOTE iterators are not write-safe

@@ -58,8 +58,8 @@
                   mid
                   (recur lo (- mid 1))))))))
   (assoc! [this key val max-keys]
-          (set! lower (if (lt lower key) lower key))
-          (set! upper (if (lt key upper) upper key))
+          (when (lt key lower) (set! lower key))
+          (when (gt key upper) (set! upper key))
           (let [ix (.seek this key 0)]
             (if (nil? children)
               (if (== key (aget keys ix))
@@ -130,11 +130,20 @@
                  (.dissoc! (aget children ix) key min-keys)))
              result))
   (remove! [this ix min-keys]
-           (assert (nil? children))
+           (prn "remove")
            (.splice keys ix 1)
            (.splice vals ix 1)
+           (when-not (nil? children)
+             (.splice children (+ ix 1) 1) ;; remove right child
+             (loop [jx (+ ix 1)]
+               (when (< jx (alength children))
+                 (let [child (aget children jx)]
+                   (set! (.-parent-ix child) (- (.-parent-ix child) 1)))
+                 (recur (+ jx 1)))))
            (when (< (alength keys) min-keys)
-             (.rotate-left! this min-keys)))
+             (cond
+              (instance? Node parent) (.rotate-left! this min-keys)
+              (== (alength keys) 0) (set! (.-root parent) (aget children 0)))))
   (rotate-left! [this min-keys]
                 (if (> parent-ix 0)
                   (let [left-node (aget (.-children parent) (- parent-ix 1))
@@ -142,6 +151,7 @@
                         left-vals (.-vals left-node)]
                     (if (> (alength left-keys) min-keys)
                       (do
+                        (prn "rotate-left")
                         (.unshift keys (.pop left-keys))
                         (.unshift vals (.pop left-vals))
                         (set! lower (aget keys 0))
@@ -155,31 +165,55 @@
                          right-vals (.-vals right-node)]
                      (if (> (alength right-keys) min-keys)
                        (do
+                         (prn "rotate-right")
                          (.push keys (.shift right-keys))
                          (.push vals (.shift right-vals))
                          (set! upper (aget keys (- (alength keys) 1)))
                          (set! (.-lower right-node) (aget right-keys 0)))
-                       (.merge! this)))
-                   (.merge! this)))
+                       (.merge! this min-keys)))
+                   (.merge! this min-keys)))
+  (merge! [this min-keys]
+          (prn "merge")
+          (let [separator-ix (if (> parent-ix 0) (- parent-ix 1) parent-ix)
+                left-node (aget (.-children parent) separator-ix)
+                right-node (aget (.-children parent) (+ separator-ix 1))
+                median-key (aget (.-keys parent) separator-ix)
+                median-val (aget (.-vals parent) separator-ix)]
+            (apush (.-keys left-node) median-key)
+            (apush (.-vals left-node) median-val)
+            (apush* (.-keys left-node) (.-keys right-node))
+            (apush* (.-vals left-node) (.-vals right-node))
+            (when-not (nil? children)
+              (apush* (.-children left-node) (.-children right-node)))
+            (set! (.-upper left-node) (.-upper right-node))
+            (.remove! parent separator-ix min-keys)))
+  (update-ranges! [this new-lower new-upper]
+                  ;; TODO this is wrong
+                  (when (lt new-lower lower) (set! lower new-lower))
+                  (when (gt new-upper upper) (set! upper new-upper))
+                  (if (and parent
+                           (or (== lower new-lower) (== upper new-upper)))
+                    (update-ranges! parent new-lower new-upper)))
   (valid! [this max-keys]
           (let [min-keys (js/Math.floor (/ max-keys 2))]
             (when (instance? Node parent) ;; root is allowed to have less keys
               (assert (>= (count keys) min-keys) (pr-str keys min-keys)))
             (assert (<= (count keys) max-keys) (pr-str keys max-keys))
-            (assert (= (count keys)) (inc (count children)))
             (assert (= (count keys) (count (set keys))))
             (assert (= (seq keys) (seq (sort-by identity #(cond (== %1 %2) 0 (lt %1 %2) -1 (gt %1 %2) 1) keys))))
-            (assert (every? #(lte lower %) keys) (pr-str lower keys))
-            (assert (every? #(gte upper %) keys) (pr-str upper keys))
+            #_(assert (every? #(lte lower %) keys) (pr-str lower keys))
+            #_(assert (every? #(gte upper %) keys) (pr-str upper keys))
             (if (nil? children)
               (do
-                (assert (= lower (aget keys 0)) (pr-str lower keys))
-                (assert (= upper (aget keys (- (alength keys) 1))) (pr-str upper keys)))
+                (assert (= (count keys) (count vals)) (pr-str keys vals))
+                #_(assert (= lower (aget keys 0)) (pr-str lower keys))
+                #_(assert (= upper (aget keys (- (alength keys) 1))) (pr-str upper keys)))
               (do
-                (assert (= lower (.-lower (aget children 0))) (pr-str lower (.-lower (aget children 0))))
-                (assert (= upper (.-upper (aget children (- (alength children) 1)))) (pr-str upper (.-upper (aget children (- (alength children) 1)))))
-                (assert (every? #((fn [a b] (gt a b)) (aget keys %) (.-upper (aget children %))) (range (count keys))))
-                (assert (every? #((fn [a b] (lt a b)) (aget keys %) (.-lower (aget children (inc %)))) (range (count keys))))
+                (assert (= (count keys) (count vals) (dec (count children))) (pr-str keys vals children))
+                #_(assert (= lower (.-lower (aget children 0))) (pr-str lower (.-lower (aget children 0))))
+                #_(assert (= upper (.-upper (aget children (- (alength children) 1)))) (pr-str upper (.-upper (aget children (- (alength children) 1)))))
+                #_(assert (every? #((fn [a b] (gt a b)) (aget keys %) (.-upper (aget children %))) (range (count keys))))
+                #_(assert (every? #((fn [a b] (lt a b)) (aget keys %) (.-lower (aget children (inc %)))) (range (count keys))))
                 (dotimes [i (count children)] (.valid! (aget children i) max-keys))))))
   (pretty-print [this]
                 (str "(" parent-ix ")" "|" (pr-str lower) " " (pr-str (vec keys)) " " (pr-str upper) "|")))
@@ -468,4 +502,43 @@
      (js/console.log tree)
      (for [i (range 10)] (.seek (iterator tree) i))
      ))
+
+  (let [tree (tree 1)]
+    (.assoc! tree "foo")
+    (.dissoc! tree "bar")
+    (.valid! tree)
+    tree)
+
+  (let [tree (tree 1)]
+    (.assoc! tree "foo")
+    (.assoc! tree "bar")
+    (.dissoc! tree "bar")
+    #_(.valid! tree)
+    tree)
+
+  (do
+    (def t (tree 1))
+    (.assoc! t "a" 0)
+    (.assoc! t 1 "b")
+    (.assoc! t "c" 2)
+    (.assoc! t 3 "d")
+    (.assoc! t "e" 4)
+    (.assoc! t 5 "f")
+    (.assoc! t "g" 6)
+    (.pretty-print t)
+    (.dissoc! t "a")
+    (.pretty-print t)
+    (js/console.log t)
+    (.valid! t)
+    t)
+
+  (let [tree (tree 1)]
+    (dotimes [i 1000]
+      (.assoc! tree (js/Math.sin i) (* 2 i)))
+    (dotimes [i 1000]
+      (print i)
+      (.valid! tree)
+      (.dissoc! tree (js/Math.sin i) (* 2 i)))
+    #_(.valid! tree)
+    (= (map #(.apply vector nil %) tree) (sort (for [i (range 1000)] [(js/Math.sin i) (* 2 i)]))))
   )


Remove useless booleans

Remove useless booleans

--- src/aurora/btree.cljs
+++ src/aurora/btree.cljs
@@ -85,11 +85,9 @@
       (if (< i as-len)
         (let [a (aget as i)
               b (aget bs i)]
-          (if (or (and (identical? (typeof a) (typeof b))
-                       (< a b))
-                  (< (typeof a) (typeof b)))
-            true
-            false))
+          (or (and (identical? (typeof a) (typeof b))
+                   (< a b))
+              (< (typeof a) (typeof b))))
         false))))

 (defn ^boolean key-gt [as bs]
@@ -100,11 +98,9 @@
       (if (< i as-len)
         (let [a (aget as i)
               b (aget bs i)]
-          (if (or (and (identical? (typeof a) (typeof b))
-                       (> a b))
-                  (> (typeof a) (typeof b)))
-            true
-            false))
+          (or (and (identical? (typeof a) (typeof b))
+                   (> a b))
+              (> (typeof a) (typeof b))))
         false))))

 (defn ^boolean key-lte [as bs]
@@ -940,7 +936,7 @@
        (dotimes [i 500000]
          (.assoc! tree #js [i i i] (* 2 i))))))

-  (f)
+  (time (dotimes [_ 10] (f)))

   (defn g []
     (time
@@ -948,7 +944,7 @@
        (dotimes [i 500000]
          (.assoc! tree (if (even? i) #js [i i i] #js [(str i) (str i) (str i)]) (* 2 i))))))

-  (g)
+  (time (dotimes [_ 10] (g)))

   (defn h []
     (time


Catch not= throwing exceptions and log a warning

--- src/reagent/impl/component.cljs
+++ src/reagent/impl/component.cljs
@@ -167,7 +167,10 @@
                          new-argv ($ nextprops :argv)
                          noargv (or (nil? old-argv) (nil? new-argv))]
                      (cond
-                       (nil? f) (or noargv (not= old-argv new-argv))
+                       (nil? f) (or noargv (try (not= old-argv new-argv)
+                                                (catch :default e
+                                                  (warn "Exception thrown while comparing argv's in shouldComponentUpdate. You probably need to set different keys." old-argv new-argv e)
+                                                  false)))
                        noargv (.call f c c (get-argv c) (props-argv c nextprops))
                        :else  (.call f c c old-argv new-argv))))))


remove cruft from channels

remove cruft from channels

--- src/real_dashboard/channels.clj
+++ src/real_dashboard/channels.clj
@@ -1,78 +1,5 @@
 (ns real-dashboard.channels
   (require [clojure.core.async :refer :all]))
-
-(def MOVES [:rock :paper :scissors])
-(def BEATS {:rock :scissors, :paper :rock, :scissors :paper})
-
-(defn winner
-  "Based on two moves, return the name of the winner."
-  [[name1 move1] [name2 move2]]
-  (cond
-   (= move1 move2) "no one"
-   (= move2 (BEATS move1)) name1
-   :else name2))
-
-(defn random-player
-  "Create a named player and return a channel to report moves."
-  [name]
-  (let [out (chan)]
-    (go (while true (>! out [name (rand-nth MOVES)])))
-    out))
-
-(defn always-player
-  "Create a named player that always returns the same move via its output channel"
-  [name move]
-  (let [out (chan)]
-    (go (while true (>! out [name move])))
-    out))
-
-(defn judge
-  "Given two channels on which players report moves, create and return an
-   output channel to report the results of each match as [move1 move2 winner]."
-  [player1 player2]
-  (let [out (chan)]
-    (go
-     (while true
-       (let [move1 (<! player1)
-             move2 (<! player2)]
-         (>! out [move1 move2 (winner move1 move2)]))))
-    out))
-
-(defn init
-  "Create 2 players (by default Alice and Bob) and return an output channel of match results."
-  ([] (init "Alice" "Bob"))
-  ([n1 n2] (judge (random-player n1) (random-player n2)))
-  ([player1 player2] (judge player1 player2)))
-
-(defn init-game
-  "Create game given 2 players return an output channel of match results."
-  ([player1 player2] (judge player1 player2)))
-
-(defn report
-  "Report results of a match to the console."
-  [[name1 move1] [name2 move2] winner]
-  (println)
-  (println name1 "throws" move1)
-  (println name2 "throws" move2)
-  (println winner "wins!"))
-
-(defn play
-  "Play by taking a match reporting channel and reporting the results of the latest match."
-  [out-chan]
-  (apply report (<!! out-chan)))
-
-(defn play-many
-  "Play n matches from out-chan and report a summary of the results."
-  [out-chan n]
-  (loop [remaining n
-         results {}]
-    (if (zero? remaining)
-      results
-      (let [[m1 m2 winner] (<!! out-chan)]
-        (recur (dec remaining)
-               (merge-with + results {winner 1}))))))
-
-

 (defn process_tweet [text timer_ch]
   (println text)


cleanup & +TODO

cleanup & +TODO

--- src/babel/english/grammar.cljc
+++ src/babel/english/grammar.cljc
@@ -24,7 +24,6 @@
    [dag_unify.core :refer (get-in remove-matching-keys unifyc)]))

 (declare cache)
-(declare grammar)

 (def hc-agreement
   (let [agr (atom :top)]
@@ -365,6 +364,8 @@
                    :head {:synsem {:modal ref}}}))
         true phrase))

+;; TODO: rewrite this and and above 2 functions into
+;; a single threaded (->) function.
 (def grammar
   (map (fn [phrase]
          (modal-is-head-feature


+think, meld with previous commit

+think, meld with previous commit

--- src/babel/english/lexicon.cljc
+++ src/babel/english/lexicon.cljc
@@ -1772,10 +1772,19 @@
                     :pred :loro}
               :subcat '()}}]

-   "think" {:synsem {:cat :verb
-                     :sem {:pred :think }}
-            :english {:past "thought"}}
-
+   "think" (let [common {:synsem {:cat :verb
+                                  :subcat {:1 {:cat :noun
+                                               :sem {:human true}}}}
+                         :english {:past "thought"}}]
+             [(unify common
+                     {:synsem {:sem {:pred :think}
+                               :subcat {:2 '()}}}) ;; intransitive
+
+              (unify common
+                     {:synsem {:sem {:pred :think}
+                               :subcat {:2 {:cat :comp ;; "that"
+                                            :subcat '()}
+                                        :3 '()}}})])
    "throw" {:english {:past "threw"}
             :synsem {:cat :verb
                      :sem {:pred :throw}}}


cleanup

cleanup

--- src/babel/espanol/grammar.cljc
+++ src/babel/espanol/grammar.cljc
@@ -4,7 +4,7 @@
    [babel.espanol.lexicon :refer [lexicon]]
    [babel.espanol.morphology :as morph
     :refer [analyze fo morph-walk-tree]]
-   [babel.index :refer [build-lex-sch-index create-indices lookup-spec]]
+   [babel.index :refer [create-indices lookup-spec]]
    [babel.lexiconfn :refer [lexicon-for-generation]]
    [babel.parse :as parse]
    [babel.stringutils :refer [show-as-tree]]


comment out ‘profiter (de)’ for now

comment out ‘profiter (de)’ for now

--- src/babel/francais/lexicon.clj
+++ src/babel/francais/lexicon.clj
@@ -113,8 +113,8 @@
                     :pred :voi}
              :subcat '()}}

-  "profiter (de)" {:synsem {:cat :verb
-                            :sem {:pred :take-advantage-of}}}
+;  "profiter (de)" {:synsem {:cat :verb
+;                            :sem {:pred :take-advantage-of}}}

   "assurer" [{:synsem {:cat :verb
                        :sem {:pred :assure}}}


Adds dummy add-cadence function to model.

--- src/cadence/model.clj
+++ src/cadence/model.clj
@@ -32,6 +32,9 @@
                     (for [[k v] user :when (vali/has-value? v)] k))
                   :password (hash-bcrypt (:password user)))))

+(defn add-cadence [cadence]
+  true)
+
 (def identity #(get friend/*identity* :current))

 (defn get-phrase []


Make braille-grade-raw-to-braille-grade more robust

against nil grade

--- src/catalog/vubis.clj
+++ src/catalog/vubis.clj
@@ -168,11 +168,12 @@
 (defn braille-grade-raw-to-braille-grade
   "Mapping between braille-grade-raw and braille-grade"
   [grade]
-  (condp #(string/starts-with? %2 %1) grade
-    "k" :kurzschrift
-    "v" :vollschrift
-    "s" :schwarzschrift
-    nil))
+  (when grade
+    (condp #(string/starts-with? %2 %1) grade
+      "k" :kurzschrift
+      "v" :vollschrift
+      "s" :schwarzschrift
+      nil)))

 (def braille-music-grade-raw-to-braille-grade
   "Mapping between braille-music-grade-raw and braille-grade"


Oops, commit changes for quest db

Oops, commit changes for quest db

--- src/braid/server/quests/db.clj
+++ src/braid/server/quests/db.clj
@@ -1,37 +1,39 @@
 (ns braid.server.quests.db
   (:require [datomic.api :as d]
+            [braid.server.db :as db]
             [braid.server.db.common :refer [quest-record-pull-pattern]]))

 ; Queries

-(defn get-active-quests-for-user-id [conn user-id]
+(defn get-active-quests-for-user-id
+  [user-id]
   (->> (d/q '[:find (pull ?qr pull-pattern)
               :in $ ?user-id pull-pattern
               :where
               [?qr :quest-record/user ?u]
               [?u :user/id ?user-id]
               [?qr :quest-record/state :active]]
-            (d/db conn)
+            (db/db)
             user-id
             quest-record-pull-pattern)
        (map first)))

 ; Transactions

-(defn upsert-quest-record! [conn user-id quest-record]
-  (let [db-id (if (d/entity (d/db conn) [:quest-record/id (quest-record :id)])
+(defn upsert-quest-record-txn
+  [user-id quest-record]
+  (let [db-id (if (d/entity (db/db) [:quest-record/id (quest-record :id)])
                 [:quest-record/id (quest-record :quest-record/id)]
                 (d/tempid :entities))]
-    @(d/transact conn [(assoc quest-record :db/id db-id)])))
+    [(assoc quest-record :db/id db-id)]))

-(defn activate-first-quests! [conn user-id]
-  (let [txs (->> [:quest/quest-complete :quest/conversation-new :quest/conversation-reply]
-                 (map (fn [quest-id]
-                        {:db/id (d/tempid :entities)
-                         :quest-record/id (d/squuid)
-                         :quest-record/user [:user/id user-id]
-                         :quest-record/quest-id quest-id
-                         :quest-record/progress 0
-                         :quest-record/state :active})))]
-    @(d/transact conn txs)))
-
+(defn activate-first-quests-txn
+  [user-id]
+  (->> [:quest/quest-complete :quest/conversation-new :quest/conversation-reply]
+       (map (fn [quest-id]
+              {:db/id (d/tempid :entities)
+               :quest-record/id (d/squuid)
+               :quest-record/user [:user/id user-id]
+               :quest-record/quest-id quest-id
+               :quest-record/progress 0
+               :quest-record/state :active}))))


fix ordering of cljs fns

fix ordering of cljs fns

--- src/semtag_web/client/main.cljs
+++ src/semtag_web/client/main.cljs
@@ -95,16 +95,15 @@
                              :type "POST"
                              :data {:id id})))))

-(defn- frequency-stat [title data]
-  (format "%s: %s - %s" title (count data) (frequencies-string data)))
-
-(defn frequencies-string [items]
+(defn- frequencies-string [items]
   (->> items
        frequencies
        (sort-by #(second %1) (fn [a b] (> a b)))
        (map #(format "%s %s" (second %1) (name (first %1))))
        (clojure.string/join ", ")))

+(defn- frequency-stat [title data]
+  (format "%s: %s - %s" title (count data) (frequencies-string data)))

 (defn- create-search-table [parent {things :things tags :tags}]
   (jq/remove ($ :#search_table))


RS | Refactoring translation.clj requires

--- src/stonecutter/translation.clj
+++ src/stonecutter/translation.clj
@@ -1,6 +1,6 @@
 (ns stonecutter.translation
   (:require [clj-yaml.core :as yaml]
-            [clojure.java.io :refer [resource]]
+            [clojure.java.io :as io]
             [clojure.tools.logging :as log]
             [traduki.core :as t]))

@@ -9,7 +9,7 @@

 (defn load-translations-from-file [file-name]
   (-> file-name
-      resource
+      io/resource
       slurp
       load-translations-from-string))

@@ -25,4 +25,4 @@
       translation)))

 (defn context-translate [enlive-m context]
-  (t/translate (:translator context) enlive-m))+  (t/translate (:translator context) enlive-m))


Add defpipeline macro to mark pipeline entry points.

--- src/tabular/grafter/tabular.clj
+++ src/tabular/grafter/tabular.clj
@@ -579,6 +579,20 @@
                      k
                      (nth (get in-m k) i)))))))

+(defmacro defpipeline
+  "Declares an entry point to a grafter pipeline, allowing it to be
+  exposed to the Grafter import service and executed via the leiningen
+  plugin.
+
+  It has the same form as \"defn\" but adds metadata to the defined
+  var that lets pipelines be discovered at runtime through both
+  syntactic and meta-data means."
+  ([& args]
+   (let [defppln (cons 'defn args)]
+     `(let [var# ~defppln
+            vmeta# (meta var#)]
+        (alter-meta! var# (fn [_#] (merge vmeta# {:pipeline true})))))))
+
 (comment
   ;; TODO implement inner join, maybe l/r outer joins too
   (defn join [csv f & others]


Remove lots of requires that handler doesn't need anymore

--- src/clj/herder/web/handler.clj
+++ src/clj/herder/web/handler.clj
@@ -1,13 +1,7 @@
 (ns herder.web.handler
   (:require
    [compojure.route :as route]
-   [compojure.core :refer [defroutes GET POST PUT context] :as compojure]
-   [ring.middleware.defaults :refer [wrap-defaults api-defaults]]
-   [ring.util.response :refer [file-response content-type]]
-   [ring.middleware.json :refer [wrap-json-response wrap-json-params]]
-   [ring.middleware.keyword-params :refer [wrap-keyword-params]]
-   [ring.util.anti-forgery :refer [anti-forgery-field]]
-   [korma.core :as d]
+   [compojure.core :refer [defroutes GET context] :as compojure]
    [korma.db :as kd]
    [reloaded.repl :refer [system]]
    [clostache.parser :as clostache]


validation testing

validation testing

--- src/clj/traveler/api/users.clj
+++ src/clj/traveler/api/users.clj
@@ -30,5 +30,20 @@
     [:email email-address? "must be a valid email address"]
     [:policies_assent_date present? "must be present"]))

+;;testing
+
+;(def user {:id-sk "00392"
+;           :username "mgeorge"
+;           :password "kaj309jdfna0sd9flk4nas2"
+;           :privilege "ADMIN"
+;           :lastname "George"
+;           :firstname "Michael"
+;           :email "mgeorge@vlacs.org"
+;           :policies_assent_date "2001-03-02"
+;           })
+
+
+;;end testing
+
 (defn add-user [ctx]
   (gen-response "This endpoint is not implemented yet!"))


only refresh doc-ta when content changes - that way a text selection remains valid - seems to work well

--- src/clj_ns_browser/browser.clj
+++ src/clj_ns_browser/browser.clj
@@ -522,7 +522,8 @@
         (fn [[doc-tf doc-cbx]]
           (future
             (let [s (render-doc-text doc-tf doc-cbx)]
-              (invoke-soon (config! (id :doc-ta) :text s)))))))
+              (when-not (= s (config (id :doc-ta) :text))
+                (invoke-soon (config! (id :doc-ta) :text s))))))))
     ;;
     ;; new text in doc-ta => scroll to top
     (b/bind


Remove unused function

Remove unused function

--- src/clojure/nightmod/utils.clj
+++ src/clojure/nightmod/utils.clj
@@ -32,10 +32,6 @@
 (defn get-data-dir
   []
   (.getCanonicalPath (io/file (System/getProperty "user.home") "Nightmod")))
-
-(defn format-date
-  [unix-time]
-  (.format (SimpleDateFormat. "yyyy.MM.dd HH:mm:ss") unix-time))

 (defn format-project-dir
   [project-name]


tweak inlining data structure macros so they return empty collections

--- src/clj/cljs/core.clj
+++ src/clj/cljs/core.clj
@@ -1294,25 +1294,29 @@
     `(-conj (list ~@xs) ~x)))

 (defmacro vector
-  [& xs]
-  `[~@xs])
+  ([] [])
+  ([& xs]
+    `[~@xs]))

 (defmacro array-map
-  [& kvs]
-  (if (core/> (count kvs) 8)
-    `(hash-map ~@kvs)
-    `(cljs.core.PersistentArrayMap.fromArray (array ~@kvs) true)))
+  ([] {})
+  ([& kvs]
+    (if (core/> (count kvs) 8)
+      `(hash-map ~@kvs)
+      `(cljs.core.PersistentArrayMap.fromArray (array ~@kvs) true))))

 (defmacro hash-map
-  [& kvs]
-  (let [pairs (partition 2 kvs)
-        ks    (map first pairs)
-        vs    (map second pairs)]
-    `(cljs.core.PersistentHashMap.fromArrays (array ~@ks) (array ~@vs))))
+  ([] {})
+  ([& kvs]
+    (let [pairs (partition 2 kvs)
+           ks    (map first pairs)
+           vs    (map second pairs)]
+      `(cljs.core.PersistentHashMap.fromArrays (array ~@ks) (array ~@vs)))))

 (defmacro hash-set
-  [& xs]
-  `#{~@xs})
+  ([] #{})
+  ([& xs]
+    `#{~@xs}))

 (defmacro js-obj [& rest]
   (let [kvs-str (->> (repeat "~{}:~{}")


defrecords are ICloneable

defrecords are ICloneable

--- src/clj/cljs/core.clj
+++ src/clj/cljs/core.clj
@@ -859,6 +859,8 @@
           impls (concat
                  impls
                  ['IRecord
+                  'ICloneable
+                  `(~'-clone [this#] (new ~tagname ~@fields))
                   'IHash
                   `(~'-hash [this#] (caching-hash this# ~'hash-imap ~'__hash))
                   'IEquiv


`cljs.repl/analyze-source` needs to take compiler opts so can leverage :cache-analysis. move down so can leverage merged opts

--- src/clj/cljs/repl.clj
+++ src/clj/cljs/repl.clj
@@ -519,11 +519,12 @@
 (defn analyze-source
   "Given a source directory, analyzes all .cljs files. Used to populate
   (:cljs.analyzer/namespaces compiler-env) so as to support code reflection."
-  [src-dir]
-  (if-let [src-dir (and (not (empty? src-dir))
-                     (File. src-dir))]
-    (doseq [file (comp/cljs-files-in src-dir)]
-      (ana/analyze-file (str "file://" (.getAbsolutePath file))))))
+  ([src-dir] (analyze-source src-dir nil))
+  ([src-dir opts]
+    (if-let [src-dir (and (not (empty? src-dir))
+                       (File. src-dir))]
+      (doseq [file (comp/cljs-files-in src-dir)]
+        (ana/analyze-file (str "file://" (.getAbsolutePath file)) opts)))))

 (defn repl*
   [repl-env opts]
@@ -547,8 +548,6 @@
                ana/*cljs-static-fns* static-fns]
        ;; TODO: the follow should become dead code when the REPL is
        ;; sufficiently enhanced to understand :cache-analysis - David
-       (when analyze-path
-         (analyze-source analyze-path))
        (let [env {:context :expr :locals {}}
              special-fns (merge default-special-fns special-fns)
              is-special-fn? (set (keys special-fns))
@@ -560,6 +559,8 @@
                     opts)]
          (comp/with-core-cljs opts
            (fn []
+             (when analyze-path
+               (analyze-source analyze-path opts))
              (evaluate-form repl-env env "<cljs repl>"
                (with-meta
                  '(ns cljs.user


`cljs.test/testing` needs to perform the same transform as `cljs.test/deftest`

--- src/clj/cljs/test.clj
+++ src/clj/cljs/test.clj
@@ -182,11 +182,16 @@
           (update-in env# [:testing-contexts] conj ~string)
           [~@body]))
      `(:last-value
-       (reduce #(%2 %1)
+       (reduce
+         (fn [env'# thunk#]
+           (let [ret# (thunk#)]
+             (if (fn? ret#)
+               (ret# env'#)
+               env'#)))
          (update-in (assoc (cljs.test/empty-env) :return true)
            [:testing-contexts] conj ~string)
          (let [~'cljs$lang$test$body nil]
-           [~@body]))))))
+           [~@(map (fn [expr] `(fn [] ~expr)) body)]))))))

 ;; =============================================================================
 ;; Defining Tests


fix missing extra params when hosting

fix missing extra params when hosting

--- src/clj/game/core.clj
+++ src/clj/game/core.clj
@@ -789,11 +789,12 @@

 (defn runner-install
   ([state side card] (runner-install state side card nil))
-  ([state side {:keys [title type cost memoryunits uniqueness] :as card} {:keys [extra-cost no-cost host-card]}]
+  ([state side {:keys [title type cost memoryunits uniqueness] :as card}
+    {:keys [extra-cost no-cost host-card] :as params}]
    (if-let [hosting (and (not host-card) (:hosting (card-def card)))]
      (resolve-ability state side
                       {:choices hosting
-                       :effect (effect (runner-install card {:host-card target}))} card nil)
+                       :effect (effect (runner-install card (assoc params :host-card target)))} card nil)
      (let [cost (if no-cost 0 cost)]
        (when (and (or (not uniqueness) (not (in-play? state card)))
                   (if-let [req (:req (card-def card))]


Add ability to pass-in reified redirect-strategy

--- src/clj_http/core.clj
+++ src/clj_http/core.clj
@@ -84,7 +84,9 @@
     :default (DefaultRedirectStrategy/INSTANCE)
     :lax (LaxRedirectStrategy.)
     nil (DefaultRedirectStrategy/INSTANCE)
-    (DefaultRedirectStrategy/INSTANCE)))
+
+    ;; use directly as reifed RedirectStrategy
+    redirect-strategy))

 (defn ^HttpClientBuilder add-retry-handler [^HttpClientBuilder builder handler]
   (when handler


state updater

state updater

--- src/cljs_dnd/core.clj
+++ src/cljs_dnd/core.clj
@@ -9,12 +9,19 @@
   (:import [goog.events EventType]))

+(defn update-state [key val]
+  (let [keyz (set (keys @state))]
+    (if (contains? keyz key)
+      (swap! state assoc key val)
+      ("ERROR"))))
+
 (defn parse-event [e]
-  {:index (-> e .-target .-dataset .-index int) ;; index of hovering or hoverable item?
-   :drag-index (:drag-index @dnd-store)
-   :brect-bottom (-> e .-target .getBoundingClientRect .-bottom)
-   :brect-top (-> e .-target .getBoundingClientRect .-top)
-   :middle-y (/ (- brect-bottom brect-top) 2)
+  {:hix (-> e .-target .-dataset .-index int) ;; index of hovering or hoverable item?
+   :dix (:dix @state)         ;; and here?
+
+   :item-bottom (-> e .-target .getBoundingClientRect .-bottom)
+   :item-top (-> e .-target .getBoundingClientRect .-top)
+   :item-mid (/ (- brect-bottom brect-top) 2)
    :item-type  (-> e .-target .-dataset .-type)
    :event-type (-> e .-type)}) ;; TODO check!

@@ -33,6 +40,10 @@
 (defn on-drag-end [e]
   "nimp")

+; (defn- events->chan [el event-type c]
+;   (events/listen el event-type #(put! c %))
+;   c)
+
 (defn listen! []
   (events/listen js/window EventType.DRAGSTART on-drag-start)
   (events/listen js/window EventType.DRAGOVER on-drag-over)
@@ -42,10 +53,10 @@

   (go-loop []
      (let [e (<! dnd-chan)
-           {:keys [hover client-y]} e        ;; destruct event
-           {:keys [drag-index]} @dnd-store]  ;; destruct state
+           {:keys [hix cli-y]} e        ;; destruct event
+           {:keys [drag-index]} @state]  ;; destruct state

-        (when-not (= drag-index (:index hover))
+        (when-not (= dix hix)
           (dispatch [:reorder_msg drag-index hover client-y]))

        (recur))))


Bump version

Bump version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject neko "1.1.2-SNAPSHOT"
+(defproject neko "1.1.3"
   :description "Neko is a toolkit designed to make Android development using Clojure easier and more fun."
   :url "http://example.com/FIXME"
   :license {:name "Eclipse Public License"


Update build plugins.

Update build plugins.

--- project.clj
+++ project.clj
@@ -75,9 +75,9 @@
                    :env {:dev "true"}}
              :uberjar {:env {:production "true"}
                        :aot :all}}
-  :plugins [[lein-codox "0.9.4"]
-            [org.clojars.brunchboy/lein-dash "0.2.1-SNAPSHOT"]
-            [lein-environ "1.0.2"]]
+  :plugins [[lein-codox "0.10.3"]
+            [lein-dash "0.2.1"]
+            [lein-environ "1.1.0"]]

   :codox {:output-path "api-doc"
           :source-uri "https://github.com/brunchboy/afterglow/blob/master/{filepath}#L{line}"


Latest dependencies

Latest dependencies

--- project.clj
+++ project.clj
@@ -1,17 +1,17 @@
-(defproject hyped "0.1.0-SNAPSHOT"
+(defproject hyped "0.2.0-SNAPSHOT"
   :description "FIXME: write this!"
   :url "http://example.com/FIXME"
   :license {:name "MIT License"
             :url  "https://opensource.org/licenses/MIT"}
   ; :pedantic? :abort
-  :dependencies [[org.clojure/clojure "1.8.0"]
-                 [org.clojure/clojurescript "1.8.51"]
-                 [fipp "0.6.5"]
-                 [devcards "0.2.1-6"]
-                 [cljsjs/react "0.14.3-0"]
-                 [cljsjs/react-dom "0.14.3-1"]
-                 [sablono "0.3.4"]
-                 [org.clojure/math.combinatorics "0.1.1"]
+  :dependencies [[org.clojure/clojure "1.9.0-alpha13"]
+                 [org.clojure/clojurescript "1.9.229"]
+                 [fipp "0.6.6"]
+                 [devcards "0.2.2"]
+                 [cljsjs/react "15.3.1-0"]
+                 [cljsjs/react-dom "15.3.1-0"]
+                 [sablono "0.7.4"]
+                 [org.clojure/math.combinatorics "0.1.3"]
                  ;lein localrepo install .../z3/bin/com.microsoft.z3.jar com.microsoft/z3 4.4.2-SNAPSHOT
                  ;cp .../z3/bin/{libz3java.dylib,libz3.dylib,libz3.a} native/macosx/x86_64/
                  ;jar -cMf com.microsoft.z3-native.jar native
@@ -19,32 +19,30 @@
                  [com.microsoft/z3 "4.4.2-SNAPSHOT"]
                  [com.microsoft/z3-native "4.4.2-SNAPSHOT"]
                  [org.clojure/test.check "0.9.0"]
-                 [binaryage/devtools "0.5.2"]
-                 [compojure "1.5.0"]
-                 [ring "1.4.0"]
+                 [binaryage/devtools "0.8.2"]
+                 [compojure "1.5.1"]
+                 [ring "1.5.0"]
                  [ring-server "0.4.0"]
-                 [org.clojure/core.async "0.2.374"]
-                 [com.cognitect/transit-clj "0.8.285"]
-                 [com.cognitect/transit-cljs "0.8.237"]
+                 [org.clojure/core.async "0.2.391"]
+                 [com.cognitect/transit-clj "0.8.290"]
+                 [com.cognitect/transit-cljs "0.8.239"]
                  [servant "0.1.5"]
-                 [cljs-http "0.1.40"]
-                 #_[org.omcljs/om "0.8.8"]
-                 #_[reagent "0.5.0"]]
+                 [cljs-http "0.1.41"]]

   :source-paths ["src"]

-  :profiles {:dev  {:dependencies [[figwheel-sidecar "0.5.4-2"]
+  :profiles {:dev  {:dependencies [[figwheel-sidecar "0.5.8"]
                                    [com.cemerick/piggieback "0.2.1"]
                                    [difform "1.1.2"]]
                     :source-paths ["src"]}
-             :repl {:plugins      [[cider/cider-nrepl "0.10.1"]]
+             :repl {:plugins      [[cider/cider-nrepl "0.13.0"]]
                     :source-paths ["src" "dev-src"]}}

   :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}

-  :plugins [[lein-cljsbuild "1.1.3"]
+  :plugins [[lein-cljsbuild "1.1.4"]
             [lein-localrepo "0.5.3"]
-            [lein-figwheel "0.5.4-2" :exclusions [org.clojure/clojure]]
+            [lein-figwheel "0.5.8" :exclusions [org.clojure/clojure]]
             [lein-ring "0.9.7" :exclusions [org.clojure/clojure]]]

   :ring {:handler ha.services/services}


Updated deps.

Updated deps.

--- project.clj
+++ project.clj
@@ -25,7 +25,7 @@
     [cheshire "5.8.0"]
     [clojusc/trifl "0.2.0"]
     [clojusc/twig "0.3.2"]
-    [com.esri.geometry/esri-geometry-api "2.1.0"]
+    [com.esri.geometry/esri-geometry-api "2.2.0"]
     [com.stuartsierra/component "0.3.2"]
     [com.vividsolutions/jts "1.13"]
     [environ "1.1.0"]
@@ -35,19 +35,23 @@
     [gov.nasa.earthdata/cmr-site-templates "0.1.0-SNAPSHOT"]
     [http-kit "2.3.0"]
     [markdown-clj "1.0.2"]
-    [metosin/reitit-core "0.1.1-SNAPSHOT"]
-    [metosin/reitit-ring "0.1.1-SNAPSHOT"]
+    [metosin/reitit-core "0.1.3"]
+    [metosin/reitit-ring "0.1.3"]
     [metosin/ring-http-response "0.9.0"]
     [net.sf.geographiclib/GeographicLib-Java "1.49"]
     [org.clojure/clojure "1.9.0"]
     [org.clojure/core.async "0.4.474"]
     [org.clojure/core.cache "0.7.1"]
     [org.clojure/data.xml "0.2.0-alpha5"]
+    [org.geotools/gt-geometry "19.1"]
+    [org.geotools/gt-referencing "19.1"]
     [ring/ring-core "1.6.3"]
-    [ring/ring-codec "1.1.0"]
-    [ring/ring-defaults "0.3.1"]
-    [selmer "1.11.7"]
+    [ring/ring-codec "1.1.1"]
+    [ring/ring-defaults "0.3.2"]
+    [selmer "1.11.8"]
     [tolitius/xml-in "0.1.0"]]
+  :repositories [
+    ["osgeo" "https://download.osgeo.org/webdav/geotools"]]
   :jvm-opts ["-XX:-OmitStackTraceInFastThrow"
              "-Xms2g"
              "-Xmx2g"]
@@ -83,7 +87,7 @@
       :source-paths ^:replace ["src"]
       :test-paths ^:replace []
       :plugins [
-        [jonase/eastwood "0.2.5"]
+        [jonase/eastwood "0.2.8"]
         [lein-ancient "0.6.15"]
         [lein-bikeshed "0.5.1"]
         [lein-kibit "0.1.6"]
@@ -93,7 +97,7 @@
         [clojusc/ltest "0.3.0"]]
       :plugins [
         [lein-ltest "0.3.0"]
-        [test2junit "1.4.0"]]
+        [test2junit "1.4.2"]]
       :test2junit-output-dir "junit-test-results"
       :test-selectors {
         :unit #(not (or (:integration %) (:system %)))
@@ -104,7 +108,7 @@
       :dependencies [
         [gov.nasa.earthdata/codox-theme "1.0.0-SNAPSHOT"]]
       :plugins [
-        [lein-codox "0.10.3"]
+        [lein-codox "0.10.4"]
         [lein-marginalia "0.9.1"]]
       :source-paths ["resources/docs/src"]
       :codox {


Set project version to 2.0.0-SNAPSHOT

Set project version to 2.0.0-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject funcool/promesa "1.10.0-SNAPSHOT"
+(defproject funcool/promesa "2.0.0-SNAPSHOT"
   :description "A promise library for ClojureScript"
   :url "https://github.com/funcool/promesa"
   :license {:name "BSD (2 Clause)"


Version 1.5.7

Version 1.5.7

--- project.clj
+++ project.clj
@@ -2,7 +2,7 @@
 (def ks-version "1.3.0")
 (def jetty-version "9.2.10.v20150310")

-(defproject puppetlabs/trapperkeeper-webserver-jetty9 "1.5.7-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper-webserver-jetty9 "1.5.7"
   :description "A jetty9-based webserver implementation for use with the puppetlabs/trapperkeeper service framework."
   :url "https://github.com/puppetlabs/trapperkeeper-webserver-jetty9"
   :license {:name "Apache License, Version 2.0"


Set version to 1.0.0-SNAPSHOT

Set version to 1.0.0-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject funcool/cats "0.7.0-SNAPSHOT"
+(defproject funcool/cats "1.0.0-SNAPSHOT"
   :description "Category Theory abstractions for Clojure"
   :url "https://github.com/funcool/cats"
   :license {:name "BSD (2 Clause)"


update osc-clj dependency to 0.6.2 which has error handling for bogus timestamps

--- project.clj
+++ project.clj
@@ -9,7 +9,7 @@
                  [org.clojure/clojure-contrib "1.2.0"]
                  [overtone/scsynth-jna "0.1.2-SNAPSHOT"]
                  [overtone/at-at "0.1.1"]
-                 [overtone/osc-clj "0.6.1"]
+                 [overtone/osc-clj "0.6.2"]
                  [overtone/byte-spec "0.2.0-SNAPSHOT"]
                  [overtone/midi-clj "0.2.0-SNAPSHOT"]
                  [org.clojars.overtone/vijual "0.2.1"]]


upgrade to latest pedestal

upgrade to latest pedestal

--- project.clj
+++ project.clj
@@ -4,18 +4,15 @@
   :license {:name "The MIT License"
             :url "https://en.wikipedia.org/wiki/MIT_License"}
   :dependencies [[org.clojure/clojure "1.5.0"]
-                 [io.pedestal/pedestal.service "0.1.5"]
+                 [io.pedestal/pedestal.service "0.1.10"]
                  [de.ubercode.clostache/clostache "1.3.1"]
                  [tentacles "0.2.4"]
                  [table "0.4.0"]

-                 ;; Remove this line and uncomment the next line to
-                 ;; use Tomcat instead of Jetty:
-                 [io.pedestal/pedestal.jetty "0.1.3"]
-                 ;; [io.pedestal/pedestal.tomcat "0.1.3"]
+                 [io.pedestal/pedestal.jetty "0.1.10"]

                  ;; Logging
-                 [ch.qos.logback/logback-classic "1.0.7"]
+                 [ch.qos.logback/logback-classic "1.0.7" :exclusions [org.slf4j/slf4j-api]]
                  [org.slf4j/jul-to-slf4j "1.7.2"]
                  [org.slf4j/jcl-over-slf4j "1.7.2"]
                  [org.slf4j/log4j-over-slf4j "1.7.2"]]


Release 0.39.0.

Release 0.39.0.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject de.active-group/active-clojure "0.39.0-SNAPSHOT"
+(defproject de.active-group/active-clojure "0.39.0"
   :description "Active Clojure: Various Clojure utilities in use at Active Group"
   :url "http://github.com/active-group/active-clojure"
   :license {:name "Eclipse Public License"


Release version 0.12.0.0.

Release version 0.12.0.0.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onyx-cheat-sheet "0.12.0.0-SNAPSHOT"
+(defproject onyx-cheat-sheet "0.12.0.0"
   :description "Cheat sheet for Onyx"
   :url "https://github.com/onyx-platform/onyx-cheat-sheet"
   :license {:name "Eclipse Public License"
@@ -16,7 +16,7 @@
                  [compojure "1.5.2"]
                  [enlive "1.1.6"]
                  ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
-                 [org.onyxplatform/onyx "0.12.0-rc2"]
+                 [org.onyxplatform/onyx "0.12.0"]
                  [prismatic/om-tools "0.4.0"]
                  [markdown-clj "0.9.94"]
                  [org.omcljs/om "0.9.0"]


Tidying up logging

Tidying up logging

--- project.clj
+++ project.clj
@@ -12,28 +12,29 @@
 ;;; lein acceptance                  Runs the acceptance tests (useful for CI server). Alias for: lein midje :filter acceptance.
 ;;; lein midje :filter unit          Run unit tests

-  :dependencies [[compojure "1.1.5" :exclusions [javax.servlet/servlet-api]]
-                 [ring-middleware-format "0.3.1"]
-                 [ring/ring-jetty-adapter "1.2.0"]
+  :dependencies [[ch.qos.logback/logback-classic "1.0.13"]
+                 [cheshire "5.2.0"]
+                 [clj-http "0.7.6" :exclusions [commons-logging]]
+                 [clj-time "0.6.0"]
+                 [com.amazonaws/aws-java-sdk "1.5.5" :exclusions [commons-logging]]
+                 [com.ovi.common.logging/logback-appender "0.0.45" :exclusions [commons-logging]]
+                 [com.ovi.common.metrics/metrics-graphite "2.1.21"]
+                 [com.yammer.metrics/metrics-logback "2.2.0"]
+                 [compojure "1.1.5" :exclusions [javax.servlet/servlet-api]]
+                 [environ "0.4.0"]
+                 [metrics-clojure "1.0.1"]
+                 [metrics-clojure-ring "1.0.1"]
+                 [nokia/ring-utils "1.0.1"]
                  [org.clojure/clojure "1.5.1"]
                  [org.clojure/data.json "0.2.3"]
                  [org.clojure/data.xml "0.0.7"]
                  [org.clojure/data.zip "0.1.1"]
                  [org.clojure/tools.logging "0.2.6"]
+                 [org.slf4j/jcl-over-slf4j "1.7.5"]
+                 [org.slf4j/jul-to-slf4j "1.7.5"]
                  [org.slf4j/slf4j-api "1.7.5"]
-                 [org.slf4j/jul-to-slf4j "1.7.5"]
-                 [ch.qos.logback/logback-classic "1.0.13"]
-                 [com.ovi.common.logging/logback-appender "0.0.45"]
-                 [com.yammer.metrics/metrics-logback "2.2.0"]
-                 [com.ovi.common.metrics/metrics-graphite "2.1.21"]
-                 [clj-http "0.7.6"]
-                 [cheshire "5.2.0"]
-                 [clj-time "0.6.0"]
-                 [environ "0.4.0"]
-                 [nokia/ring-utils "1.0.1"]
-                 [metrics-clojure "1.0.1"]
-                 [metrics-clojure-ring "1.0.1"]
-                 [com.amazonaws/aws-java-sdk "1.5.5"]]
+                 [ring-middleware-format "0.3.1"]
+                 [ring/ring-jetty-adapter "1.2.0"]]

   :profiles {:dev {:dependencies [[com.github.rest-driver/rest-client-driver "1.1.32"
                                    :exclusions [org.slf4j/slf4j-nop


Version bump to 1.1.4

Version bump to 1.1.4

--- project.clj
+++ project.clj
@@ -12,7 +12,7 @@
 ;; and limitations under the License.

 (defproject com.climate/claypoole
-  "1.1.3-SNAPSHOT"
+  "1.1.4"
   :description "Claypoole: Threadpool tools for Clojure."
   :url "http://github.com/TheClimateCorporation/claypoole/"
   :license {:name "Apache License Version 2.0"


Release 0.7.0.4

Release 0.7.0.4

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onyx-plugin/lein-template "0.7.0.3"
+(defproject onyx-plugin/lein-template "0.7.0.4"
   :description "A Leiningen 2.0 template for new Onyx plugins"
   :url "http://github.com/MichaelDrogalis/onyx-plugin"
   :license {:name "Eclipse Public License"


Update url key in project.clj

Update url key in project.clj

--- project.clj
+++ project.clj
@@ -1,7 +1,7 @@
 (defproject http.async.client "0.5.3-SNAPSHOT"
   :name             "http.async.client"
   :description      "Asynchronous HTTP Client for Clojure"
-  :url              "http://neotyk.github.com/http.async.client/"
+  :url              "http://cch1.github.com/http.async.client/"
   :source-paths ["src/clj"]
   :dependencies [[org.clojure/clojure "1.6.0"]
                  [com.ning/async-http-client "1.7.10" :exclusions [org.slf4j/slf4j-api]]]


have to aot flambo.function

have to aot flambo.function

--- project.clj
+++ project.clj
@@ -21,6 +21,7 @@
                [org.apache.spark/spark-streaming-kafka_2.10 "0.9.1"]]}
              :1.6
              {:dependencies [[org.clojure/clojure "1.6.0"]]}}
+  :aot [flambo.function]
   :source-paths ["src/clj"]
   :java-source-paths ["src/jvm"]
   :javac-options ["-source" "1.6" "-target" "1.6"]


Added core.async dep for streaming.

Added core.async dep for streaming.

--- project.clj
+++ project.clj
@@ -34,6 +34,7 @@
     [metosin/reitit-ring "0.1.1-SNAPSHOT"]
     [metosin/ring-http-response "0.9.0"]
     [org.clojure/clojure "1.9.0"]
+    [org.clojure/core.async "0.4.474"]
     [org.clojure/core.cache "0.7.1"]
     [org.clojure/data.xml "0.2.0-alpha5"]
     [ring/ring-core "1.6.3"]


bumped up version

bumped up version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject selmer "1.12.19"
+(defproject selmer "1.12.20"
   :description "Django style templates for Clojure"
   :url "https://github.com/yogthos/Selmer"
   :license {:name "Eclipse Public License"


Version 0.4.2-SNAPSHOT

Version 0.4.2-SNAPSHOT

--- project.clj
+++ project.clj
@@ -8,7 +8,7 @@

 (println "Building against LambdaCD version" lambdacd-version "and clojure" clojure-version-to-use)

-(defproject lambdacd-git "0.4.1"
+(defproject lambdacd-git "0.4.2-SNAPSHOT"
   :description "Git support for LambdaCD"
   :url "https://github.com/flosell/lambdacd-git"
   :license {:name "Apache License, version 2.0"


Version 1.0.2-SNAPSHOT

Version 1.0.2-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject mr-clojure/lein-template "1.0.1"
+(defproject mr-clojure/lein-template "1.0.2-SNAPSHOT"
   :description "MixRadio clojure skeleton template for Leiningen. Generates a Clojure HTTP REST service in the style of MixRadio"
   :url "http://github.com/mixradio/mr-clojure"
   :eval-in-leiningen true


Update mistakes-were-made

Update mistakes-were-made

--- project.clj
+++ project.clj
@@ -18,7 +18,7 @@
                  [lein-droid "0.4.3"]
                  [lein-typed "0.3.5"]
                  [lein-ring "0.9.7"]
-                 [mistakes-were-made "1.6.0-SNAPSHOT"]
+                 [mistakes-were-made "1.5.1"]
                  [net.java.balloontip/balloontip "1.2.4.1"]
                  [org.clojure/clojure "1.8.0"]
                  [org.clojure/core.incubator "0.1.3"]


Revert "Removed uberjar"

Revert "Removed uberjar"

This reverts commit fa74ccebd1cc93ee2704c85aa368fe11c04231b6.

--- project.clj
+++ project.clj
@@ -11,12 +11,12 @@
                  [cheshire "5.2.0"]
                  [com.novemberain/monger "1.5.0"]
                  ]
-  ;:uberjar-name "clojure-todo-standalone.jar"
+  :uberjar-name "clojure-todo-standalone.jar"
   :plugins [[lein-ring "0.8.8"]]
   :ring {:handler clojure-todo.handler/app :init clojure-todo.handler/init }
   :profiles
   {:dev {:dependencies [[ring-mock "0.1.5"]]}}
-  ;:main clojure-todo.handler
-  ;:aot :all
+  :main clojure-todo.handler
+  :aot :all
   :min-lein-version "2.0.0"
   )


Start 0.4.7-SNAPSHOT

Start 0.4.7-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject play-clj "0.4.6"
+(defproject play-clj "0.4.7-SNAPSHOT"
   :description "A libGDX wrapper for easy cross-platform game development"
   :url "https://github.com/oakes/play-clj"
   :license {:name "Public Domain"


lein-release plugin: preparing 0.8.1 release

--- project.clj
+++ project.clj
@@ -1,7 +1,7 @@
 (def tk-version "0.5.1")
 (def ks-version "0.7.2")

-(defproject puppetlabs/trapperkeeper-webserver-jetty9 "0.8.1-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper-webserver-jetty9 "0.8.1"
   :description "We are trapperkeeper.  We are one."
   ;; Abort when version ranges or version conflicts are detected in
   ;; dependencies. Also supports :warn to simply emit warnings.


Version 1.2.0

Version 1.2.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject puppetlabs/jdbc-util "1.2.0-SNAPSHOT"
+(defproject puppetlabs/jdbc-util "1.2.0"
   :description "Common JDBC helpers for use in Puppet Labs projects"
   :url "https://github.com/puppetlabs/jdbc-util"


Release v0.9.1

Release v0.9.1

Signed-off-by: Greg Haskins <640d9fe47775e6723f0355b7315e38f7d98d3539@gmail.com>

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject chaintool "0.9.1-SNAPSHOT"
+(defproject chaintool "0.9.1"
   :description "hyperledger chaincode tool"
   :url "https://github.com/ghaskins/chaintool"
   :license {:name "Apache License"


Upgrade dependencies

Upgrade dependencies

--- project.clj
+++ project.clj
@@ -4,13 +4,13 @@
   :license {:name "The MIT License"
             :url "https://github.com/ff-/markiki/blob/master/LICENSE"}
   :dependencies [[org.clojure/clojure "1.7.0"]
-                 [org.clojure/tools.cli "0.3.1"]
+                 [org.clojure/tools.cli "0.3.2"]
                  [clojure-watch "0.1.11"]
                  [cheshire "5.5.0"]
                  [hiccup "1.0.5"]
                  [me.raynes/fs "1.4.6"]
                  [cpath-clj "0.1.2"]
-                 [org.clojure/clojurescript "1.7.48" :classifier "aot"
+                 [org.clojure/clojurescript "1.7.107" :classifier "aot"
                   :exclusion [org.clojure/data.json]]
                  [org.clojure/data.json "0.2.6" :classifier "aot"]
                  [re-frame "0.4.1"]
@@ -19,7 +19,7 @@
                  [secretary "1.2.3"]
                  [com.cognitect/transit-cljs "0.8.220"]
                  [clj-fuzzy "0.3.1"]
-                 [markdown-clj "0.9.67"]
+                 [markdown-clj "0.9.68"]
                  [com.andrewmcveigh/cljs-time "0.3.11"]
                  [reagent-forms "0.5.5"]
                  [reagent-utils "0.1.5"]]
@@ -27,7 +27,7 @@
   :jvm-opts ^:replace ["-Xmx1g" "-server"]
   :node-dependencies [[source-map-support "0.3.2"]]
   :plugins [[lein-npm "0.6.1"]
-            [lein-bin "0.3.4"]]
+            [lein-bin "0.3.5"]]
   :source-paths ["src" "target/classes"]
   :clean-targets ["out" "release"]
   :target-path "target/"


Upgrading library versions.

Upgrading library versions.

--- project.clj
+++ project.clj
@@ -9,7 +9,7 @@
                  ;; Log4j needed to configure logging in elasticsearch.
                  ;; Version set to match elastic search numbers. Look in elasticsearch pom.xml
                  [log4j/log4j "1.2.17"]
-                 [clj-http "0.9.1"]]
+                 [clj-http "1.0.0"]]

   :plugins [[lein-test-out "0.3.1"]]


Release version 0.9.15.0.

Release version 0.9.15.0.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onyx-cheat-sheet "0.9.14.1-SNAPSHOT"
+(defproject onyx-cheat-sheet "0.9.15.0"
   :description "Cheat sheet for Onyx"
   :url "https://github.com/onyx-platform/onyx-cheat-sheet"
   :license {:name "Eclipse Public License"
@@ -16,7 +16,7 @@
                  [compojure "1.4.0"]
                  [enlive "1.1.6"]
                  ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
-                 [org.onyxplatform/onyx "0.9.14"]
+                 [org.onyxplatform/onyx "0.9.15"]
                  [prismatic/om-tools "0.4.0"]
                  [markdown-clj "0.9.77"]
                  [org.omcljs/om "0.9.0"]


Version 0.3.1-SNAPSHOT

Version 0.3.1-SNAPSHOT

--- project.clj
+++ project.clj
@@ -4,7 +4,7 @@

 (println "Building against LambdaCD version" lambdacd-version)

-(defproject lambdacd-git "0.3.0"
+(defproject lambdacd-git "0.3.1-SNAPSHOT"
   :description "Git support for LambdaCD"
   :url "https://github.com/flosell/lambdacd-git"
   :license {:name "Apache License, version 2.0"


chore(project): add depencies for HTTP API

--- project.clj
+++ project.clj
@@ -14,12 +14,17 @@
     [jarohen/chime "0.1.9"]
     [clj-time "0.11.0"]
     [prismatic/schema "1.0.4"]
-    [com.apa512/rethinkdb "0.11.0"]]
+    [com.apa512/rethinkdb "0.11.0"]
+    [ring/ring-core "1.4.0"]
+    [ring/ring-json "0.4.0"]
+    [ring-cors "0.1.7"]
+    [compojure "1.4.0"]
+    [http-kit "2.1.19"]]
   :main ^:skip-aot busa-server.main
   :target-path "target/%s"
   :profiles {
     :uberjar {:aot :all}
     :dev {
-      :dependencies [[midje "1.8.3"]]
+      :dependencies [[midje "1.8.3"] [javax.servlet/servlet-api "2.5"]]
       :plugins [[lein-midje "3.2"]]}
   })


1.3.0-beta5

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject clojurewerkz/cassaforte "1.3.0-beta5-SNAPSHOT"
+(defproject clojurewerkz/cassaforte "1.3.0-beta5"
   :min-lein-version "2.0.0"
   :description "A Clojure client for Apache Cassandra"
   :url "http://clojurecassandra.info"


add core async

add core async

--- project.clj
+++ project.clj
@@ -10,6 +10,7 @@

   :dependencies [[org.clojure/clojure "1.6.0"]
                  [org.clojure/clojurescript "0.0-3058" :scope "provided"]
+                 [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                  [ring "1.3.2"]
                  [ring/ring-defaults "0.1.4"]
                  [compojure "1.3.2"]


Change project URL to amalloy/useful page on Github

--- project.clj
+++ project.clj
@@ -3,7 +3,7 @@
   :license {:name "Eclipse Public License - v 1.0"
             :url "http://www.eclipse.org/legal/epl-v10.html"
             :distribution :repo}
-  :url "https://github.com/flatland/useful"
+  :url "https://github.com/amalloy/useful"
   :dependencies [[org.clojure/clojure "1.6.0"]
                  [org.clojure/tools.macro "0.1.1"]
                  [org.clojure/tools.reader "0.7.2"]]


lein-release plugin: bumped version from 1.2.2 to 1.2.3-SNAPSHOT for next development cycle

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject dda/dda-serverspec-crate "1.2.2"
+(defproject dda/dda-serverspec-crate "1.2.3-SNAPSHOT"
   :description "A crate to get facts from server nodes and test these facst against your expectation."
   :url "https://domaindrivenarchitecture.org"
   :license {:name "Apache License, Version 2.0"


Hardening depenencies.

Hardening depenencies.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.clojars.onaio/hatti "0.1.0-SNAPSHOT"
+(defproject org.clojars.onaio/hatti "0.1.1-SNAPSHOT"
   :description "A cljs dataview from your friends at Ona.io"
   :dependencies [;; CORE HATTI REQUIREMENTS
                  [org.clojure/clojure "1.6.0"]
@@ -16,10 +16,10 @@
                  [com.andrewmcveigh/cljs-time "0.2.3"]
                  ;; JS REQUIREMENTS
                  [cljsjs/moment "2.9.0-0"]
-                 [prabhasp/leaflet-cljs "0.7.3-SNAPSHOT"]
+                 [prabhasp/leaflet-cljs "0.7.3"]
                  [cljsjs/jquery "1.9.1-0"]
-                 [prabhasp/slickgrid-cljs "0.0.1-SNAPSHOT"]
-                 [prabhasp/osmtogeojson-cljs "2.2.5-SNAPSHOT"]
+                 [prabhasp/slickgrid-cljs "0.0.1"]
+                 [prabhasp/osmtogeojson-cljs "2.2.5-1"]
                  ;; TODO: make into cljs packages
                  [org.webjars/SlickGrid "2.1"]
                  ;; CLIENT REQUIREMENTS


(maint) Bump version to 6.12.0

(maint) Bump version to 6.12.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(def pdb-version "6.11.4-SNAPSHOT")
+(def pdb-version "6.12.0")
 (def clj-parent-version "4.6.2")

 (defn true-in-env? [x]


Version 0.0.4-SNAPSHOT

Version 0.0.4-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject pe-fp-core "0.0.3"
+(defproject pe-fp-core "0.0.4-SNAPSHOT"
   :description "A Clojure library encapsulating the various domain objects associated with the fuel purchase application."
   :url "https://github.com/evanspa/pe-fp-core"
   :license {:name "MIT"


Bump version to 3.2.5-SNAPSHOT

Bump version to 3.2.5-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(def pdb-version "3.2.4")
+(def pdb-version "3.2.5-SNAPSHOT")

 (defn deploy-info
   "Generate deployment information from the URL supplied and the username and


Bump to 0.2.0-SNAPSHOT.

Bump to 0.2.0-SNAPSHOT.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject pjstadig/wayfarer "0.1.2-SNAPSHOT"
+(defproject pjstadig/wayfarer "0.2.0-SNAPSHOT"
   :description "A simple, programmable migration library."
   :url "https://github.com/pjstadig/wayfarer"
   :license {:name "Eclipse Public License"


lein-release plugin: bumped version from 0.1.0 to 0.1.1-SNAPSHOT for next development cycle

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject prismatic/om-tools "0.1.0"
+(defproject prismatic/om-tools "0.1.1-SNAPSHOT"
   :description "Tools for building expressive Om applications"
   :url "http://github.com/prismatic/om-tools"
   :license {:name "Eclipse Public License - v 1.0"


Prepare for next release cycle.

Prepare for next release cycle.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.onyxplatform/onyx-dashboard "0.11.0.0-alpha1"
+(defproject org.onyxplatform/onyx-dashboard "0.11.0.0-SNAPSHOT"
   :description "Dashboard for the Onyx distributed computation system"
   :url "http://github.com/lbradstreet/onyx-dashboard"
   :license {:name "Eclipse Public License"


Bump aeron version.

Bump aeron version.

--- project.clj
+++ project.clj
@@ -25,7 +25,7 @@
                  [metrics-clojure "2.9.0"]
                  [com.taoensso/timbre "4.8.0"]
                  [com.taoensso/nippy "2.13.0"]
-                 [io.aeron/aeron-all "1.5.0"]
+                 [io.aeron/aeron-all "1.5.1"]
                  [io.replikativ/hasch "0.3.3"
                   :exclusions [org.clojure/clojurescript com.cognitect/transit-clj
                                com.cognitect/transit-cljs org.clojure/data.fressian


Fix runing tests on clean installation

Fix runing tests on clean installation

--- project.clj
+++ project.clj
@@ -7,16 +7,15 @@
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[enlive "1.1.5"]
-                 [com.facebook/react "0.11.1"]
-                 [cljsjs/react "0.13.1-0"]
+                 [cljsjs/react "0.12.2-5"]
                  [org.clojure/clojure "1.6.0"]
                  [org.clojure/clojurescript "0.0-3211"]
                  [com.googlecode.htmlcompressor/htmlcompressor "1.5.2"]
                  [sablono "0.2.20"]
                  [sablono "0.3.4"]
                  [hickory "0.5.3"]
-                 [om "0.7.1"]
-                 [reagent "0.4.2"]
+                 [om "0.7.1" :exclusions [com.facebook/react]]
+                 [reagent "0.5.0" :exclusions [cljsjs/react]]
                  [enlive-ws  "0.1.1"]]
   :plugins [[lein-cljsbuild "1.0.4-SNAPSHOT"]
             [lein-shell "0.4.0"]]
@@ -57,9 +56,7 @@
                                          :compiler {:output-to "target/test/kioo.js"
                                                     :optimizations :simple
                                                     :pretty-print true
-                                                    :preamble ["phantomjs-shims.js"
-                                                               "react/react.js"]
-                                                    :externs ["react/externs/react.js"]}}]
+                                                    :preamble ["phantomjs-shims.js" ]}}]
                                :test-commands {"phantom" ["phantomjs" :runner "target/test/kioo.js"]}}
                    :repl-options {:nrepl-middleware [cljx.repl-middleware/wrap-cljx]}
                    :resource-paths ["test-resources"]


Uptick version.

Uptick version.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject cljs-reloaded/lein-template "0.3.0"
+(defproject cljs-reloaded/lein-template "0.3.1"
   :description "Easily start a new cljs project with reloading."
   :url "https://github.com/potetm/cljs-reloaded-template"
   :license {:name "Eclipse Public License"


Version 0.3.6-SNAPSHOT

Version 0.3.6-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject day8.re-frame/re-frame-10x "0.3.5"
+(defproject day8.re-frame/re-frame-10x "0.3.6-SNAPSHOT"
   :description "Become 10x more productive when developing and debugging re-frame applications."
   :url "https://github.com/Day8/re-frame-10x"
   :license {:name "MIT"}


remove deployment

remove deployment

--- project.clj
+++ project.clj
@@ -10,5 +10,4 @@
                                   [org.clojure/core.match "0.3.0-alpha4"]
                                   [rhizome "0.2.5"]]}}
   :plugins [[s3-wagon-private "1.1.2"]]
-  :repositories [["private" {:url "s3p://eng-repos/libs/releases/"
-                             :creds :gpg}]])
+  )


Tidying

Tidying

--- project.clj
+++ project.clj
@@ -22,21 +22,15 @@
                  [org.clojure/data.xml "0.0.7"]
                  [org.clojure/data.zip "0.1.1"]
                  [org.clojure/tools.logging "0.2.6"]
+                 [org.eclipse.jetty/jetty-server "8.1.13.v20130916"]
                  [org.slf4j/slf4j-api "1.7.5"]
                  [org.slf4j/jul-to-slf4j "1.7.5"]
                  [overtone/at-at "1.2.0"]
                  [ring-json-params "0.1.3"]
                  [ring-middleware-format "0.3.1"]
-                 [ring/ring-jetty-adapter "1.2.1"]]
+                 [ring/ring-jetty-adapter "1.2.1" :exclusions [org.eclipse.jetty/jetty-server]]]

-  :profiles {:dev {:dependencies [[com.github.rest-driver/rest-client-driver "1.1.33"
-                                   :exclusions [org.slf4j/slf4j-nop
-                                                javax.servlet/servlet-api
-                                                org.eclipse.jetty.orbit/javax.servlet]]
-                                  [clj-http-fake "0.4.1"]
-                                  [junit "4.11"]
-                                  [midje "1.5.1"]
-                                  [rest-cljer "0.1.11"]]
+  :profiles {:dev {:dependencies [[midje "1.5.1"]]
                    :plugins [[lein-rpm "0.0.5"]
                              [lein-midje "3.1.1"]
                              [jonase/kibit "0.0.8"]]}}


bump up version number

bump up version number

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (defproject om-next-todolist "0.1.0-SNAPSHOT"
   :description "ToDo List example using om.next"
-  :dependencies [[org.clojure/clojure "1.7.0"]
-                 [org.clojure/clojurescript "1.7.189"]
-                 [org.omcljs/om "1.0.0-alpha24"]
-                 [figwheel-sidecar "0.5.0-2" :scope "test"]])
+  :dependencies [[org.clojure/clojure "1.8.0"]
+                 [org.clojure/clojurescript "1.9.36"]
+                 [org.omcljs/om "1.0.0-alpha36"]
+                 [figwheel-sidecar "0.5.3-2" :scope "test"]])