add server

add server

--- src/clj/chat42/core.clj
+++ src/clj/chat42/core.clj
@@ -1,99 +1,53 @@
 (ns chat42.core
-  (:require [superv.async :refer [<?? S]]
-            [kabel.peer :refer [start stop] :as kabel]
-            [konserve
-             [filestore :refer [new-fs-store]]
-             [memory :refer [new-mem-store]]]
-            [replikativ
-             [peer :refer [server-peer]]
-             [stage :refer [connect! create-stage!]]]
-            [replikativ.crdt.simple-gset.stage :as gs]
-            [replikativ.crdt.ormap.realize :refer [stream-into-identity!]]
-            [replikativ.crdt.ormap.stage :as ors]))
+  (:require [replikativ.crdt.cdvcs.realize :refer [head-value stream-into-identity!]]
+            [replikativ.crdt.cdvcs.stage :as s]
+            [replikativ.stage :refer [create-stage! connect! subscribe-crdts!]]
+            [replikativ.peer :refer [client-peer server-peer]]
+
+            [kabel.peer :refer [start stop]]
+            [konserve.memory :refer [new-mem-store]]
+            [konserve.filestore :refer [new-fs-store delete-store]]
+
+            [superv.async :refer [<?? <? S go-try go-loop-try]] ;; core.async error handling
+            [clojure.core.async :refer [chan go-loop go] :as async]))
+
+(def user "mail:alice@replikativ.io")
+(def cdvcs-id #uuid "7d274663-9396-4247-910b-409ae35fe98d")
+(def uri "ws://127.0.0.1:31744")
+(def val-atom (atom {:messages []}))
+(def store-path "/tmp/chat42-store")
+
+(def eval-fns
+  {'(fn [_ new] [new]) (fn [_ new] {:messages [new]})
+   'conj (fn [old new] (update old :messages conj new))})
+
+(def stream-eval-fns
+  {'(fn [_ new] [new]) (fn [a new] (reset! a {:messages [new]}) a)
+   'conj (fn [a new] (swap! a (fn [prev next] (update prev :messages conj next)) new) a)})

-(defn msg [txt n]
-  {:text txt :name n :date (java.util.Date.)})
+(comment
+  (def store (<?? S (new-mem-store)))
+
+  (def peer (<?? S (server-peer S store uri)))

-(comment
-  (def user "mail:prototype@your-domain.com")
-  (def gset-id #uuid "7d274663-9396-4247-910b-409ae35fe98d")
+  (<?? S (start peer))

-  (do
-    (def store-a (<?? S (new-mem-store)))
-    (def peer-a (<?? S (server-peer S store-a "ws://127.0.0.1:9090"))) ;; network and file IO
-    (<?? S (start peer-a))
-    (def stage-a (<?? S (create-stage! user peer-a)))
-    (<?? S (gs/create-simple-gset! stage-a :id gset-id)))
+  ;; to interact with a peer we use a stage
+  (def stage (<?? S (create-stage! user peer)))

+  ;; create a new CDVCS
+  (<?? S (s/create-cdvcs! stage :description "testing" :id cdvcs-id))

-  (<?? S (gs/add! stage-b [user gset-id] (msg "hi" "alice")))
-
-  (<?? S (gs/add! stage-b [user gset-id] (msg "hello" "bob")))
+  (def close-stream
+    (stream-into-identity! stage [user cdvcs-id] stream-eval-fns val-atom))

-  (get-in @stage-b [user gset-id :state :elements])
-
+  (async/close! close-stream)

-  (<?? S (connect! stage-a "ws://127.0.0.1:9091"))
-
-  (<?? S (gs/add! stage-a [user gset-id] (msg "aloha" "charlie")))
+  @val-atom

-  (get-in @stage-a [user gset-id :state :elements])
-
-
-  (<?? S (stop peer-a))
-
-  (<?? S (stop peer-b))
+  (<?? S (stop server))

   )

-(comment

-  (def val-atom (atom {}))
-
-  (def stream-eval-fns
-    {'(fn [_ new] new) (fn [a new] (reset! a new) a)
-   'assoc (fn [a new] (swap! a assoc :foo new) a)})
-
-
-  (def user "mail:prototype@your-domain.com") ;; will be used to authenticate you (not yet)
-
-(def ormap-id #uuid "7d274663-9396-4247-910b-409ae35fe98d") ;; application specific datatype address
-
-(def store-a (<?? S (new-fs-store "/tmp/test"))) ;; durable store
-(def peer-a (<?? S (server-peer S store-a "ws://127.0.0.1:9090"))) ;; network and file IO
-(<?? S (start peer-a))
-(def stage-a (<?? S (create-stage! user peer-a))) ;; API for peer
-(<?? S (ors/create-ormap! stage-a :id ormap-id))
-
-(def store-b (<?? S (new-mem-store))) ;; store for testing
-(def peer-b (<?? S (server-peer S store-b "ws://127.0.0.1:9091")))
-(<?? S (start peer-b))
-(def stage-b (<?? S (create-stage! user peer-b)))
-(<?? S (ors/create-ormap! stage-b :id ormap-id))
-
-(<?? S (stream-into-identity! stage-b [user ormap-id] stream-eval-fns val-atom))
-
-;; now you are set up
-
-;; for this datatype metadata and commit data is separated
-;; [['assoc :bars]] is encoding a user-defined function application
-;; of 'store to apply to some local state
-(<?? S (ors/assoc! stage-b [user ormap-id] :foo [['assoc :bars]]))
-(<?? S (ors/get stage-b [user ormap-id] :foo))
-
-(ffirst (get-in @stage-b [user ormap-id :state :adds :foo]))
-
-(<?? S (connect! stage-a "ws://127.0.0.1:9091")) ;; wire the peers up
-
-(<?? S (ors/get stage-a [user ormap-id] :foo)) ;; do they converge?
-;; accordingly we provide a dissoc operation on removal
-(<?? S (ors/dissoc! stage-a [user ormap-id] :foo [['dissoc :bars]]))
-;; play around :)
-
-;; ...
-
-(<?? S (stop peer-a))
-(<?? S (stop peer-b))
-
-  )


don't extend IPrintWithWriter to natives, this defeats dead code elimination around printing.

--- src/cljs/cljs/core.cljs
+++ src/cljs/cljs/core.cljs
@@ -445,9 +445,6 @@

   ICollection
   (-conj [_ o] (list o))
-
-  IPrintWithWriter
-  (-pr-writer [o writer _] (-write writer "nil"))

   IIndexed
   (-nth
@@ -6302,6 +6299,23 @@
 (defn flush [] ;stub
   nil)

+(def ^:private char-escapes
+  (js-obj
+    "\"" "\\\""
+    "\\" "\\\\"
+    "\b" "\\b"
+    "\f" "\\f"
+    "\n" "\\n"
+    "\r" "\\r"
+    "\t" "\\t"))
+
+(defn ^:private quote-string
+  [s]
+  (str \"
+       (.replace s (js/RegExp "[\\\\\"\b\f\n\r\t]" "g")
+         (fn [match] (aget char-escapes match)))
+       \"))
+
 (deftype StringBufferWriter [sb]
   IWriter
   (-write [_ s] (.append sb s))
@@ -6323,13 +6337,58 @@
               (pr-writer (meta obj) writer opts)
               (-write writer " "))
             (cond
+              (nil? obj) (-write writer "nil")
+
               ;; handle CLJS ctors
-              (and (not (nil? obj))
-                   ^boolean (.-cljs$lang$type obj))
-                (.cljs$lang$ctorPrWriter obj obj writer opts)
-
+              ^boolean (.-cljs$lang$type obj)
+              (.cljs$lang$ctorPrWriter obj obj writer opts)
+
               ; Use the new, more efficient, IPrintWithWriter interface when possible.
-              (satisfies? IPrintWithWriter obj) (-pr-writer obj writer opts)
+              (satisfies? IPrintWithWriter obj)
+              (-pr-writer obj writer opts)
+
+              (or (identical? (type obj) js/Boolean) (number? obj))
+              (-write writer (str obj))
+
+              (identical? (type obj) js/Array)
+              (pr-sequential-writer writer pr-writer "#<Array [" ", " "]>" opts obj)
+
+              ^boolean (goog/isString obj)
+              (cond
+                (keyword? obj)
+                (do
+                  (-write writer ":")
+                  (when-let [nspc (namespace obj)]
+                    (write-all writer (str nspc) "/"))
+                  (-write writer (name obj)))
+                (symbol? obj)
+                (do
+                  (when-let [nspc (namespace obj)]
+                    (write-all writer (str nspc) "/"))
+                  (-write writer (name obj)))
+                :else (if (:readably opts)
+                        (-write writer (quote-string obj))
+                        (-write writer obj)))
+
+              (fn? obj)
+              (write-all writer "#<" (str obj) ">")
+
+              (instance? js/Date obj)
+              (let [normalize (fn [n len]
+                                (loop [ns (str n)]
+                                  (if (< (count ns) len)
+                                    (recur (str "0" ns))
+                                    ns)))]
+                (write-all writer
+                  "#inst \""
+                  (str (.getUTCFullYear obj))             "-"
+                  (normalize (inc (.getUTCMonth obj)) 2)  "-"
+                  (normalize (.getUTCDate obj) 2)         "T"
+                  (normalize (.getUTCHours obj) 2)        ":"
+                  (normalize (.getUTCMinutes obj) 2)      ":"
+                  (normalize (.getUTCSeconds obj) 2)      "."
+                  (normalize (.getUTCMilliseconds obj) 3) "-"
+                  "00:00\""))

               (regexp? obj) (write-all writer "#\"" (.-source obj) "\"")

@@ -6439,74 +6498,7 @@
   [fmt & args]
   (print (apply format fmt args)))

-(def ^:private char-escapes
-  (js-obj
-    "\"" "\\\""
-    "\\" "\\\\"
-    "\b" "\\b"
-    "\f" "\\f"
-    "\n" "\\n"
-    "\r" "\\r"
-    "\t" "\\t"))
-
-(defn ^:private quote-string
-  [s]
-  (str \"
-       (.replace s (js/RegExp "[\\\\\"\b\f\n\r\t]" "g")
-         (fn [match] (aget char-escapes match)))
-       \"))
-
 (extend-protocol IPrintWithWriter
-  boolean
-  (-pr-writer [bool writer opts] (-write writer (str bool)))
-
-  number
-  (-pr-writer [n writer opts] (/ 1 0) (-write writer (str n)))
-
-  array
-  (-pr-writer [a writer opts]
-    (pr-sequential-writer writer pr-writer "#<Array [" ", " "]>" opts a))
-
-  string
-  (-pr-writer [obj writer opts]
-    (cond
-     (keyword? obj)
-       (do
-         (-write writer ":")
-         (when-let [nspc (namespace obj)]
-           (write-all writer (str nspc) "/"))
-         (-write writer (name obj)))
-     (symbol? obj)
-       (do
-         (when-let [nspc (namespace obj)]
-           (write-all writer (str nspc) "/"))
-         (-write writer (name obj)))
-     :else (if (:readably opts)
-             (-write writer (quote-string obj))
-             (-write writer obj))))
-
-  function
-  (-pr-writer [this writer _]
-    (write-all writer "#<" (str this) ">"))
-
-  js/Date
-  (-pr-writer [d writer _]
-    (let [normalize (fn [n len]
-                      (loop [ns (str n)]
-                        (if (< (count ns) len)
-                          (recur (str "0" ns))
-                          ns)))]
-      (write-all writer
-        "#inst \""
-        (str (.getUTCFullYear d))             "-"
-        (normalize (inc (.getUTCMonth d)) 2)  "-"
-        (normalize (.getUTCDate d) 2)         "T"
-        (normalize (.getUTCHours d) 2)        ":"
-        (normalize (.getUTCMinutes d) 2)      ":"
-        (normalize (.getUTCSeconds d) 2)      "."
-        (normalize (.getUTCMilliseconds d) 3) "-"
-        "00:00\"")))
-
   LazySeq
   (-pr-writer [coll writer opts] (pr-sequential-writer writer pr-writer "(" " " ")" opts coll))


Added partial... now on to apply.  Refs #9 #11

--- src/cljs/cljs/core.cljs
+++ src/cljs/cljs/core.cljs
@@ -516,7 +516,9 @@
   "Takes a set of functions and returns a fn that is the composition
   of those fns.  The returned fn takes a variable number of args,
   applies the rightmost of fns to the args, the next
-  fn (right-to-left) to the result, etc."
+  fn (right-to-left) to the result, etc.
+
+  TODO: Implement apply"
   ([] identity)
   ([f] f)
   ([f g]
@@ -541,12 +543,29 @@
             (recur ((first fs) ret) (next fs))
             ret))))))

+(defn partial
+  "Takes a function f and fewer than the normal arguments to f, and
+  returns a fn that takes a variable number of additional args. When
+  called, the returned function calls f with args + additional args.
+
+  TODO: Implement apply"
+  ([f arg1]
+   (fn [& args] (apply f arg1 args)))
+  ([f arg1 arg2]
+   (fn [& args] (apply f arg1 arg2 args)))
+  ([f arg1 arg2 arg3]
+   (fn [& args] (apply f arg1 arg2 arg3 args)))
+  ([f arg1 arg2 arg3 & more]
+   (fn [& args] (apply f arg1 arg2 arg3 (concat more args)))))
+
 (defn juxt
   "Takes a set of functions and returns a fn that is the juxtaposition
   of those fns.  The returned fn takes a variable number of args, and
   returns a vector containing the result of applying each fn to the
   args (left-to-right).
-  ((juxt a b c) x) => [(a x) (b x) (c x)]"
+  ((juxt a b c) x) => [(a x) (b x) (c x)]
+
+  TODO: Implement apply"
   ([f]
      (fn
        ([] (vector (f)))


Add m-unless function

Add m-unless function

--- src/cljx/cats/core.cljx
+++ src/cljx/cats/core.cljx
@@ -83,6 +83,15 @@
   Otherwise, yields nil in a monadic context."
   [b mv]
   (if b
+    mv
+    (pure mv nil)))
+
+(defn m-unless
+  "If the expression is false, returns the monadic value.
+
+  Otherwise, yields nil in a monadic context."
+  [b mv]
+  (if (not b)
     mv
     (pure mv nil)))


Add generating maps for Processing constants.

--- src/cljx/quil/core.cljx
+++ src/cljx/quil/core.cljx
@@ -42,148 +42,70 @@

 ;; -------------------- PConstants section -----------------------

+(defn prepare-quil-name [const-keyword]
+  (clojure.string/replace
+   (clojure.string/upper-case (name const-keyword))
+   #"-" "_"))
+
 #+cljs
 (defn ^{:private true}
   resolve-c-key [c-key]
   (aget (current-applet)
-        (clojure.string/replace
-          (clojure.string/upper-case (name c-key))
-          #"-" "_")))
-
-#+clj
-(def ^{:private true}
-  arc-modes {:open PConstants/OPEN
-             :chord PConstants/CHORD
-             :pie PConstants/PIE})
-
-#+clj
-(def ^{:private true}
-     shape-modes {:points PApplet/POINTS
-                  :lines PApplet/LINES
-                  :triangles PApplet/TRIANGLES
-                  :triangle-strip PApplet/TRIANGLE_STRIP
-                  :triangle-fan PApplet/TRIANGLE_FAN
-                  :quads PApplet/QUADS
-                  :quad-strip PApplet/QUAD_STRIP})
-
-#+clj
-(def ^{:private true}
-  blend-modes {:blend PApplet/BLEND
-               :add PApplet/ADD
-               :subtract PApplet/SUBTRACT
-               :darkest PApplet/DARKEST
-               :lightest PApplet/LIGHTEST
-               :difference PApplet/DIFFERENCE
-               :exclusion PApplet/EXCLUSION
-               :multiply PApplet/MULTIPLY
-               :screen PApplet/SCREEN
-               :overlay PApplet/OVERLAY
-               :replace PApplet/REPLACE
-               :hard-light PApplet/HARD_LIGHT
-               :soft-light PApplet/SOFT_LIGHT
-               :dodge PApplet/DODGE
-               :burn PApplet/BURN})
-
-#+clj
-(def ^{:private true}
-  color-modes {:rgb (int 1)
-               :hsb (int 3)})
-
-#+clj
-(def ^{:private true}
-  image-formats {:rgb PApplet/RGB
-                :argb PApplet/ARGB
-                :alpha PApplet/ALPHA})
-
-#+clj
-(def ^{:private true}
-     ellipse-modes   {:center PApplet/CENTER
-                      :radius PApplet/RADIUS
-                      :corner PApplet/CORNER
-                      :corners PApplet/CORNERS})
-
-#+clj
-(def ^{:private true}
-  hint-options {:enable-native-fonts PConstants/ENABLE_NATIVE_FONTS
-                :disable-native-fonts PConstants/DISABLE_NATIVE_FONTS
-                :enable-depth-test PConstants/ENABLE_DEPTH_TEST
-                :disable-depth-test PConstants/DISABLE_DEPTH_TEST
-                :enable-depth-sort PConstants/ENABLE_DEPTH_SORT
-                :disable-depth-sort PConstants/DISABLE_DEPTH_SORT
-                :enable-depth-mask PConstants/ENABLE_DEPTH_MASK
-                :disable-depth-mask PConstants/DISABLE_DEPTH_MASK
-                :disable-opengl-errors PConstants/DISABLE_OPENGL_ERRORS
-                :enable-opengl-errors PConstants/ENABLE_OPENGL_ERRORS
-                :enable-optimized-stroke PConstants/ENABLE_OPTIMIZED_STROKE
-                :disable-optimized-stroke PConstants/DISABLE_OPTIMIZED_STROKE
-                :enable-retina-pixels PConstants/ENABLE_RETINA_PIXELS
-                :disable-retina-pixels PConstants/DISABLE_RETINA_PIXELS
-                :enable-stroke-perspective PConstants/ENABLE_STROKE_PERSPECTIVE
-                :disable-stroke-perspective PConstants/DISABLE_STROKE_PERSPECTIVE
-                :enable-stroke-pure PConstants/ENABLE_STROKE_PURE
-                :disable-stroke-pure PConstants/DISABLE_STROKE_PURE
-                :enable-texture-mipmaps PConstants/ENABLE_TEXTURE_MIPMAPS
-                :disable-texture-mipmaps PConstants/DISABLE_TEXTURE_MIPMAPS
-                })
-
-#+clj
-(def ^{:private true}
-  image-modes {:corner PApplet/CORNER
-               :corners PApplet/CORNERS
-               :center PApplet/CENTER})
-
-#+clj
-(def ^{:private true}
-  rect-modes {:corner PApplet/CORNER
-              :corners PApplet/CORNERS
-              :center PApplet/CENTER
-              :radius PApplet/RADIUS})
-
-#+clj
-(def ^{:private true}
-  p-shape-modes {:corner PApplet/CORNER
-                 :corners PApplet/CORNERS
-                 :center PApplet/CENTER})
-
-#+clj
-(def ^{:private true}
-  stroke-cap-modes {:square PApplet/SQUARE
-                    :round PApplet/ROUND
-                    :project PApplet/PROJECT
-                    :model PApplet/MODEL})
-
-#+clj
-(def ^{:private true}
-  stroke-join-modes {:miter PConstants/MITER
-                     :bevel PConstants/BEVEL
-                     :round PConstants/ROUND})
-
-#+clj
-(def ^{:private true}
-  horizontal-alignment-modes {:left PApplet/LEFT
-                              :center PApplet/CENTER
-                              :right PApplet/RIGHT})
-#+clj
-(def ^{:private true}
-  vertical-alignment-modes {:top PApplet/TOP
-                            :bottom PApplet/BOTTOM
-                            :center PApplet/CENTER
-                            :baseline PApplet/BASELINE})
-
-#+clj
-(def ^{:private true}
-  text-modes {:model PConstants/MODEL
-              :shape PConstants/SHAPE})
-
-#+clj
-(def ^{:private true}
-  texture-modes {:image PApplet/IMAGE
-                 :normal PApplet/NORMAL})
-
-#+clj
-(def ^{:private true}
-  texture-wrap-modes {:clamp PApplet/CLAMP
-                      :repeat PApplet/REPEAT})
+        (prepare-quil-name c-key)))
+
+#+clj
+(defn prepare-quil-clj-constants [prefix constants]
+  (apply hash-map
+         (apply concat
+                (map
+                 #(vector % (symbol (str prefix "/" (prepare-quil-name %))))
+                 constants))))
+
+#+clj
+(defn make-quil-constant-map [const-map-name const-map]
+  `(def ^{:private true}
+     ~(symbol (name const-map-name))
+     ~(prepare-quil-clj-constants (nth const-map 0) (nth const-map 1))))
+
+
+(defmacro generate-quil-constants [& opts]
+  (let [options (apply hash-map opts)]
+    `(do
+       ~@(map
+          #(make-quil-constant-map % (get options %))
+          (keys options)))))
+
+
+#+clj
+(generate-quil-constants
+ :arc-modes [PConstants (:open :chord :pie)]
+ :shape-modes [PConstants (:points :lines :triangles :triangle-fan :triangle-strip :quads :quad-strip)]
+ :blend-modes [PConstants (:blend :add :subtract :darkest :lightest :difference :exclusion :multiply
+                               :screen :overlay :replace :hard-light :soft-light :dodge :burn)]
+ :color-modes [PConstants (:rgb :hsb)]
+ :image-formats [PConstants (:rgb :argb :alpha)]
+ :ellipse-modes [PConstants (:center :radius :corner :corners)]
+ :hint-options [PConstants (:enable-native-fonts :disable-native-fonts
+                            :enable-depth-test :disable-depth-test
+                            :enable-depth-sort :disable-depth-sort
+                            :enable-depth-mask :disable-depth-mask
+                            :enable-opengl-errors :disable-opengl-errors
+                            :enable-optimized-stroke :disable-optimized-stroke
+                            :enable-retina-pixels :disable-retina-pixels
+                            :enable-stroke-perspective :disable-stroke-perspective
+                            :enable-stroke-pure :disable-stroke-pure
+                            :enable-texture-mipmaps :disable-texture-mipmaps)]
+ :image-modes [PConstants (:corner :corners :center)]
+ :rect-modes [PConstants (:corner :corners :center :radius)]
+ :p-shape-modes [PConstants (:corner :corners :center)]
+ :stroke-cap-modes [PConstants (:square :round :project :model)]
+ :stroke-join-modes [PConstants (:miter :bevel :round)]
+ :horizontal-alignment-modes [PConstants (:left :center :right)]
+ :vertical-alignment-modes [PConstants (:top :bottom :center :baseline)]
+ :text-modes [PConstants (:model :shape)]
+ :texture-modes [PConstants (:image :normal)]
+ :texture-wrap-modes [PConstants (:clamp :repeat)]
+ :filter-modes [PConstants (:threshold :gray :invert :posterize :blur :opaque :erode :dilate)])

 ;;; Useful trig constants
 #+clj (def PI  (float Math/PI))
@@ -232,17 +154,6 @@
              KeyEvent/VK_F23     :f23
              KeyEvent/VK_F24     :f24})

-#+clj
-(def ^{:private true}
-  filter-modes {:threshold PConstants/THRESHOLD
-                :gray PConstants/GRAY
-                :invert PConstants/INVERT
-                :posterize PConstants/POSTERIZE
-                :blur PConstants/BLUR
-                :opaque PConstants/OPAQUE
-                :erode PConstants/ERODE
-                :dilate PConstants/DILATE})
-
 ;; ------------------ end PConstants section ---------------------

 #+cljs


Update Gradle dependency spec

Update Gradle dependency spec

--- src/clojars/web/jar.clj
+++ src/clojars/web/jar.clj
@@ -133,8 +133,9 @@
    [:div#gradle-coordinates.package-config-example
     {:onClick "selectText('gradle-coordinates');"}
     [:pre
-     "compile "
-     [:span.string \' group_name ":" jar_name ":" version \']]]))
+     "implementation("
+     [:span.string \" group_name ":" jar_name ":" version \"]
+     \)]]))

 (defn maven-coordinates [{:keys [group_name jar_name version]}]
   (list


Fix jetty stop

Fix jetty stop

--- jetty/src/com/palletops/bakery/jetty.clj
+++ jetty/src/com/palletops/bakery/jetty.clj
@@ -13,7 +13,7 @@
   (jetty/run-jetty handler config))

 (defn- stop
-  [{:keys [^org.eclipse.jetty.server.Server server]}]
+  [^org.eclipse.jetty.server.Server server]
   (.stop server))

 (defrecord Jetty [handler config server]


adding shared zlib for erlang on linux

adding shared zlib for erlang on linux

--- config/software/erlang.clj
+++ config/software/erlang.clj
@@ -37,6 +37,7 @@
              "--enable-smp-support"
              "--enable-kernel-poll"
              "--enable-dynamic-ssl-lib"
+             "--enable-shared-zlib"
              "--enable-hipe"
              "--without-javac"
              "--with-ssl=/opt/opscode/embedded"


Adding script

Adding script

--- src/helda/schema.clj
+++ src/helda/schema.clj
@@ -7,7 +7,9 @@
 (s/defschema Module {
   :module-id s/Keyword
   (s/optional-key :description) s/Str
-  :url s/Str
+  :kind (s/enum :rest :clojure)
+  (s/optional-key :url) s/Str
+  (s/optional-key :script) s/Str
   })

 (s/defschema ActionRequest{


Added public get-enum-group function. When in mavlink2 mode, if a mavlink1 message comes in, call accept handler to determine whther to accept the message or not (was being dropped).

--- src/mavlink/core.clj
+++ src/mavlink/core.clj
@@ -771,27 +771,28 @@
                              (:crc-seed message-info)
                              ; compute checksum LSB
                              (+ MAVLINK1-HDR-SIZE payload-size))
-          (case @protocol
-            :mavlink1
-              (do
-                ; decode and output the message
-                (async/>!! output-channel
-                           (decode-mavlink1 message
-                                            (:decode-fns message-info)
-                                            buffer
-                                            statistics))
-                ; write telemetry log
-                (when tlog-stream
-                  (locking tlog-stream
-                    (write-tlog tlog-stream
-                                (.array ^ByteBuffer buffer)
-                                (+ MAVLINK1-HDR-CRC-SIZE payload-size))))
-                ;
-                ; update statistics
-                (swap! statistics update-in
-                       [:bytes-decoded] #(+ % MAVLINK1-HDR-SIZE bytes-to-read)))
-            :mavlink2
-              (swap! statistics update-in [:bad-protocol] inc))
+          (if (or (= @protocol :mavlink1)
+                  (and (= @protocol :mavlink2)
+                       (when-let [accept-message-handler (:accept-message-handler (:signing-options channel))]
+                         (accept-message-handler (assoc message :current'protocol @protocol)))))
+            (do
+              ; decode and output the message
+              (async/>!! output-channel
+                         (decode-mavlink1 message
+                                          (:decode-fns message-info)
+                                          buffer
+                                          statistics))
+              ; write telemetry log
+              (when tlog-stream
+                (locking tlog-stream
+                  (write-tlog tlog-stream
+                              (.array ^ByteBuffer buffer)
+                              (+ MAVLINK1-HDR-CRC-SIZE payload-size))))
+              ;
+              ; update statistics
+              (swap! statistics update-in
+                     [:bytes-decoded] #(+ % MAVLINK1-HDR-SIZE bytes-to-read)))
+            (swap! statistics update-in [:bad-protocol] inc))
           (swap! statistics update-in [:bad-checksums] inc)))))
   ; always return function to execute start-state
   #(start-state channel buffer input-stream output-channel statistics))
@@ -1177,3 +1178,9 @@
    nil in case of error."
   [mavlink group-id v]
   (get-in mavlink [:enums-by-group group-id v]))
+
+(defn get-enum-group
+  "Given a group id, return the map of key/values for that group."
+  [mavlink group-id]
+  (group-id (:enums-by-group mavlink)))
+


fix tabs

fix tabs

--- src/riffmuse/web.clj
+++ src/riffmuse/web.clj
@@ -1,5 +1,5 @@
 (ns riffmuse.web
-	(:require [compojure.core :refer :all]
+  (:require [compojure.core :refer :all]
             [compojure.handler :as handler]
             [compojure.route :as route]
             [riffmuse.core :as riffmuse]))


slf4j 1.7.26

slf4j 1.7.26

--- resources/leiningen/new/aws_lambda_serverless/project.clj
+++ resources/leiningen/new/aws_lambda_serverless/project.clj
@@ -6,9 +6,9 @@

                  [org.clojure/tools.logging "0.4.1"]
                  [ch.qos.logback/logback-classic "1.2.3"]
-                 [org.slf4j/slf4j-api "1.7.25"]
-                 [org.slf4j/log4j-over-slf4j "1.7.25"]
-                 [org.slf4j/jcl-over-slf4j "1.7.25"]
+                 [org.slf4j/slf4j-api "1.7.26"]
+                 [org.slf4j/log4j-over-slf4j "1.7.26"]
+                 [org.slf4j/jcl-over-slf4j "1.7.26"]
                  ]
   :jvm-opts ["-Dclojure.compiler.elide-meta=[:doc]"
              "-Dclojure.compiler.direct-linking=true"]


Update comment inside dalap_rules.clj on hello_world example

--- examples/hello_world/dalap_rules.clj
+++ examples/hello_world/dalap_rules.clj
@@ -1,5 +1,5 @@
 {
   ["src/clj/hello_world/core.clj" "src/cljs/hello_world/core.cljs"]
   []
-  ;; ^ no transformation rules specified
+  ;; ^ no custom transformation rules specified
 }


CMR-1253 Fixes ECHO XML generation of collection "purpose" field

--- umm-lib/src/cmr/umm/echo10/collection.clj
+++ umm-lib/src/cmr/umm/echo10/collection.clj
@@ -165,7 +165,8 @@
                     (x/element :Orderable {} "true")
                     (x/element :Visible {} "true")
                     ;; archive center to follow processing center
-                    (x/element :SuggestedUsage {} purpose)
+                    (when purpose
+                      (x/element :SuggestedUsage {} purpose))
                     (org/generate-processing-center organizations)
                     (when processing-level-id
                       (x/element :ProcessingLevelId {} processing-level-id))


Update docstring for predict.

Update docstring for predict.


added plugin section in generated pom

added plugin section in generated pom

--- hyrax/project.clj
+++ hyrax/project.clj
@@ -14,6 +14,18 @@

   :global-vars {*warn-on-reflection* true}

+  :pom-plugins [[com.theoryinpractise/clojure-maven-plugin "1.3.13"
+                 {:configuration [:sourceDirectories [:sourceDirectory "src/clojure"]]
+                  :extensions "true"
+                  :executions ([:execution [:id "compile-clojure"]
+                                [:goals ([:goal "compile"])]
+                                [:phase "compile"]])}]
+
+                [org.apache.maven.plugins/maven-source-plugin "2.4"
+                 {:executions ([:execution [:id "sources"]
+                               [:goals ([:goal "jar"])]
+                               [:phase "package"]])}]]
+
   :profiles {:dev {:dependencies [[ch.qos.logback/logback-classic "1.1.2"]
                                   [midje "1.7.0"]]}


Add test for get-title-and-episode.

Add test for get-title-and-episode.

--- test/beebster_clj/core_test.clj
+++ test/beebster_clj/core_test.clj
@@ -79,3 +79,10 @@
            (last (get-thumb-from-search test-list-1))))))

+(deftest test-title-and-episode
+  (testing "return title and episode from searchresult"
+    (is (= "The Bridge: Series 2 Episode 1"
+           (first (get-title-and-episode test-list-1))))
+    (is (= "The Bridge: Series 2 Episode 2"
+           (second (get-title-and-episode test-list-1))))))
+


Undo refactoring.

Undo refactoring.

--- test/cli4clj/test/cli_tests.clj
+++ test/cli4clj/test/cli_tests.clj
@@ -74,7 +74,7 @@

 (defn- async-test-fn
-  [printfn]
+  []
   (println "Starting...")
   (let [tmp-out *out*]
     (doto
@@ -82,24 +82,24 @@
         (fn []
           (binding [*out* tmp-out]
             (utils/sleep 500)
-            (printfn "Finished."))))
+            (println "Finished."))))
       (.start)))
   (println "Started."))

 (test/deftest async-cmd-not-finished-test
-  (let [cli-opts {:cmds {:async-foo {:fn #(async-test-fn println)}}}
+  (let [cli-opts {:cmds {:async-foo {:fn async-test-fn}}}
         test-cmd-input ["async-foo"]
         out-string (cli-tests/test-cli-stdout #(cli/start-cli cli-opts) test-cmd-input)]
     (test/is (= (cli-tests/expected-string ["Starting..." "Started."]) out-string))))

 (test/deftest async-cmd-sleep-finished-test
-  (let [cli-opts {:cmds {:async-foo {:fn #(async-test-fn println)}}}
+  (let [cli-opts {:cmds {:async-foo {:fn async-test-fn}}}
         test-cmd-input ["async-foo" "_sleep 1000"]
         out-string (cli-tests/test-cli-stdout #(cli/start-cli cli-opts) test-cmd-input)]
     (test/is (= (cli-tests/expected-string ["Starting..." "Started." "Finished."]) out-string))))

 (test/deftest async-cmd-string-latch-test
-  (let [cli-opts {:cmds {:async-foo {:fn #(async-test-fn println)}}}
+  (let [cli-opts {:cmds {:async-foo {:fn async-test-fn}}}
         test-cmd-input ["async-foo" "_sleep 1000"]
         sl (cli-tests/string-latch ["Finished."])
         out-string (cli-tests/test-cli-stdout #(cli/start-cli cli-opts) test-cmd-input sl)]


refine purchase-a-commodity test

refine purchase-a-commodity test

--- test/clj_money/trading_test.clj
+++ test/clj_money/trading_test.clj
@@ -100,24 +100,28 @@
                               :lot-items [{:lot-action :buy
                                            :shares 100M
                                            :price 10M}]
-                              :items [{:action :credit
+                              :items [{:action :debit
+                                       :amount 100M
+                                       :balance 100M
+                                       :value 1000M
+                                       :account-id (:id apple-account)
+                                       :description "Purchase 100 shares of AAPL at 10.000"
+                                       :memo nil
+                                       :transaction-date (t/local-date 2016 1 2)
+                                       :index 0
+                                       :reconciliation-status nil
+                                       :reconciled? false
+                                       :reconciliation-id nil}
+                                      {:action :credit
                                        :amount 1000M
                                        :balance 1000M
                                        :value 1000M
                                        :account-id (:id ira)
+                                       :description "Purchase 100 shares of AAPL at 10.000"
                                        :index 1
                                        :memo nil
                                        :transaction-date (t/local-date 2016 1 2)
-                                       :reconciled? false
-                                       :reconciliation-id nil}
-                                      {:action :debit
-                                       :amount 100M
-                                       :balance 100M
-                                       :value 1000M
-                                       :account-id (:id apple-account)
-                                       :memo nil
-                                       :transaction-date (t/local-date 2016 1 2)
-                                       :index 0
+                                       :reconciliation-status nil
                                        :reconciled? false
                                        :reconciliation-id nil}]}
         actual-transaction (-> (:transaction result)


New test: test-format-date-using-desired-format-3

--- test/clouseau/test_calendar.clj
+++ test/clouseau/test_calendar.clj
@@ -149,3 +149,14 @@
             (is (= "02-01"      (format-date-using-desired-format calendar "MM-dd")))
             (is (= "2000-01"    (format-date-using-desired-format calendar "yyyy-dd"))))))

+(deftest test-format-date-using-desired-format-3
+    "Check the function clouseau.calendar/format-date-using-desired-format"
+    (testing "the function clouseau.calendar/format-date-using-desired-format."
+        (let [calendar (get-calendar)]
+            (.set calendar 2000 01 01 10 20 30)
+            (is (= "10:20"      (format-date-using-desired-format calendar "hh:mm")))
+            (is (= "10:20:30"   (format-date-using-desired-format calendar "hh:mm:ss")))
+            (is (= "2000-02-01 10"  (format-date-using-desired-format calendar "yyyy-MM-dd hh")))
+            (is (= "2000-02-01 10:20"  (format-date-using-desired-format calendar "yyyy-MM-dd hh:mm")))
+            (is (= "2000-02-01 10:20:30"  (format-date-using-desired-format calendar "yyyy-MM-dd hh:mm:ss"))))))
+


CMR-226: Added test for searching with multiple sort keys.

--- test/cmr/system_int_test/search/collection_sorting_search_test.clj
+++ test/cmr/system_int_test/search/collection_sorting_search_test.clj
@@ -34,7 +34,7 @@
         c5 (make-coll "PROV2" "et98" 9 19)
         c6 (make-coll "PROV2" "et91" 15 25)
         c7 (make-coll "PROV2" "et79" 20 29)
-        c8 (make-coll "PROV2" "ET75" 25 36)
+        c8 (make-coll "PROV2" "ET94" 25 36)

         c9 (make-coll "PROV1" "et95" nil nil)
         c10 (make-coll "PROV2" "et85" nil nil)
@@ -42,22 +42,6 @@
         c12 (make-coll "PROV2" "et86" nil 22)
         all-colls [c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12]]
     (index/flush-elastic-index)
-
-    (testing "temporal start date"
-      (are [sort-key items] (d/refs-match-order?
-                              items
-                              (search/find-refs :collection {:page-size 20
-                                                             :sort-key sort-key}))
-           "start_date" [c5 c1 c11 c2 c6 c3 c7 c4 c8 c9 c10 c12]
-           "-start_date" [c8 c4 c7 c3 c6 c2 c11 c1 c5 c9 c10 c12]))
-
-    (testing "temporal end date"
-      (are [sort-key items] (d/refs-match-order?
-                              items
-                              (search/find-refs :collection {:page-size 20
-                                                             :sort-key sort-key}))
-           "end_date" [c5 c1 c12 c2 c6 c7 c3 c4 c8 c9 c10 c11]
-           "-end_date" [c8 c4 c3 c7 c6 c2 c12 c1 c5 c9 c10 c11]))

     (testing "default sorting"
       (is (d/refs-match-order?
@@ -79,5 +63,42 @@
                         (reverse (sort-by (comp str/lower-case :entry-title) all-colls))
                         (search/find-refs :collection {:page-size 20 :sort-key sort-key}))
            "-entry_title"
-           "-dataset_id"))))
+           "-dataset_id"))

+     (testing "temporal start date"
+      (are [sort-key items] (d/refs-match-order?
+                              items
+                              (search/find-refs :collection {:page-size 20
+                                                             :sort-key sort-key}))
+           "start_date" [c5 c1 c11 c2 c6 c3 c7 c4 c8 c9 c10 c12]
+           "-start_date" [c8 c4 c7 c3 c6 c2 c11 c1 c5 c9 c10 c12]))
+
+    (testing "temporal end date"
+      (are [sort-key items] (d/refs-match-order?
+                              items
+                              (search/find-refs :collection {:page-size 20
+                                                             :sort-key sort-key}))
+           "end_date" [c5 c1 c12 c2 c6 c7 c3 c4 c8 c9 c10 c11]
+           "-end_date" [c8 c4 c3 c7 c6 c2 c12 c1 c5 c9 c10 c11]))))
+
+(deftest multiple-sort-key-test
+  (let [c1 (make-coll "PROV1" "et10" 10 nil)
+        c2 (make-coll "PROV1" "et20" 10 nil)
+        c3 (make-coll "PROV1" "et30" 10 nil)
+        c4 (make-coll "PROV1" "et40" 10 nil)
+
+        c5 (make-coll "PROV2" "et10" 20 nil)
+        c6 (make-coll "PROV2" "et20" 20 nil)
+        c7 (make-coll "PROV2" "et30" 20 nil)
+        c8 (make-coll "PROV2" "et40" 20 nil)]
+    (index/flush-elastic-index)
+
+    (are [sort-key items] (d/refs-match-order?
+                            items
+                            (search/find-refs :collection {:page-size 20
+                                                           :sort-key sort-key}))
+         ["entry_title" "start_date"] [c1 c5 c2 c6 c3 c7 c4 c8]
+         ["entry_title" "-start_date"] [c5 c1 c6 c2 c7 c3 c8 c4]
+         ["start_date" "entry_title"] [c1 c2 c3 c4 c5 c6 c7 c8]
+         ["start_date" "-entry_title"] [c4 c3 c2 c1 c8 c7 c6 c5]
+         ["-start_date" "entry_title"] [c5 c6 c7 c8 c1 c2 c3 c4])))


Resolve reflection warnings in tests

Resolve reflection warnings in tests

--- test/http/async/client/test.clj
+++ test/http/async/client/test.clj
@@ -289,7 +289,7 @@
     (await resp)
     (is (done? resp))
     (is (failed? resp))
-    (is (= "boom!" (.getMessage (error resp))))))
+    (is (= "boom!" (.getMessage ^Exception (error resp))))))

 (deftest test-send-headers
   (let [resp (GET *client* "http://localhost:8123/" :headers {:a 1 :b 2})
@@ -662,7 +662,7 @@

 (deftest content-type-fn
   (let [resp (GET *client* "http://localhost:8123/body")]
-    (is (.startsWith (content-type resp) "text/plain"))))
+    (is (.startsWith ^String (content-type resp) "text/plain"))))

 (deftest single-set-cookie
   (let [resp (GET *client* "http://localhost:8123/cookie")


add duration before/after time in FR

add duration before/after time in FR

--- resources/languages/fr/rules/duration.clj
+++ resources/languages/fr/rules/duration.clj
@@ -62,4 +62,12 @@
   [(dim :duration) #"(?i)plus t[oô]t"]
   (duration-ago (:value %1))

+  "<duration> apres <time>"
+  [(dim :duration) #"(?i)apr[eè]s" (dim :time)]
+  (duration-after (:value %1) %3)
+
+  "<duration> avant <time>"
+  [(dim :duration) #"(?i)avant" (dim :time)]
+  (duration-before (:value %1) %3)
+
 )


avoid passing :session/key in response for cleaner session middleware

--- ring-core/src/ring/middleware/session.clj
+++ ring-core/src/ring/middleware/session.clj
@@ -29,7 +29,7 @@
       (bare-session-request opts)))

 (defn- bare-session-response
-  [{session-key :session/key :as response} & [{:keys [store cookie-name cookie-attrs]}]]
+  [response {session-key :session/key}  & [{:keys [store cookie-name cookie-attrs]}]]
   (let [new-session-key (when (contains? response :session)
                           (if-let [session (response :session)]
                             (store/write-session store session-key session)
@@ -46,10 +46,11 @@

 (defn session-response
   "Updates session based on :session key in response."
-  [response & [opts]]
-  (-> response
-      (bare-session-response opts)
-      cookies/cookies-response))
+  [response request & [opts]]
+  (when response
+    (-> response
+        (bare-session-response request opts)
+        cookies/cookies-response)))

 (defn wrap-session
   "Reads in the current HTTP session map, and adds it to the :session key on
@@ -78,10 +79,7 @@
   ([handler options]
      (let [options (session-options options)]
        (fn [request]
-         (let [new-request (session-request request options)
-               session-key (:session/key new-request)
-               response (-> new-request
-                            handler
-                            (assoc :session/key session-key))]
-           (when (seq (dissoc response :session/key))
-             (session-response response options)))))))
+         (let [new-request (session-request request options)]
+           (-> new-request
+               handler
+               (session-response new-request options)))))))


CMR-3498 PR fixes

CMR-3498 PR fixes

--- umm-lib/test/cmr/umm/test/iso_mends/iso_mends_collection_tests.clj
+++ umm-lib/test/cmr/umm/test/iso_mends/iso_mends_collection_tests.clj
@@ -46,8 +46,6 @@

 (defmethod create-bounding-box cmr.spatial.line_string.LineString
   [geometry]
-  (proto-repl.saved-values/save 20)
-  ;(cmr.spatial.line-string/line-string->mbr geometry))
   (fix-mbr (:mbr (d/calculate-derived geometry))))

 (defmethod create-bounding-box cmr.spatial.polygon.Polygon
@@ -62,7 +60,7 @@
   (if-let [geometries (:geometries spatial-coverage)]
     (assoc spatial-coverage :geometries
       (interleave
-       (map #(create-bounding-box %) geometries)
+       (map create-bounding-box geometries)
        geometries))
     spatial-coverage))


put panels in same frame

put panels in same frame

git-svn-id: 03a8048b5ee8463be5048a3801110fb50f378627@9831 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd

--- plugins/SlideExplorer2/src/slide_explorer/view.clj
+++ plugins/SlideExplorer2/src/slide_explorer/view.clj
@@ -1,5 +1,5 @@
 (ns slide-explorer.view
-  (:import (javax.swing JFrame JPanel)
+  (:import (javax.swing JFrame JPanel JSplitPane)
            (java.awt AlphaComposite Color Graphics Graphics2D Rectangle RenderingHints Window)
            (java.awt.event ComponentAdapter KeyEvent KeyAdapter
                             WindowAdapter)
@@ -282,17 +282,19 @@

 (defn show [memory-tiles acquired-images]
   (let [frame (main-frame)
-        frame2 (doto (JFrame. "test") .show)
         [panel screen-state] (view-panel memory-tiles acquired-images)
-        [panel2 screen-state2] (view-panel memory-tiles acquired-images)]
+        [panel2 screen-state2] (view-panel memory-tiles acquired-images)
+        split-pane (JSplitPane. JSplitPane/HORIZONTAL_SPLIT true panel panel2)]
+    (doto split-pane
+      (.setResizeWeight 0.5)
+      (.setDividerLocation 0.7))
     (def ss screen-state)
     (def ss2 screen-state2)
     (def pnl panel)
     (def mt memory-tiles)
     (def f frame)
     (def ai acquired-images)
-    (.add (.getContentPane frame) panel)
-    (.add (.getContentPane frame2) panel2)
+    (.add (.getContentPane frame) split-pane)
     (setup-fullscreen frame)
     (make-view-controllable panel screen-state)
     (handle-resize panel2 screen-state2)


add auto topic create

add auto topic create

--- kafka-clj/src/kafka_clj/client.clj
+++ kafka-clj/src/kafka_clj/client.clj
@@ -60,27 +60,32 @@
 		           (commute topic-partition-ref (fn [x]
 		                                          (assoc x topic (AtomicLong. 0)))))
 		     (select-rr-partition! topic state)))
-    (do
-      (error "No topic found " topic " in state map " topic-partition-ref)
-      (error "broker-meta " brokers-metadata)
-      (throw (RuntimeException.
-             (str "The topic " topic " does not exist, please create it first. See http://kafka.apache.org/documentation.html")))))))
+    (if (-> state :conf :topic-auto-create)
+      0
+      (do
+        (error "No topic found " topic " in state map " topic-partition-ref)
+        (error "broker-meta " brokers-metadata)
+        (throw (RuntimeException.
+                 (str "The topic " topic " does not exist, please create it first. See http://kafka.apache.org/documentation.html"))))))))

 (defn get-broker-from-metadata [topic partition brokers-metadata]
   (-> brokers-metadata (get topic) (get partition)))

 (defn random-select-broker [topic brokers-metadata]
   "Select a broker over all the registered topics randomly"
-  (-> (map (fn [[k v]] [k v]) brokers-metadata) rand-nth rest rand-nth))
+  (if-let [brokers (get brokers-metadata topic)]
+    (rand-nth brokers)
+    (->> brokers-metadata keys (rand-nth) (get brokers-metadata) rand-nth)))

-(defn select-broker [topic partition brokers-metadata]
+(defn select-broker
   "Try to find the broker in the brokers-metadata by topic and partition,
     if no broker can be found, a random select is done, if still
     no broker is found nil is returned"
+  [topic partition brokers-metadata & {:keys [topic-auto-create]}]
   (if-let [broker (get-broker-from-metadata topic partition @brokers-metadata)]
     [partition broker]
-    [0 (random-select-broker topic brokers-metadata)]))
+    [0 (random-select-broker topic @brokers-metadata)]))

 (defn send-to-buffer [{:keys [ch-source]} msg]
   (>!! ch-source msg))
@@ -220,10 +225,11 @@
                                   ))))))))

-(defn find-hashed-connection [broker k producers upper-limit]
+(defn find-hashed-connection
   "Finds the value with a key that when hashed and moded against upper-limit is the same for k
    this is an optimization for hashed partitioning where the original keys are stored in the producers-ref
    i.e. topic:partition but the connections are created on (mod (hash k) upper-limit)"
+  [broker k producers upper-limit]
   (let [hashed-k (hash k)
 	     [_ producer] (first
                        (filter (fn [[producer-k {:keys [host port]}]]
@@ -262,7 +268,7 @@
                    (info "adding producer to ref:  topic " topic " partition " partition)
                    (if-let [producer (-> producers-ref deref (get topic) (get partition))] ;use get get for speed
                      x ; return map the producer already exists
-                     (let [[partition broker] (select-broker topic partition brokers-metadata)]
+                     (let [[partition broker] (select-broker topic partition brokers-metadata :topic-auto-create (:topic-auto-create conf))]
                        (if-let [producer (find-hashed-connection broker (str topic ":" partition) @producers-ref (get conf :producer-connections-max 2))]
                          (assoc-in x [topic partition] producer) ; found a producer based on hash and broker for the same partition
                          (assoc-in x [topic partition] (delay ;else create a new producer
@@ -283,11 +289,15 @@
 (defn- send-msg-retry [{:keys [state] :as connector} {:keys [topic] :as msg}]
   "Try sending the message to any of the producers till all of the producers have been trieds"
    (do-metadata-update connector)
-   (let [partitions (-> state :brokers-metadata deref (get topic))]
-      (if (or (empty? partitions) (= partitions 0))
-        (throw (RuntimeException. (str "No topics available for topic " topic " partitions " partitions))))
-
-      (loop [partitions-1 partitions i 0]
+   (let [partitions  (let [partitions(-> state :brokers-metadata deref (get topic)) ]
+                       (if (or (empty? partitions) (= partitions 0))
+                         (if (-> state :conf :topic-auto-create)
+                           [0]
+                           (throw (RuntimeException. (str "No topics available for topic " topic " partitions " partitions))))
+                         partitions))]
+
+     (prn "using partitions " partitions)
+      (loop [partitions-1 partitions i 0]
         (if-let [partition (first partitions-1)]
           (let [sent (try
 						            (let [producer-buffer (exception-if-blacklisted (select-producer-buffer! connector topic i state) @(:blacklisted-producers-ref state))]
@@ -351,7 +361,7 @@
   (:metadata-error-ch connector))

-(defn create-connector [bootstrap-brokers {:keys [acks batch-fail-message-over-limit batch-byte-limit blacklisted-expire producer-retry-strategy] :or {blacklisted-expire 10000 acks 0 batch-fail-message-over-limit true batch-byte-limit 10485760 producer-retry-strategy :default} :as conf}]
+(defn create-connector [bootstrap-brokers {:keys [acks batch-fail-message-over-limit batch-byte-limit blacklisted-expire producer-retry-strategy topic-auto-create] :or {blacklisted-expire 10000 acks 0 batch-fail-message-over-limit true batch-byte-limit 10485760 producer-retry-strategy :default topic-auto-create true} :as conf}]
   (let [
         ^ScheduledExecutorService scheduled-service (Executors/newSingleThreadScheduledExecutor)
         metadata-producers-ref (ref (filter (complement nil?) (map #(delay (metadata-request-producer (:host %) (:port %) conf)) bootstrap-brokers)))
@@ -377,7 +387,7 @@
                :topic-partition-ref (ref {})
                :producer-error-ch producer-error-ch
                :blacklisted-producers-ref blacklisted-producers-ref
-               :conf (assoc conf :batch-fail-message-over-limit batch-fail-message-over-limit :batch-byte-limit batch-byte-limit)}
+               :conf (assoc conf :batch-fail-message-over-limit batch-fail-message-over-limit :batch-byte-limit batch-byte-limit :topic-auto-create topic-auto-create)}
         ;go through each producer, if it does not exist in the metadata, the producer is closed, otherwise we keep it.
         update-producers (fn [metadata m]
                                (into {} (filter (complement nil?)


Get visible camera pixel coordinates, to help decide on what tiles to acquire.

git-svn-id: 03a8048b5ee8463be5048a3801110fb50f378627@9433 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd

--- plugins/SlideExplorer2/src/slide_explorer/view.clj
+++ plugins/SlideExplorer2/src/slide_explorer/view.clj
@@ -77,17 +77,13 @@
           ny (range nt (inc nb))]
       [nx ny])))

-(defn unzoomed-rectangle
-  [rectangle zoom]
-  (Rectangle. (/ (.x rectangle) zoom)
-              (/ (.y rectangle) zoom)
-              (/ (.width rectangle) zoom)
-              (/ (.height rectangle) zoom)))
-
-(defn tiles-in-unzoomed-pixel-rectangle
-  [rectangle [tile-width tile-height] zoom]
-  (tiles-in-pixel-rectangle (unzoomed-rectangle rectangle zoom)
-                            [tile-width tile-height]))
+(defn pixel-rectangle
+  "Converts the screen state coordinates to visible camera pixel coordinates."
+  [{:keys [x y width height zoom]}]
+  (Rectangle. (- x (/ width 2 zoom))
+              (- y (/ height 2 zoom))
+              (/ width zoom)
+              (/ height zoom)))

 ;; TILING

@@ -155,21 +151,30 @@
   (let [original-transform (.getTransform graphics)
         zoom (:zoom screen-state)
         x-center (/ (screen-state :width) 2)
-        y-center (/ (screen-state :height) 2)]
+        y-center (/ (screen-state :height) 2)
+        [tile-width tile-height] [512 512]]
     (doto graphics
       (.setClip 0 0 (:width screen-state) (:height screen-state))
       (.translate (- x-center (int (* (:x screen-state) zoom)))
                   (- y-center (int (* (:y screen-state) zoom))))
-      (paint-tiles available-tiles screen-state [512 512])
+      (paint-tiles available-tiles screen-state [tile-width tile-height])
       enable-anti-aliasing
       ;(.setColor (Color. 0x0CB397))
       ;(.fillOval -5 -5
       ;           10 10)
-      (.setTransform original-transform)
-      (.setColor (Color. 0xECF2AA))
-      (.drawString (str (select-keys screen-state [:x :y :z :zoom :keys]))
-                   (int 0)
-                   (int (- (screen-state :height) 12))))))
+      )
+    (let [rect (.getClipBounds graphics)]
+      (doto graphics
+        (.setTransform original-transform)
+        (.setColor (Color. 0xECF2AA))
+        (.drawString (pr-str (tiles-in-pixel-rectangle
+                               (pixel-rectangle screen-state) [tile-width tile-height]))
+                     10 25)
+        (.drawString (pr-str (pixel-rectangle screen-state))
+                     10 40)
+        (.drawString (str (select-keys screen-state [:x :y :z :zoom :keys :width :height]))
+                     (int 10)
+                     (int (- (screen-state :height) 12)))))))

 ;; USER INPUT HANDLING


Allow output to work like println w/ & args.

--- src/isla/story_utils.clj
+++ src/isla/story_utils.clj
@@ -5,5 +5,5 @@
   (flush)
   (read-line))

-(defn output [given-output]
-  (println " " given-output))
+(defn output [& outs]
+  (apply println " " outs))


CMR-4755: Update docstring.

CMR-4755: Update docstring.

Update collection-platforms->keywords docstring.

--- indexer-app/src/cmr/indexer/data/concepts/keyword_util.clj
+++ indexer-app/src/cmr/indexer/data/concepts/keyword_util.clj
@@ -87,7 +87,7 @@
    (:value characteristic)])

 (defn- collection-platforms->keywords
-  "Convert a collection of platforms into a vector of terms for keyword searches."
+  "Convert the given platforms to a list of terms for keyword searches."
   [platforms]
   (let [platforms (map util/map-keys->kebab-case
                        (when-not (= su/not-provided-platforms platforms) platforms))


use Pattern.quote() instead of \\Q \\E

use Pattern.quote() instead of \\Q \\E

--- src/me/panzoo/story.clj
+++ src/me/panzoo/story.clj
@@ -10,6 +10,7 @@
     [clojure.string :as string]
     [clojure.tools.cli :as cli])
   (:import
+    [java.util.regex Pattern]
     [org.pegdown PegDownProcessor Extensions

 ; Internal links (to element ids) are nice to have. These imports will be used
@@ -91,7 +92,7 @@
 (defn comment
   "A regular expression matching the beginning of a commented line."
   []
-  (re-pattern (str "^\\Q" *single-comment* "\\E ?")))
+  (re-pattern (str "^" (Pattern/quote *single-comment*) " ?")))

 (defn anchor
   "A regular expression matching the beginning of an anchor line."


Fix font tests.

Fix font tests.

--- test/cljx/snippets/typography/loading_and_displaying.cljx
+++ test/cljx/snippets/typography/loading_and_displaying.cljx
@@ -34,18 +34,20 @@
   (q/fill 0)
   (q/text (str "'Courier New' available: " (q/font-available? "Courier New"))
         20 20)
+  (q/text (str "'Ubuntu' available: " (q/font-available? "Ubuntu"))
+        20 40)
   (q/text (str "'My Custom Font' available: " (q/font-available? "My Custom Font"))
-        20 40))
+        20 60))

 #+clj
 (defsnippet load-font {}
   (q/background 255)
   (q/fill 0)
-  (let [font (q/load-font (clojure.java.io/resource "ComicSansMS-48.vlw"))]
-    (->> (clojure.java.io/resource "ComicSansMS-48.vlw")
-         (q/load-font)
-         (q/text-font))
-    (q/text "CoMiC SaNs HeRe" 20 100)))
+  (->> (clojure.java.io/resource "ComicSansMS-48.vlw")
+       (.getPath)
+       (q/load-font)
+       (q/text-font))
+  (q/text "CoMiC SaNs HeRe" 20 100))

 (defsnippet text {:renderer :p3d}
   (q/background 255)


[#2620] Add column OPTION specs [specs]

[#2620] Add column OPTION specs [specs]

--- backend/specs/akvo/lumen/specs/import/column.clj
+++ backend/specs/akvo/lumen/specs/import/column.clj
@@ -19,8 +19,8 @@
 (create-ns  'akvo.lumen.specs.import.column.geopoint)
 (create-ns  'akvo.lumen.specs.import.column.multiple)
 (create-ns  'akvo.lumen.specs.import.column.multiple.caddisfly)
-(create-ns 'akvo.lumen.specs.import.column.multiple.geo-shape-features)
-
+(create-ns  'akvo.lumen.specs.import.column.multiple.geo-shape-features)
+(create-ns  'akvo.lumen.specs.import.column.option)
 (alias 'c.text 'akvo.lumen.specs.import.column.text)
 (alias 'c.number 'akvo.lumen.specs.import.column.number)
 (alias 'c.date 'akvo.lumen.specs.import.column.date)
@@ -29,8 +29,8 @@
 (alias 'c.multiple 'akvo.lumen.specs.import.column.multiple)
 (alias 'c.multiple.caddisfly 'akvo.lumen.specs.import.column.multiple.caddisfly)
 (alias 'c.multiple.geo-shape-features 'akvo.lumen.specs.import.column.multiple.geo-shape-features)
-
-(s/def ::type #{"text" "number" "date" "geoshape" "geopoint" "multiple"})
+(alias 'c.option 'akvo.lumen.specs.import.column.option)
+(s/def ::type #{"text" "number" "date" "geoshape" "geopoint" "multiple" "option"})

 (s/def ::c.text/type #{"text"})
 (s/def ::c.number/type #{"number"})
@@ -38,6 +38,7 @@
 (s/def ::c.geoshape/type #{"geoshape"})
 (s/def ::c.geopoint/type #{"geopoint"})
 (s/def ::c.multiple/type #{"multiple"})
+(s/def ::c.option/type #{"option"})

 (s/def ::column-header (s/keys :req-un [::v/title]
                                :opt-un [::v/id
@@ -60,6 +61,10 @@

 (s/def ::c.multiple.caddisfly/multipleId ::v/multipleId)
 (s/def ::c.multiple.geo-shape-features/multipleId ::v/id)
+
+(s/def ::c.option/header* (s/keys :req-un [::c.option/type]))
+(s/def ::c.option/header (s/merge ::column-header ::c.option/header*))
+
 (defmulti column-multiple :multipleType)

 (s/def ::c.multiple.caddisfly/multipleType #{"caddisfly"})
@@ -85,6 +90,7 @@
 (defmethod column-header "geoshape" [_] ::c.geoshape/header)
 (defmethod column-header "geopoint" [_] ::c.geopoint/header)
 (defmethod column-header "multiple" [_] ::c.multiple/header)
+(defmethod column-header "option" [_] ::c.option/header)

 (s/def ::header (s/multi-spec column-header :type))

@@ -134,6 +140,10 @@
                             #(instance? Geopoint %)
                             #(s/gen #{(Geopoint. v/point)})))

+(s/def ::c.option/value (s/with-gen
+                            string?
+                            #(s/gen #{"opt1|opt2" "opt2" "opt2|opt3" "opt4" "opt1|opt5"})))
+
 (defmulti column-body (fn[{:keys [type] :as o}] type))

 (s/def ::c.text/body (s/keys :req-un [::c.text/type ::c.text/value]))
@@ -142,6 +152,7 @@
 (s/def ::c.multiple/body (s/keys :req-un [::c.multiple/type ::c.multiple/value]))
 (s/def ::c.geoshape/body (s/keys :req-un [::c.geoshape/type ::c.geoshape/value]))
 (s/def ::c.geopoint/body (s/keys :req-un [::c.geopoint/type ::c.geopoint/value]))
+(s/def ::c.option/body (s/keys :req-un [::c.option/type ::c.option/value]))

 (defmethod column-body "text" [_] ::c.text/body)
 (defmethod column-body "number" [_] ::c.number/body)
@@ -149,6 +160,7 @@
 (defmethod column-body "multiple" [_] ::c.multiple/body)
 (defmethod column-body "geoshape" [_] ::c.geoshape/body)
 (defmethod column-body "geopoint" [_] ::c.geopoint/body)
+(defmethod column-body "option" [_] ::c.option/body)

 (s/def ::body  (s/multi-spec column-body (fn [a b] a)))

@@ -166,5 +178,7 @@
   (s/keys :req-un [::c.geoshape/header ::c.geoshape/body]))
 (defmethod column "geopoint" [_]
   (s/keys :req-un [::c.geopoint/header ::c.geopoint/body]))
+(defmethod column "option" [_]
+  (s/keys :req-un [::c.option/header ::c.option/body]))

 (s/def ::column (s/multi-spec column (fn [a b] a)))


Improve error messages on undoing transformations

--- backend/src/akvo/lumen/transformation/engine.clj
+++ backend/src/akvo/lumen/transformation/engine.clj
@@ -184,7 +184,8 @@
                 {:transaction? false})
     (loop [transformations (butlast (:transformations current-dataset-version))
            columns initial-columns
-           full-execution-log []]
+           full-execution-log []
+           tx-index 0]
       (if (empty? transformations)
         (let [new-dataset-version-id (str (util/squuid))]
           (clear-dataset-version-data-table tenant-conn {:id (:id current-dataset-version)})
@@ -203,15 +204,17 @@
             (touch-dataset tenant-conn {:id dataset-id})
             (drop-table tenant-conn {:table-name previous-table-name})
             (lib/created next-dataset-version)))
-        (let [{:keys [success? message columns execution-log]}
-              (try-apply-operation deps table-name columns (first transformations))]
+        (let [transformation (first transformations)
+              {:keys [success? message columns execution-log] :as transformation-result}
+              (try-apply-operation deps table-name columns transformation)]
           (if success?
-            (recur (rest transformations) columns (into full-execution-log execution-log))
+            (recur (rest transformations) columns (into full-execution-log execution-log) (inc tx-index))
             (do
               (log/info (str "Unsuccessful undo of dataset: " dataset-id))
               (log/debug message)
               (log/debug "Job executionid: " job-execution-id)
-              (throw (ex-info "Failed to undo" {})))))))))
+              (throw (ex-info (str "Failed to undo transformation index:" tx-index) {:transformation-result transformation-result
+                                                                                :transformation transformation})))))))))

 (defn execute-undo [{:keys [tenant-conn] :as deps} dataset-id job-execution-id]
   (let [current-dataset-version (latest-dataset-version-by-dataset-id tenant-conn


Add dependency on buddy-core and aleph

Add dependency on buddy-core and aleph

Considering these as a possible replacement for 0mq

--- project.clj
+++ project.clj
@@ -11,7 +11,9 @@
   ;; A: Probably. But it would be a foolish choice. The web and client components
   ;; really shouldn't have access to that sort of thing.
   ;; TODO: Pick a date library and use it.
-  :dependencies [[clj-time "0.12.0"]
+  :dependencies [[aleph "0.4.1"]
+                 [buddy/buddy-core "1.1.1"]
+                 [clj-time "0.12.0"]
                  ;; Q: Does this make any sense in production?
                  ;; A: Well, it makes sense for the general runtime which
                  ;; is the primary goal.


bump to alpha5

bump to alpha5

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject re-frame "0.8.0-alpha4"
+(defproject re-frame "0.8.0-alpha5"
   :description  "A Clojurescript MVC-like Framework For Writing SPAs Using Reagent."
   :url          "https://github.com/Day8/re-frame.git"
   :license      {:name "MIT"}


Added my gpg key email

Added my gpg key email

--- project.clj
+++ project.clj
@@ -3,6 +3,7 @@
   :url "https://github.com/ducky427/electron-template"
   :license {:name "MIT License"
             :url "http://opensource.org/licenses/MIT"}
+  :signing {:gpg-key "rohit@keybase.io"}
   :scm {:name "git"
         :url "https://github.com/ducky427/electron-template"}
   :eval-in-leiningen true)


Version 0.0.28

Version 0.0.28

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


Fix project command aliases.

Fix project command aliases.

--- project.clj
+++ project.clj
@@ -4,8 +4,8 @@
   :license {:name "Public Domain"
             :url "http://unlicense.org/"}

-  :aliases {"docs" ["do" "hiera" "doc" ["marg" "--multi" "--dir" "target/doc/marginalia"]]
-            "tests" ["do" "check" "test" "cloverage"]
+  :aliases {"docs" ["do" ["hiera"] ["doc"] ["marg" "--multi" "--dir" "target/doc/marginalia"]]
+            "tests" ["do" ["check"] ["test"] ["cloverage"]]
             "tool-repl" ["with-profile" "+tool" "repl"]}

   :plugins [[codox "0.8.10"]
@@ -26,7 +26,7 @@
   :hiera {:path "target/doc/ns-hiera.png"
           :vertical? false
           :cluster-depth 2
-          :ignore-ns #{user clojure byte-streams clj-time vault.search vault.tool}}
+          :ignore-ns #{user clojure byte-streams clj-time}}

   :codox {:defaults {:doc/format :markdown}
           :exclude #{user}


Missing dependency on wagon-provider-api

Cf. https://github.com/ato/clojars-web/issues/21

--- project.clj
+++ project.clj
@@ -7,6 +7,7 @@
                  [org.apache.maven/maven-model "2.2.1"]
                  [org.apache.maven/maven-project "2.2.1"]
                  [org.apache.maven.wagon/wagon-file "1.0-beta-6"]
+                 [org.apache.maven.wagon/wagon-provider-api "1.0-beta-6"]
                  [compojure "0.5.2"]
                  [ring/ring-jetty-adapter "0.3.1"]
                  [hiccup "0.3.0"]


Fixed namespace for project

Fixed namespace for project

--- project.clj
+++ project.clj
@@ -10,7 +10,7 @@
 ;      Pavel Tisnovsky
 ;

-(defproject clj-calendar "0.1.0-SNAPSHOT"
+(defproject org.clojars.tisnik/clj-calendar "0.1.0-SNAPSHOT"
   :description "Set of functions for manipulating with Calendar(s)"
   :url "http://example.com/FIXME"
   :license {:name "Eclipse Public License"


bump deps

bump deps

--- project.clj
+++ project.clj
@@ -3,8 +3,8 @@
   :url "http://www.github.com/daveyarwood/riffmuse"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
-  :dependencies [[org.clojure/clojure "1.5.1"]
-                 [instaparse "1.3.2"]
-                 [trptcolin/versioneer "0.1.0"]]
+  :dependencies [[org.clojure/clojure "1.6.0"]
+                 [instaparse "1.3.5"]
+                 [trptcolin/versioneer "0.1.1"]]
   :aot [riffmuse.core]
   :main riffmuse.core)


Bump org.clojure/data.xml dep version to accommodate cognitect/aws-api (#122)

--- project.clj
+++ project.clj
@@ -72,7 +72,7 @@
                  [org.clojure/java.classpath "0.3.0"]
                  [org.clojure/core.cache "0.8.2"]
                  [org.clojure/core.memoize "0.8.2"]
-                 [org.clojure/data.xml "0.0.8"]
+                 [org.clojure/data.xml "0.2.0-alpha6"]
                  [org.clojure/data.zip "0.1.3"]
                  [org.clojure/java.jdbc "0.7.10"]
                  [org.postgresql/postgresql "42.2.8"]


Version 0.4.0-alpha6

Version 0.4.0-alpha6

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject yetibot.core "0.4.0-alpha6-SNAPSHOT"
+(defproject yetibot.core "0.4.0-alpha6"
   :description "Core yetibot utilities, extracted for shared use among yetibot
                 and its various plugins"
   :url "https://github.com/devth/yetibot.core"


Version 3.2.0-SNAPSHOT

Version 3.2.0-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject lymingtonprecision/route-ccrs "3.1.0"
+(defproject lymingtonprecision/route-ccrs "3.2.0-SNAPSHOT"
   :description "A library for calculating part/routing end dates and CCRs"
   :url "https://github.com/lymingtonprecision/route-ccrs"
   :license {:name "Eclipse Public License"


(MAINT) Upgrade kitchensink dependency to 1.0.0

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

 (defproject puppetlabs/http-client "0.4.1-SNAPSHOT"


Update codemirror version

Update codemirror version

--- project.clj
+++ project.clj
@@ -28,7 +28,7 @@
   :profiles {:frontend {:dependencies [[ca.gt0.theasp/reagent-mdl "0.1.0-SNAPSHOT"]
                                        [cljsjs/clipboard "1.5.13-0"]
                                        [cljsjs/material "1.2.1-0"]
-                                       [cljsjs/codemirror "5.21.0-1"]]
+                                       [cljsjs/codemirror "5.21.0-2"]]

                         :clean-targets ^{:protect false} [:target-path
                                                           [:cljsbuild :builds :frontend-dev :compiler :output-to]


voom freshen

voom freshen


update leiningen project to avoid putting .java source files in our jars and add our "npm" and "gulp" tasks to the :pre-tasks list.

--- project.clj
+++ project.clj
@@ -1,4 +1,5 @@
 ;; -*- comment-column: 60; -*-
+;; full set of options are here .. https://github.com/technomancy/leiningen/blob/master/sample.project.clj

 (defproject metabase "metabase-0.1.0-SNAPSHOT"
   :description "Metabase Community Edition"
@@ -47,6 +48,8 @@
   :java-source-paths ["src/java"]
   :main ^:skip-aot metabase.core
   :target-path "target/%s"
+  :jar-exclusions [#"\.java"]
+  :prep-tasks ["npm" "gulp" "javac" "compile"]
   :ring {:handler metabase.core/app}
   :profiles {:dev {:dependencies [[expectations "2.0.12"]   ; unit tests
                                   [ring/ring-mock "0.2.0"]


Removeds codox configuration

Removeds codox configuration

--- project.clj
+++ project.clj
@@ -14,12 +14,6 @@
             [lein-cljsbuild "1.1.7" :exclusions [[org.clojure/clojure]]]
             [lein-figwheel "0.5.16"]
             [lein-hiera "1.0.0"]]
-  ;; TODO - remove
-  :codox {:output-path "docs"
-          :source-paths ["src"]
-          :namespaces [expound.alpha]
-          ;; Exclude 'doc' directory, since it's all internal documentation right now.
-          :doc-paths []}
   :cljsbuild {:builds
               [{:id "test"
                 :source-paths ["src" "test"]


Changed project.clj

Changed project.clj

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

                {:id "prod"
                 :source-paths ["src/app" "src/common"]
-                :compiler {:output-to "resources/public/js/ghoul.min.js"
+                :compiler {:output-to "resources/public/js/ghoul.js"
                            :main ghoul.app.main
                            :optimizations :advanced
                            :pretty-print false}}
@@ -66,7 +66,7 @@

                {:id "worker-prod"
                 :source-paths ["src/worker" "src/common"]
-                :compiler {:output-to "resources/public/js/ghoul-worker.min.js"
+                :compiler {:output-to "resources/public/js/ghoul-worker.js"
                            :main ghoul.worker.feed-updater
                            :optimizations :advanced
                            :pretty-print false}}


Fill in project description and URL

Fill in project description and URL

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (defproject pepa "0.1.0-SNAPSHOT"
-  :description "FIXME: write description"
-  :url "http://example.com/FIXME"
+  :description "Pepa: Document Management System"
+  :url "https://github.com/bevuta/pepa"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.7.0-RC1"]


Prepare for next release cycle.

Prepare for next release cycle.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onyx-cheat-sheet "0.11.1.0-alpha2"
+(defproject onyx-cheat-sheet "0.11.1.0-SNAPSHOT"
   :description "Cheat sheet for Onyx"
   :url "https://github.com/onyx-platform/onyx-cheat-sheet"
   :license {:name "Eclipse Public License"


+org/clojure/clojurescript

+org/clojure/clojurescript

--- project.clj
+++ project.clj
@@ -16,6 +16,7 @@
                                                     com.sun.jdmk/jmxtools
                                                     com.sun.jmx/jmxri]]
                  [org.clojure/clojure "1.7.0"]
+                 [org.clojure/clojurescript "1.7.170"]
                  [org.clojure/data.json "0.2.5"]
                  [org.clojure/tools.logging "0.2.6"]
                  [org.clojure/tools.namespace "0.2.11"]


Set version to 0.12.0

Set version to 0.12.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject funcool/catacumba "0.11.3-SNAPSHOT"
+(defproject funcool/catacumba "0.12.0"
   :description "Asynchronous Web Toolkit for Clojure."
   :url "http://github.com/funcool/catacumba"
   :license {:name "BSD (2-Clause)"


Update to 0.1.1

Update to 0.1.1

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject data-frisk-reagent "0.1.0-SNAPSHOT"
+(defproject data-frisk-reagent "0.1.1"
   :description "Frisking EDN since 2016!"
   :url "http://github.com/odinodin/data-frisk-reagent"
   :license {:name "MIT"


CI build : Adding reference to test2junit plugin to allow for viewing test results from Jenkins dashboard.

--- project.clj
+++ project.clj
@@ -18,7 +18,8 @@
                  ]
   :pedantic? :warn ; :abort
   :plugins [[lein-cljsbuild "0.3.2"]
-            [lein-ring "0.8.8" :exclusions [org.clojure/clojure]]]
+            [lein-ring "0.8.8" :exclusions [org.clojure/clojure]]
+            [test2junit "1.0.1"]]
   :hooks [leiningen.cljsbuild]
   :source-paths ["src/clj"]
   :cljsbuild {:crossovers [aspire.model]


Update to 2.0.1.

Update to 2.0.1.

--- project.clj
+++ project.clj
@@ -4,7 +4,7 @@
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.6.0"]
-                 [org.immutant/immutant "2.0.0"]
+                 [org.immutant/immutant "2.0.1"]
                  [compojure "1.3.1"]
                  [ring/ring-devel "1.3.1"]
                  [org.clojure/core.memoize "0.5.6"]


Starting development on com.outpace/remote 0.3.2-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject com.outpace/remote "0.3.1"
+(defproject com.outpace/remote "0.3.2-SNAPSHOT"
   :description "A Clojure(Script) library and DSL for building client to remote service APIs."

   :url "http://github.com/outpace/remote"


tweak cljs build flags

tweak cljs build flags

add :static-fns for better performance,
:source-map is true by default, so omit it

--- project.clj
+++ project.clj
@@ -28,7 +28,7 @@
                                                     :output-to     "target/main.js"
                                                     :output-dir    "target/main"
                                                     :optimizations :none
-                                                    :source-map    true}}
+                                                    :static-fns    true}}
                               :test {:source-paths   ["src" "test"]
                                      :notify-command ["node" "target/test.js"]
                                      :compiler       {:target        :nodejs
@@ -36,7 +36,7 @@
                                                       :output-to     "target/test.js"
                                                       :output-dir    "target/test"
                                                       :optimizations :none
-                                                      :source-map    true}}}}
+                                                      :static-fns    true}}}}

   :profiles {:dev {:plugins      [[lein-cljsbuild "1.1.0"]
                                   [lein-npm "0.6.1"]]


Simplification now can't improve; deletion genetic operator.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject lspector/clojush "1.2.18"
+(defproject lspector/clojush "1.2.19"
             :description "The Push programming language and the PushGP genetic programming
                           system implemented in Clojure.
                           See http://hampshire.edu/lspector/push.html"


Update tagline

Update tagline

--- project.clj
+++ project.clj
@@ -1,5 +1,5 @@
 (defproject com.mdrogalis/onyx-metrics "0.6.0-SNAPSHOT"
-  :description "Instrumentation for Onyx workflows"
+  :description "Instrument Onyx workflows"
   :url "https://github.com/MichaelDrogalis/onyx"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}


dwc bump

dwc bump

--- project.clj
+++ project.clj
@@ -3,10 +3,11 @@
   :url "http://github.com/CNCFlora/dwc-services"
   :license {:name "MIT" }
   :main dwc-services.server
+  :jvm-opts ["-Xmx2G" "-Xms2G" "-server"]
   :ring {:handler dwc-services.server/app :reload-paths ["src"]}
   :resources-path "resources"
   :dependencies [[org.clojure/clojure "1.6.0"]
-                 [dwc "0.0.30"]
+                 [dwc "0.0.31"]
                  [clj-time "0.8.0"]
                  [compojure "1.1.8"]
                  [ring/ring-core "1.3.1"]


lein-release plugin: preparing 0.54 release

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject exploud "0.54-SNAPSHOT"
+(defproject exploud "0.54"
   :description "Exploud service"
   :url "http://wikis.in.nokia.com/NokiaMusicArchitecture/Exploud"


updated version

updated version

--- project.clj
+++ project.clj
@@ -5,18 +5,17 @@
   :min-lein-version "2.5.3"

   :dependencies [[org.clojure/clojure "1.9.0-alpha16"]
-                 [org.clojure/clojurescript "1.9.562"]
+                 [org.clojure/clojurescript "1.9.854"]
                  [org.clojure/spec.alpha "0.1.123"]]
   :plugins [[lein-cljsbuild "1.1.6"]
             [lein-figwheel "0.5.10"]
             [lein-ancient "0.6.10"]]
   :source-paths ["src"]
   :clean-targets ["server.js" "target"]
-  :profiles {:dev {:dependencies [[figwheel-sidecar "0.5.10"]
+  :profiles {:dev {:dependencies [[figwheel-sidecar "0.5.12"]
                                   [com.cemerick/piggieback "0.2.2"]
                                   [org.clojure/tools.nrepl  "0.2.13"]
-                                  [org.clojure/test.check "0.9.0"]
-                                  [proto-repl "0.3.1"]]
+                                  [org.clojure/test.check "0.9.0"]]

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


Bump up RAM.

Bump up RAM.

--- project.clj
+++ project.clj
@@ -2,7 +2,7 @@
   :description "FIXME: write description"
   :url "http://example.com/FIXME"
   ;"-Daeron.rcv.buffer.length=100000" "-Daeron.socket.so_sndbuf=320000" "-Daeron.socket.so_rcvbuf=320000"  "-Daeron.term.buffer.length=131072" "-Daeron.rcv.initial.window.length=131072"]
-  :java-opts ["-server" "-Xmx2g"
+  :java-opts ["-server" "-Xmx3g"
               ;"-XX:+UseG1GC"
               "-XX:+UnlockCommercialFeatures" "-XX:+FlightRecorder" "-XX:StartFlightRecording=duration=240s,filename=myrecording.jfr"
               ]


Add release tasks

Add release tasks

--- project.clj
+++ project.clj
@@ -11,6 +11,16 @@
   :deploy-repositories {"releases" :clojars
                         "snapshots" :clojars}

+  :release-tasks [["vcs" "assert-committed"]
+                  ["change" "version" "leiningen.release/bump-version" "release"]
+                  ["less" "once"]
+                  ["vcs" "commit"]
+                  ["vcs" "tag"]
+                  ["deploy"]
+                  ["change" "version" "leiningen.release/bump-version"]
+                  ["vcs" "commit"]
+                  ["vcs" "push"]]
+
   :figwheel {:css-dirs ["src/day8/re_frame/css"]}

   :less {:source-paths ["resources/day8/re_frame/trace"]


Version 1.5.6

Version 1.5.6

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (def ks-version "2.5.2")

-(defproject puppetlabs/trapperkeeper "1.5.6-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper "1.5.6"
   :description "A framework for configuring, composing, and running Clojure services."

   :license {:name "Apache License, Version 2.0"


Bump bugfix version

Bump bugfix version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject foreclojure "1.0.1"
+(defproject foreclojure "1.0.2"
   :description "4clojure - a website for lisp beginners"
   :dependencies [[clojure "1.2.1"]
                  [clojure-contrib "1.2.0"]


bump version

bump version

--- project.clj
+++ project.clj
@@ -1,9 +1,10 @@
-(defproject yeller-clojure-client "1.2.1"
+(defproject yeller-clojure-client "1.3.0"
   :description "Clojure client for yellerapp.com"
   :url "https://github.com/tcrayford/yeller_clojure"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
-  :dependencies [[org.clojure/clojure "1.5.1"]
-                 [yeller-java-api "1.2.0"]]
-  :profiles {:dev {:dependencies [[info.sunng/ring-jetty9-adapter "0.3.0"]]
+  :dependencies [[org.clojure/clojure "1.7.0"]
+                 [yeller-java-api "1.3.0"]]
+  :profiles {:dev {:dependencies [[info.sunng/ring-jetty9-adapter "0.3.0"]
+                                  [clj-wallhack "1.0.1"]]
                    :source-paths ["examples"]}})


0.2.3-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject riemann "0.2.2"
+(defproject riemann "0.2.3-SNAPSHOT"
   :description
 "A network event stream processor. Intended for analytics, metrics, and alerting; and to glue various monitoring systems together."
   :url "http://github.com/aphyr/riemann"


bump version to next snapshot

bump version to next snapshot

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject replumb/replumb "0.2.4"
+(defproject replumb/replumb "0.2.5-SNAPSHOT"
   :description "ClojureScript plumbing for your bootstrapped REPLs."
   :url "https://github.com/Lambda-X/replumb"
   :license {:name "Eclipse Public License"


Add clean targets to lein

Add clean targets to lein

--- project.clj
+++ project.clj
@@ -8,6 +8,11 @@
                  [ring/ring-core "1.4.0"]]
   :plugins [[lein-cljsbuild "1.1.1"]
             [lein-figwheel "0.5.0-SNAPSHOT"]]
+
+  :clean-targets ^{:protect false} ["resources/main.js"
+                                    "resources/public/js/ui-core.js"
+                                    "resources/public/js/ui-core.js.map"
+                                    "resources/public/js/ui-out"]
   :cljsbuild
   {:builds
    [{:source-paths ["electron_src"]


bump kryo and wip8

bump kryo and wip8

--- project.clj
+++ project.clj
@@ -1,10 +1,9 @@
-(defproject yieldbot/elephantdb "0.2.0-wip7"
+(defproject yieldbot/elephantdb "0.2.0-wip8"
   :source-path "src/clj"
   :java-source-path "src/jvm"
   :javac-options {:debug "true" :fork "true"}
   :jvm-opts ["-Xmx768m" "-server"]
   :repositories {"oracle" "http://download.oracle.com/maven"
-                 "cloudera" "https://repository.cloudera.com/artifactory/cloudera-repos"
                  "conjars.org" "http://conjars.org/repo"}
   :dependencies [[org.clojure/clojure "1.4.0"]
                  [jvyaml "1.0.0"]
@@ -15,7 +14,7 @@
                  [org.slf4j/slf4j-api "1.6.1"]
                  [jackknife "0.1.2"]
                  [hadoop-util "0.2.8"]
-                 [cascading.kryo "0.3.1"]
+                 [cascading.kryo "0.4.0"]
                  [cascalog/carbonite "1.2.1"]
                  [com.sleepycat/je "5.0.34"]
                  [org.apache.lucene/lucene-core "3.0.3"]


Bump version

Bump version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject salava "3.5.3"
+(defproject salava "3.5.4"
   :description "Salava application server"
   :url "http://salava.org"
   :license {:name "Apache 2.0"


lein-release plugin: preparing 0.3.11 release

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


Version 0.0.4-SNAPSHOT

Version 0.0.4-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject revue "0.0.3"
+(defproject revue "0.0.4-SNAPSHOT"
   :description "REVUE: REVersible User Experiences"

   :url "https://github.com/hoelzl/Revue"


Add uberjar profile

Add uberjar profile

--- project.clj
+++ project.clj
@@ -14,4 +14,5 @@
                  [http-kit "2.2.0"]
                  [com.stuartsierra/component "0.3.2"]]
   :profiles
-  {:dev {:source-paths ["src" "dev"]}})
+  {:dev {:source-paths ["src" "dev"]}
+   :uberjar {:main antlion-clojure.system}})


Depend on Clojure 1.5

Depend on Clojure 1.5

--- project.clj
+++ project.clj
@@ -4,11 +4,11 @@
   :url "http://github.com/clojurewerkz/cassaforte"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
-  :dependencies [[org.clojure/clojure                   "1.4.0"]
+  :dependencies [[org.clojure/clojure                   "1.5.0"]
                  [org.apache.cassandra/cassandra-all    "1.2.0"]
                  [org.apache.cassandra/cassandra-thrift "1.2.0"]
                  [org.apache.thrift/libthrift           "0.7.0"]
-                 [clojurewerkz/support                  "0.10.0"]
+                 [clojurewerkz/support                  "0.14.0"]
                  [com.taoensso/nippy                    "1.0.1"]
                  [io.netty/netty                        "3.6.2.Final"]
                  [org.slf4j/slf4j-log4j12               "1.6.6"]
@@ -17,9 +17,11 @@
   :java-source-paths ["src/java"]
   :javac-options     ["-target" "1.6" "-source" "1.6"]
   :profiles       {:1.3 {:dependencies [[org.clojure/clojure "1.3.0"]]}
-                   :1.5 {:dependencies [[org.clojure/clojure "1.5.0-master-SNAPSHOT"]]}
+                   :1.4 {:dependencies [[org.clojure/clojure "1.4.0"]]}
+                   :1.6 {:dependencies [[org.clojure/clojure "1.6.0-master-SNAPSHOT"]]}
+                   :master {:dependencies [[org.clojure/clojure "1.6.0-master-SNAPSHOT"]]}
                    :dev {:dependencies [[org.xerial.snappy/snappy-java "1.0.5-SNAPSHOT"]]}}
-  :aliases        {"all" ["with-profile" "dev:dev,1.3:dev,1.5"]}
+  :aliases        {"all" ["with-profile" "dev:dev,1.3:dev,1.4:dev,1.6:dev,master"]}
   :test-selectors {:focus   :focus
                    :cql     :cql
                    :schema  :schema


Remove explicit `jna` dependency.

Remove explicit `jna` dependency.

--- project.clj
+++ project.clj
@@ -5,8 +5,7 @@
   :aot [hawk.watcher]
   :javac-options ["-target" "1.7" "-source" "1.7"]
   :dependencies [[org.clojure/clojure "1.6.0"]
-                 [net.incongru.watchservice/barbary-watchservice "1.0"]
-                 [net.java.dev.jna/jna "3.2.3"]]
+                 [net.incongru.watchservice/barbary-watchservice "1.0"]]
   :plugins [[lein-modules "0.3.10"]]
   :profiles {:dev
              {:dependencies [[org.clojure/core.async "0.1.346.0-17112a-alpha"]]}}


Prepare for next release cycle.

Prepare for next release cycle.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onyx-cheat-sheet "0.9.10.0-beta7"
+(defproject onyx-cheat-sheet "0.9.10.0-SNAPSHOT"
   :description "Cheat sheet for Onyx"
   :url "https://github.com/onyx-platform/onyx-cheat-sheet"
   :license {:name "Eclipse Public License"


Bump heapsize up to 256m

Bump heapsize up to 256m

--- project.clj
+++ project.clj
@@ -15,5 +15,6 @@
   :plugins [[lein-ring "0.7.1"]]
   :main mars-ogler.main
   :uberjar-name "mars-ogler.jar"
+  :jvm-opts ["-Xmx256m"]
   :ring {:handler mars-ogler.routes/ogler-handler
          :init mars-ogler.scrape/setup-state!})


Version 0.0.26

Version 0.0.26

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject pe-fp-rest "0.0.26-SNAPSHOT"
+(defproject pe-fp-rest "0.0.26"
   :description "A Clojure library providing a REST API interface on top of the fuel purchase abstractions."
   :url "https://github.com/evanspa/pe-fp-rest"
   :license {:name "MIT"


Add selmer as a dependency

Add selmer as a dependency

--- project.clj
+++ project.clj
@@ -14,7 +14,8 @@
                  [metosin/compojure-api "1.1.10"]
                  [environ "1.1.0"]
                  [org.immutant/web "2.1.6"
-                  :exclusions [ch.qos.logback/logback-classic]]]
+                  :exclusions [ch.qos.logback/logback-classic]]
+                 [selmer "1.10.6"]]
   :main madouc.core
   :profiles {:dev {:plugins [[lein-environ "1.1.0"]]
                    :env {:madouc-env "dev"}}


Version 0.1.0

Version 0.1.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject denvr "0.1.0-SNAPSHOT-2"
+(defproject denvr "0.1.0"
   :description "Development Environment Reimagined.
                A CLI manager for managing and sharing
                development environment configurations."


Version 2.0.0-beta3-SNAPSHOT

Version 2.0.0-beta3-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.zalando.stups/friboo "2.0.0-beta2"
+(defproject org.zalando.stups/friboo "2.0.0-beta3-SNAPSHOT"
   :description "An utility library to write microservices in clojure."
   :url "https://github.com/zalando/friboo"


Bumping Clojure dep to 1.3.0-SNAPSHOT

Bumping Clojure dep to 1.3.0-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,7 +1,7 @@
 (defproject trammel "0.6.0-SNAPSHOT"
   :description "A library providing contracts programming for Clojure."
-  :dependencies [[org.clojure/clojure "1.2.0"]]
+  :dependencies [[org.clojure/clojure "1.3.0-master-SNAPSHOT"]]
   :dev-dependencies [[lein-clojars "0.5.0-SNAPSHOT"]
                      [jline "0.9.94"]
                      [swank-clojure "1.2.1"]
-                     [marginalia "0.3.2"]])
+                     [marginalia "0.5.1"]])


Setup version number for release

Setup version number for release

--- project.clj
+++ project.clj
@@ -1,10 +1,10 @@
-(defproject io.aviso/twixt "0.1.10-SNAPSHOT"
+(defproject io.aviso/twixt "0.1.10"
   :description "An extensible asset pipeline for Clojure web applications"
   :url "https://github.com/AvisoNovate/twixt"
   :license {:name "Apache Sofware Licencse 2.0"
             :url  "http://www.apache.org/licenses/LICENSE-2.0.html"}
   :dependencies [[org.clojure/clojure "1.5.1"]
-                 [io.aviso/pretty "0.1.10-SNAPSHOT"]
+                 [io.aviso/pretty "0.1.10"]
                  [io.aviso/tracker "0.1.0"]
                  [ring/ring-core "1.2.1"]
                  [org.mozilla/rhino "1.7R4"]


postgresql, mysql JDBC driver dependency 추가.

--- project.clj
+++ project.clj
@@ -5,6 +5,8 @@
                  [org.clojure/clojure-contrib "1.2.0"]
                  [org.clojure/java.jdbc "0.3.3"]
                  [local/ojdbc6 "11.2.0.1"]
+                 [mysql/mysql-connector-java "5.1.30"]
+                 [org.postgresql/postgresql "9.3-1101-jdbc41"]
                  [enlive "1.1.5"]
                  [korma "0.3.1"]]
   :main tabledoc


update deps

update deps

--- project.clj
+++ project.clj
@@ -6,7 +6,7 @@
   :dependencies [[dda/dda-pallet "2.2.2"]
                  [dda/dda-serverspec-crate "1.3.0"]
                  [dda/dda-user-crate "1.0.6"]
-                 [dda/dda-git-crate "2.1.4"]
+                 [dda/dda-git-crate "2.2.0"]
                  [dda/dda-backup-crate "1.0.5"]]
   :source-paths ["main/src"]
   :resource-paths ["main/resources"]


moved to om 0.6.3

moved to om 0.6.3

--- project.clj
+++ project.clj
@@ -4,7 +4,7 @@
                    [org.clojure/google-closure-library-third-party "0.0-2029"]
                    [org.clojure/tools.reader "0.7.10"]
                    [org.clojure/clojurescript "0.0-2173"]
-                   [om "0.6.2"]
+                   [om "0.6.3"]
                    [om-sync "0.1.1"]
                    [org.clojure/core.async "0.1.267.0-0d7780-alpha"]


Use newer wunderboss that clears sql drivers on undeploy [IMMUTANT-474]

--- project.clj
+++ project.clj
@@ -82,7 +82,7 @@
                         compojure                  "1.1.8"

                         ;; org.projectodd.wunderboss  "0.1.0"
-                        org.projectodd.wunderboss  "1.x.incremental.123"
+                        org.projectodd.wunderboss  "1.x.incremental.125"
                         ;; org.projectodd.wunderboss  "0.2.0-SNAPSHOT"

                         org.immutant               :version}}


Bump to latest version of tools.reader

Bump to latest version of tools.reader

Because bootstrapped-clojurescript needs it.

At least, I hope this is the version it needs

--- project.clj
+++ project.clj
@@ -44,7 +44,7 @@
                  ;; Desperately want something like this version for offer!
                  ;; Q: Where can I find it?
                  #_[org.clojure/core.async "0.1.0-SNAPSHOT" :exclusions [org.clojure/clojure]]
-                 [org.clojure/tools.reader "0.9.2" :exclusions [org.clojure/clojure]]
+                 [org.clojure/tools.reader "0.10.0-alpha1" :exclusions [org.clojure/clojure]]
                  [prismatic/plumbing "0.4.4"]
                  [prismatic/schema "0.4.3"]]


Version 0.2.8

Version 0.2.8

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject sbsk "0.2.8-SNAPSHOT"
+(defproject sbsk "0.2.8"
   :description "FIXME: write description"
   :url "http://example.com/FIXME"
   :license {:name "Eclipse Public License"


Added immutant repl for dev mode

Added immutant repl for dev mode

--- project.clj
+++ project.clj
@@ -6,7 +6,8 @@
   :profiles {:dev
              {:source-paths ["dev"]
               :dependencies [[org.clojars.jcrossley3/tools.namespace "0.2.4.1"]
-                             [org.immutant/immutant "1.0.1"]]}}
+                             [org.immutant/immutant "1.0.1"]]
+              :immutant {:nrepl-port 40004}}}
   :dependencies [[org.clojure/clojure "1.5.1"]
                  [clj-time "0.6.0"]
                  [clj-rss "0.1.3"]


Version 1.3.2

Version 1.3.2

--- project.clj
+++ project.clj
@@ -1,7 +1,7 @@
 (def ks-version "1.3.0")
 (def logback-version "1.1.3")

-(defproject puppetlabs/trapperkeeper "1.3.2-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper "1.3.2"
   :description "A framework for configuring, composing, and running Clojure services."
   ;; Abort when version ranges or version conflicts are detected in
   ;; dependencies. Also supports :warn to simply emit warnings.


Fix typo in project.clj

Fix typo in project.clj

--- project.clj
+++ project.clj
@@ -1,7 +1,7 @@
 (defproject cats "0.1.0-SNAPSHOT"
   :description "Category Theory abstractions for Clojure"
   :url "https://github.com/niwibe/cats"
-  :license {:name "BSD (2 Caluse)"
+  :license {:name "BSD (2 Clause)"
             :url "http://opensource.org/licenses/BSD-2-Clause"}
   :dependencies [[org.clojure/clojure "1.6.0"]]
   :source-paths ["target/classes"]


Update dependencies

Update dependencies

--- project.clj
+++ project.clj
@@ -9,7 +9,7 @@
                  [org.postgresql/postgresql "42.1.4"]
                  [org.clojure/java.jdbc "0.7.3"]
                  [honeysql "0.9.1"]
-                 [clj-time "0.14.1"]
+                 [clj-time "0.14.2"]
                  [cheshire "5.8.0"]
                  [selmer "1.11.3"]
                  [clj-http "3.7.0"]
@@ -18,7 +18,7 @@
                  [com.yubico/yubico-validation-client2 "3.0.1"]
                  [buddy/buddy-hashers "1.3.0"]
                  [buddy/buddy-auth "2.1.0"]
-                 [org.clojars.pntblnk/clj-ldap "0.0.14"]
+                 [org.clojars.pntblnk/clj-ldap "0.0.15"]
                  [org.influxdb/influxdb-java "2.7"]]
   :main env-logger.handler
   :aot [env-logger.handler


Version 1.5.2-SNAPSHOT

Version 1.5.2-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.zalando.stups/friboo "1.5.1"
+(defproject org.zalando.stups/friboo "1.5.2-SNAPSHOT"
   :description "A utility library to write microservices in clojure."
   :url "https://github.com/zalando-stups/friboo"


updates server deps

updates server deps


Version 1.0.0

Version 1.0.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject com.rentpath/rp-util-clj "0.2.8-SNAPSHOT"
+(defproject com.rentpath/rp-util-clj "1.0.0"
   :description "Common utilities"
   :url "https://github.com/rentpath/rp-util-clj"
   :license {:name "Eclipse Public License"


update dependencies to released versions + add cascading-clojure dependency even though not used yet but still so very cool

--- project.clj
+++ project.clj
@@ -2,11 +2,12 @@
   :description "Utilities to build NLP corpus from Wikipedia / DBPedia dumps"
   :url "http://github.com/ogrisel/corpusmaker"
   :repositories {"info-bliki" "http://gwtwiki.googlecode.com/svn/maven-repository/"}
-  :dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
-                 [org.clojure/clojure-contrib "1.1.0-master-SNAPSHOT"]
-                 [redis-clojure/redis-clojure "1.0-SNAPSHOT"]
-                 [stax/stax "1.2.0"]
-                 [info.bliki.wiki/bliki-core "3.0.13"]]
+  :dependencies [[org.clojure/clojure "1.1.0"]
+                 [org.clojure/clojure-contrib "1.1.0"]
+                 [redis-clojure "1.0-SNAPSHOT"]
+                 [stax "1.2.0"]
+                 [info.bliki.wiki/bliki-core "3.0.13"]
+                 [cascading-clojure "1.0.0-SNAPSHOT"]]
   :dev-dependencies [[lein-clojars "0.5.0-SNAPSHOT"]
                      [lein-javac "0.0.2-SNAPSHOT"]
                      [org.clojure/swank-clojure "1.0"]])


Bumped version for next dev cycle.

Bumped version for next dev cycle.

--- project.clj
+++ project.clj
@@ -14,7 +14,7 @@
        ns
        "\u001B[35m]\u001B[33m λ\u001B[m=> "))

-(defproject hexagram30/agent "0.6.0-SNAPSHOT"
+(defproject hexagram30/agent "0.6.1-SNAPSHOT"
   :description "Software agent emotional modeling, behavioural simulation, and AI for hexagramMUSH sentients (players, NPCs, animals, monsters, etc.)"
   :url "https://github.com/hexagram/agent"
   :license {


lein-release plugin: bumped version from 0.126 to 0.127-SNAPSHOT for next development cycle

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject maestro "0.126"
+(defproject maestro "0.127-SNAPSHOT"
   :description "Maestro service"
   :license  "https://github.com/mixradio/mr-maestro/blob/master/LICENSE"


Version 0.38.0

Version 0.38.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject nhl-score-api "0.37.3"
+(defproject nhl-score-api "0.38.0"
   :description "A JSON API that returns the scores and goals from the latest finished NHL games."
   :license {:name "MIT"
             :url "https://opensource.org/licenses/MIT"}


Version 2.0.53 [ci skip]

Version 2.0.53 [ci skip]

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject clojush "2.0.53-SNAPSHOT"
+(defproject clojush "2.0.53"
   :description "The Push programming language and the PushGP genetic programming
                 system implemented in Clojure.
                 See http://hampshire.edu/lspector/push.html"


Version 2.0.4

Version 2.0.4

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject dda/dda-managed-ide "2.0.4-SNAPSHOT"
+(defproject dda/dda-managed-ide "2.0.4"
   :description "module to install and configure ide based on ubuntu vm."
   :url "https://www.domaindrivenarchitecture.org"
   :license {:name "Apache License, Version 2.0"


Bump a couple of dependency library versions

--- project.clj
+++ project.clj
@@ -50,7 +50,7 @@
                                                                      org.clojure/clojure
                                                                      prismatic/schema]]
                  [com.jimrthy/component-dsl "0.1.1-SNAPSHOT" :exclusions [org.clojure/clojure]]
-                 [com.taoensso/timbre "4.7.0" :exclusions [org.clojure/clojure
+                 [com.taoensso/timbre "4.7.3" :exclusions [org.clojure/clojure
                                                            org.clojure/tools.reader]]
                  [fullcontact/full.async "0.9.0" :exclusions [org.clojure/clojure
                                                                org.clojure/core.async]]
@@ -81,7 +81,7 @@
                  [org.clojure/tools.reader "1.0.0-beta3" :exclusions [org.clojure/clojure]]
                  [prismatic/plumbing "0.5.3"]
                  ;; Q: What's the status on this, now that specs are being added for 1.9.0?
-                 [prismatic/schema "1.1.2"]]
+                 [prismatic/schema "1.1.3"]]
   :jvm-opts [~(str "-Djava.library.path=/usr/local/lib:" (System/getenv "LD_LIBRARY_PATH"))]
   :plugins []


video-sim profile

video-sim profile

--- project.clj
+++ project.clj
@@ -15,5 +15,7 @@
                    :plugins [[lein-midje "3.1.1"]]}
              :uberjar {:source-paths ["main"]
                        :main sormilla.main
-                       :aot [sormilla.main]}}
+                       :aot [sormilla.main]}
+             :video-sim {:source-paths ["src"]
+                         :main sormilla.video-sim}}
   :min-lein-version "2.3.2")