(ns github-changelog.semver-test
  (:require
    [github-changelog.semver :as semver]
    [github-changelog.schema :refer [Semver]]
    [github-changelog.schema-complete :refer [complete]]
    [github-changelog.version-examples :refer :all]
    [clojure.test :refer :all]
    [schema.core :as s]))

(deftest extract
  (testing "with a v prefix"
    (are [version] (s/validate Semver (semver/extract version))
                   "v0.0.1"
                   "v0.9.3-pre0"
                   "v1.0.1"))
  (testing "without a v prefix"
    (are [version] (s/validate Semver (semver/extract version))
                   "0.0.1"
                   "0.9.3-pre0"
                   "1.0.1")))

(deftest newer?
  (let [high (complete {:major 1} Semver)
        low (complete {:major 0} Semver)]
    (is (semver/newer? high low))
    (is (not (semver/newer? low high)))))

(deftest semver-type
  (is (= (semver/get-type v-major) :major))
  (is (= (semver/get-type v-minor) :minor))
  (is (= (semver/get-type v-patch) :patch))
  (is (= (semver/get-type v-pre-release) :pre-release))
  (is (= (semver/get-type v-build) :build)))

(ns github-changelog.semver-test
  (:require
    [github-changelog.semver :as semver]
    [github-changelog.schema :refer [Semver]]
    [github-changelog.schema-complete :refer [complete]]
    [github-changelog.version-examples :refer :all]
    [clojure.test :refer :all]
    [schema.core :as s]))

(deftest extract
  (testing "with a v prefix"
    (are [version] (s/validate Semver (semver/extract version))
                   "v0.0.1"
                   "v0.9.3-pre0"
                   "v1.0.1"))
  (testing "without a v prefix"
    (are [version] (s/validate Semver (semver/extract version))
                   "0.0.1"
                   "0.9.3-pre0"
                   "1.0.1")))

(deftest newer?
  (let [high (complete {:major 1} Semver)
        low (complete {:major 0} Semver)]
    (is (semver/newer? high low))
    (is (not (semver/newer? low high)))))

(deftest semver-type
  (are [type version] (= type (semver/get-type version))
                      :major v-major
                      :minor v-minor
                      :patch v-patch
                      :pre-release v-pre-release
                      :build v-build))

Simplify semver-type test with are

Simplify semver-type test with are


(ns io.pivotal.pcf.rabbitmq.main-test
  (:require [clojure.test :refer :all]
            [io.pivotal.pcf.rabbitmq.main :as main]
            [io.pivotal.pcf.rabbitmq.server :as server]))

(defn FakeExit
  [^long status]
  (def FakeExitCalled status))

(defn FakeServerStart
  [m]
  (throw (Exception. "Something Terrible Happened")))
  ; (Thread. (fn [] (prn "Started Fake Sever"))))

(deftest initialization
  (testing "when server starts with an error"
    (with-redefs [server/start FakeServerStart main/exit FakeExit]
      (def FakeExitCalled nil)
      (main/-main "-c" "test/config/valid.yml")
      (is (= FakeExitCalled 1)))))

(ns io.pivotal.pcf.rabbitmq.main-test
  (:require [clojure.test :refer :all]
            [io.pivotal.pcf.rabbitmq.main :as main]
            [io.pivotal.pcf.rabbitmq.server :as server]))

(defn FakeExit
  [^long status]
  (def FakeExitCalled status))

; This exception is thrown to end the fake server
; We could not find any other reasonable way to achieve
; this. - (BC) (AS)
(defn FakeServerStart
  [m]
  (throw (Exception. "End Of The TEST")))
  ; (Thread. (fn [] (prn "Started Fake Sever"))))

(deftest initialization
  (testing "when server starts with an error"
    (with-redefs [server/start FakeServerStart main/exit FakeExit]
      (def FakeExitCalled nil)
      (main/-main "-c" "test/config/valid.yml")
      (is (= FakeExitCalled 1)))))

Change exception message and explanation to exception throw for tests

Signed-off-by: Ben Chapman <4ada7eac694dcb4b5475ac51d142ba919b54bb00@pivotal.io>


(ns gtfve.handler
  (:require [compojure.core :refer [GET defroutes]]
            [compojure.route :refer [not-found resources]]
            [ring.middleware.defaults :refer [site-defaults wrap-defaults]]
            [selmer.parser :refer [render-file]]
            [prone.middleware :refer [wrap-exceptions]]
            [environ.core :refer [env]]))

(defroutes routes
  (GET "/" [] (render-file "templates/index.html" {:dev (env :dev?)}))
  (resources "/")
  (not-found "Not Found"))

(def app
  (let [handler (wrap-defaults routes site-defaults)]
    (if (env :dev?) (wrap-exceptions handler) handler)))

(ns gtfve.handler
  (:require [compojure.core :refer [GET defroutes]]
            [compojure.route :refer [not-found resources]]
            [ring.middleware.defaults :refer [site-defaults wrap-defaults]]
            [selmer.parser :refer [render-file]]
            [prone.middleware :refer [wrap-exceptions]]
            [environ.core :refer [env]]
            [gtfve.data.queries :as q]))

(defroutes routes
  (GET "/" [] (render-file "templates/index.html" {:dev (env :dev?)}))
  (GET "/trips" []
      (fn [req]
        {:status 200 :body (pr-str (q/trips)) :headers {"Content-Type" "application/edn"}}))
  (resources "/")
  (not-found "Not Found"))

(def app
  (let [handler (wrap-defaults routes site-defaults)]
    (if (env :dev?) (wrap-exceptions handler) handler)))

Add trips resource to routes

Add trips resource to routes


; Copyright © 2015-2018 Esko Luontola
; This software is released under the Apache License 2.0.
; The license text is at http://www.apache.org/licenses/LICENSE-2.0

(ns territory-bro.dev-middleware
  (:require [prone.middleware :refer [wrap-exceptions]]
            [ring-debug-logging.core :refer [wrap-with-logger]]
            [ring.middleware.reload :refer [wrap-reload]]
            [selmer.middleware :refer [wrap-error-page]]))

(defn wrap-dev [handler]
  (-> handler
      wrap-with-logger
      wrap-reload
      wrap-error-page
      ;; FIXME: prone fails to load its own css, so the error pages are useless
      #_(wrap-exceptions {:app-namespaces ['territory-bro]})))

; Copyright © 2015-2018 Esko Luontola
; This software is released under the Apache License 2.0.
; The license text is at http://www.apache.org/licenses/LICENSE-2.0

(ns territory-bro.dev-middleware
  (:require [prone.middleware :refer [wrap-exceptions]]
            [ring-debug-logging.core :refer [wrap-with-logger]]
            [ring.middleware.reload :refer [wrap-reload]]
            [selmer.middleware :refer [wrap-error-page]]))

(defn wrap-dev [handler]
  (-> handler
      ;; FIXME: wrap-with-logger will read the body destructively so that the handler cannot anymore read it
      #_wrap-with-logger
      wrap-reload
      wrap-error-page
      ;; FIXME: prone fails to load its own css, so the error pages are useless
      #_(wrap-exceptions {:app-namespaces ['territory-bro]})))

Fix java.io.IOException: UT000034: Stream is closed


(ns incise.layouts.core
  (:require [incise.parsers.parse]
            [incise.config :as conf])
  (:refer-clojure :exclude [get]))

(defonce layouts (atom {}))

(defn exists?
  "Check for the existance of a layout with the given name."
  [layout-with-name]
  (contains? @layouts (name layout-with-name)))

(defn get [layout-name & more]
  (apply @layouts (name layout-name) more))

(defn Parse->string
  [^incise.parsers.parse.Parse parse-data]
  (if-let [layout-key (:layout parse-data)]
    (if-let [layout-fn (get layout-key)]
      (layout-fn (conf/get) parse-data)
      (throw (ex-info (str "No layout function of with registered with key "
                           layout-key)
                      {:layouts @layouts})))
    (throw (ex-info (str "No layout key specified in given parse.")
                    {:layouts @layouts
                     :parse parse-data}))))

(defn register
  "Register a layout function to a shortname"
  [short-names layout-fn]
  (swap! layouts
         merge (zipmap (map name short-names)
                       (repeat layout-fn))))

(ns incise.layouts.core
  (:require [incise.parsers.parse]
            [incise.config :as conf])
  (:refer-clojure :exclude [get]))

(defonce layouts (atom {}))

(defn exists?
  "Check for the existance of a layout with the given name."
  [layout-with-name]
  (contains? @layouts (name layout-with-name)))

(defn get [layout-name & more]
  (apply @layouts (name layout-name) more))

(defn Parse->string
  [^incise.parsers.parse.Parse parse-data]
  (if-let [layout-key (:layout parse-data)]
    (if-let [layout-fn (get layout-key)]
      (layout-fn (conf/get) parse-data)
      (throw (ex-info (str "No layout function registered with key " layout-key)
                      {:layouts @layouts})))
    (throw (ex-info (str "No layout key specified in given parse.")
                    {:layouts @layouts
                     :parse parse-data}))))

(defn register
  "Register a layout function to a shortname"
  [short-names layout-fn]
  (swap! layouts
         merge (zipmap (map name short-names)
                       (repeat layout-fn))))

Fix typo in No layout registered with key expection.


(ns com.wsscode.pathom.misc)

#?(:clj  (def INCLUDE_SPECS true)
   :cljs (goog-define INCLUDE_SPECS true))

(ns com.wsscode.pathom.misc
  #?(:clj (:import (java.util UUID))))

#?(:clj  (def INCLUDE_SPECS true)
   :cljs (goog-define INCLUDE_SPECS true))

(defn pathom-random-uuid []
  #?(:clj  (UUID/randomUUID)
     :cljs (random-uuid)))

Add helper to generate random uuid

Add helper to generate random uuid


(ns circle.util.test-straight-jacket
  (:use midje.sweet)
  (:use circle.util.straight-jacket)
  (:require [circle.airbrake :as airbrake]))

(fact "straight-jacket catches exceptions"
  (straight-jacket (throw (Exception. "test"))) => nil
  (provided
    (airbrake/airbrake) => nil
    (circle.env/env) => :production))

(fact "except in test mode"
  (straight-jacket (/ 1 0)) => (throws ArithmeticException)
  (provided
    (circle.env/env) => :test))

(fact "and dev mode"
  (straight-jacket (/ 1 0)) => (throws ArithmeticException)
  (provided
    (circle.env/env) => :development))

(fact "code still works in a straight-jacket"
  (straight-jacket (+ 4 5)) => 9)

(fact "straight-jacket catches assertions"
  (straight-jacket (assert false)) => nil
  (provided
    (airbrake/airbrake) => nil
    (circle.env/env) => :production))

(ns circle.util.test-straight-jacket
  (:use midje.sweet)
  (:use circle.util.straight-jacket)
  (:require [circle.airbrake :as airbrake]))

(fact "straight-jacket catches exceptions"
  (straight-jacket (throw (Exception. "test"))) => nil
  (provided
    (airbrake/airbrake anything anything anything anything) => nil
    (circle.env/env) => :production))

(fact "except in test mode"
  (straight-jacket (/ 1 0)) => (throws ArithmeticException)
  (provided
    (circle.env/env) => :test))

(fact "and dev mode"
  (straight-jacket (/ 1 0)) => (throws ArithmeticException)
  (provided
    (circle.env/env) => :development))

(fact "code still works in a straight-jacket"
  (straight-jacket (+ 4 5)) => 9)

(fact "straight-jacket catches assertions"
  (straight-jacket (assert false)) => nil
  (provided
    (airbrake/airbrake anything anything anything anything) => nil
    (circle.env/env) => :production))

Fix straight-jacket tests by properly mocking airbrake.


(ns uxbox.ui.forms
  (:require [sablono.core :refer-macros [html]]
            [uxbox.locales :refer (tr)]
            [uxbox.schema :as sc]))

(defn input-error
  [errors field]
  (when-let [errors (get errors field)]
    (html
     [:ul.form-errors
      (for [error errors]
        [:li {:key error} (tr error)])])))

(defn error-class
  [errors field]
  (when (get errors field)
    "invalid"))

(ns uxbox.ui.forms
  (:require [sablono.core :refer-macros [html]]
            [uxbox.locales :refer (tr)]
            [uxbox.schema :as sc]))

(defn input-error
  [errors field]
  (when-let [error (get errors field)]
    (html
     [:ul.form-errors
      [:li {:key error} (tr error)]])))

(defn error-class
  [errors field]
  (when (get errors field)
    "invalid"))

Fix validation form errors rendering.

Fix validation form errors rendering.


(ns yada.etag)

(defprotocol ETag
  "The version function returns material that becomes the ETag response
  header. This is left open for extension. The ETag must differ between
  representations, so the representation is given in order to be used in
  the algorithm. Must always return a string (to aid comparison with the
  strings the client will present on If-Match, If-None-Match."
  (to-etag [_ rep]))

(extend-protocol ETag
  Object
  (to-etag [o rep]
    (str (hash {:value o :representation rep})))
  nil
  (to-etag [o rep] nil))

(ns yada.etag
  (:require
   [yada.util :refer [md5-hash]]))

(defprotocol ETag
  "The version function returns material that becomes the ETag response
  header. This is left open for extension. The ETag must differ between
  representations, so the representation is given in order to be used in
  the algorithm. Must always return a string (to aid comparison with the
  strings the client will present on If-Match, If-None-Match."
  (to-etag [_ rep]))

(extend-protocol ETag
  Object
  (to-etag [o rep]
    (md5-hash (str (hash {:value o :representation rep}))))
  nil
  (to-etag [o rep] nil))

Use an MD5 hash for ETags

Use an MD5 hash for ETags


(ns nightmod.public
  (:require [nightmod.core :refer :all]
            [play-clj.core :refer :all]))

(defn set-game-screen!
  [& screens]
  (->> (apply set-screen! nightmod (conj (vec screens) overlay-screen))
       (fn [])
       (app! :post-runnable)))

(ns nightmod.public
  (:require [clojail.core :as jail]
            [clojure.java.io :as io]
            [nightmod.core :refer :all]
            [play-clj.core :refer :all]))

(defn set-game-screen!
  [& screens]
  (->> (apply set-screen! nightmod (conj (vec screens) overlay-screen))
       (fn [])
       (app! :post-runnable)))

(defmacro load-game-file
  [n]
  (some->> (or (io/resource n)
               (throw (Throwable. (str "File not found:" n))))
           slurp
           (format "(do %s\n)")
           jail/safe-read))

Allow Clojure files to be loaded

Allow Clojure files to be loaded


(ns incise.deploy.core
  (:require [taoensso.timbre :refer [warn]])
  (:clojure-refer :exclude [get]))

(def workflows (atom {}))

(defn get [& args]
  (apply clojure.core/get @workflow args))

(defn deploy []
  (let [{workflow-name :workflow :as settings} (conf/get :deploy)
        [workflow (get workflow-name)]]
    (if workflow
      (workflow settings)
      (warn "No workflow registered as" workflow-name))))

(defn register
  "Register a deployment workflow."
  [workflow-name workflow]
  (swap! workflows
         assoc (name workflow-name) workflow))

(ns incise.deploy.core
  (:require [incise.config :as conf]
            [taoensso.timbre :refer [fatal]])
  (:refer-clojure :exclude [get]))

(def workflows (atom {}))

(defn get [& args]
  (apply clojure.core/get @workflows args))

(defn deploy []
  (let [{workflow-name :workflow :as settings} (conf/get :deploy)
        workflow (get workflow-name)]
    (if workflow
      (workflow settings)
      (fatal "No workflow registered as" workflow-name))))

(defn register
  "Register a deployment workflow."
  [workflow-name workflow]
  (swap! workflows
         assoc (name workflow-name) workflow))

Make now workflow error fatal.

Make now workflow error fatal.

Fix bug in deploy.core/get.


(defproject {{name}} "0.1.0-SNAPSHOT"
  :description "FIXME: write this!"
  :url "http://example.com/FIXME"

  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2127"]]

  :plugins [[lein-cljsbuild "1.0.1"]]

  :source-paths ["src"]

  :cljsbuild {
    :builds [{:id "{{name}}"
              :source-paths ["src"]
              :compiler {
                :output-to "{{sanitized}}.js"
                :output-dir "out"
                :optimizations :none
                :source-map true}}]})

(defproject {{name}} "0.1.0-SNAPSHOT"
  :description "FIXME: write this!"
  :url "http://example.com/FIXME"

  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2138"]]

  :plugins [[lein-cljsbuild "1.0.1"]]

  :source-paths ["src"]

  :cljsbuild {
    :builds [{:id "{{name}}"
              :source-paths ["src"]
              :compiler {
                :output-to "{{sanitized}}.js"
                :output-dir "out"
                :optimizations :none
                :source-map true}}]})

Update ClojureScript dep to 2138

Update ClojureScript dep to 2138


(ns circle.swank
  (:require swank.swank)
  (:require [circle.env :as env]))

(defn port []
  (cond
      (env/test?) 5004
      :else 4005))

(defn init []
  (when (= "true" (System/getenv "CIRCLE_SWANK"))
    (binding [*print-length* 100
              *print-level* 20]
      (println "Starting Swank")
      (clojure.main/with-bindings
        (swank.swank/start-server :port (port)
                                  :encoding "utf-8")))))

(ns circle.swank
  (:require swank.swank)
  (:require [circle.env :as env]))

(defn port []
  (cond
      (env/test?) 4006
      :else 4005))

(defn init []
  (when (= "true" (System/getenv "CIRCLE_SWANK"))
    (binding [*print-length* 100
              *print-level* 20]
      (println "Starting Swank")
      (clojure.main/with-bindings
        (swank.swank/start-server :port (port)
                                  :encoding "utf-8")))))

Use a port that's easier to type for connecting Swank to a testing environment.


(defproject replete "0.1.0"
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/clojurescript "1.7.170"]
                 [tailrecursion/cljson "1.0.7"]
                 [parinfer "0.2.0"]]
  :clean-targets ["out" "target"]
  :plugins [[lein-cljsbuild "1.1.1"]]
  :cljsbuild {:builds {:test {:source-paths ["src" "test"]
                              :compiler {:output-to "test/resources/compiled.js"
                                         :optimizations :whitespace
                                         :pretty-print true}}}
              :test-commands {"test" ["phantomjs"
                                      "test/resources/test.js"
                                      "test/resources/test.html"]}})

(defproject replete "0.1.0"
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/clojurescript "1.7.170"]
                 [tailrecursion/cljson "1.0.7"]
                 [parinfer "0.2.3"]]
  :clean-targets ["out" "target"]
  :plugins [[lein-cljsbuild "1.1.1"]]
  :cljsbuild {:builds {:test {:source-paths ["src" "test"]
                              :compiler {:output-to "test/resources/compiled.js"
                                         :optimizations :whitespace
                                         :pretty-print true}}}
              :test-commands {"test" ["phantomjs"
                                      "test/resources/test.js"
                                      "test/resources/test.html"]}})

Update to latest parinfer dep

Update to latest parinfer dep


(set-env!
  :resource-paths #{"resources"}
  :dependencies '[[org.clojure/clojure "1.8.0"]
                  [afrey/boot-asset-fingerprint "1.0.0-SNAPSHOT"]
                  [pandeiro/boot-http "0.7.3" :scope "test"]])

(require
  '[afrey.boot-asset-fingerprint :refer [asset-fingerprint]]
  '[pandeiro.boot-http :refer [serve]])

(deftask dev []
  (comp
    (watch)
    (serve :port 5000 :reload true)
    (asset-fingerprint)
    (target)))

(set-env!
  :resource-paths #{"resources"}
  :dependencies '[[org.clojure/clojure "1.8.0"]
                  [afrey/boot-asset-fingerprint "1.0.0-SNAPSHOT"]
                  [tailrecursion/boot-jetty "0.1.3" :scope "test"]])

(require
  '[afrey.boot-asset-fingerprint :refer [asset-fingerprint] :as fing]
  '[tailrecursion.boot-jetty :as jetty]
  '[clojure.java.io :as io])

(deftask dev []
  (comp
    (watch)
    (asset-fingerprint)
    (jetty/serve :port 5000)
    (target)))

Use boot-jetty instead of boot-http in example


(defproject simple "0.11.0-rc2-SNAPSHOT"
  :dependencies [[org.clojure/clojure        "1.10.1"]
                 [org.clojure/clojurescript  "1.10.520"
                  :exclusions [com.google.javascript/closure-compiler-unshaded
                               org.clojure/google-closure-library]]
                 [thheller/shadow-cljs "2.8.52"]
                 [reagent  "0.9.0-rc1"]
                 [re-frame "0.11.0-rc2-SNAPSHOT"]]

  :plugins [[lein-shadow "0.1.6"]]

  :clean-targets ^{:protect false} [:target-path
                                    "shadow-cljs.edn"
                                    "package.json"
                                    "package-lock.json"
                                    "resources/public/js"]

  :shadow-cljs {:nrepl  {:port 8777}

                :builds {:client {:target     :browser
                                  :output-dir "resources/public/js"
                                  :modules    {:client {:init-fn simple.core/run}}
                                  :devtools   {:http-root "resources/public"
                                               :http-port 8280}}}}

  :aliases {"dev-auto" ["shadow" "watch" "client"]})

(defproject simple "0.11.0-rc2-SNAPSHOT"
  :dependencies [[org.clojure/clojure        "1.10.1"]
                 [org.clojure/clojurescript  "1.10.520"
                  :exclusions [com.google.javascript/closure-compiler-unshaded
                               org.clojure/google-closure-library]]
                 [thheller/shadow-cljs "2.8.59"]
                 [reagent  "0.9.0-rc1"]
                 [re-frame "0.11.0-rc2-SNAPSHOT"]]

  :plugins [[lein-shadow "0.1.6"]]

  :clean-targets ^{:protect false} [:target-path
                                    "shadow-cljs.edn"
                                    "package.json"
                                    "package-lock.json"
                                    "resources/public/js"]

  :shadow-cljs {:nrepl  {:port 8777}

                :builds {:client {:target     :browser
                                  :output-dir "resources/public/js"
                                  :modules    {:client {:init-fn simple.core/run}}
                                  :devtools   {:http-root "resources/public"
                                               :http-port 8280}}}}

  :aliases {"dev-auto" ["shadow" "watch" "client"]})

Upgrade simple example shadow-cljs to 2.8.59


(defproject hello "compojure"
  :description "JSON/Database tests"
  :url "http://example.com/FIXME"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [compojure "1.1.5"]
                 [ring/ring-json "0.2.0"]
                 [org.clojure/tools.cli "0.2.1"]
                 [http-kit/dbcp "0.1.0"]
                 [http-kit "2.0.1"]
                 [log4j "1.2.15" :exclusions [javax.mail/mail javax.jms/jms com.sun.jdmk/jmxtools com.sun.jmx/jmxri]]
                 [mysql/mysql-connector-java "5.1.6"]]
  :main hello.handler
  :aot [hello.handler]
  :uberjar-name "http-kit-standalone.jar"
  :profiles {:dev {:dependencies [[ring-mock "0.1.3"]]}})

(defproject hello "compojure"
  :description "JSON/Database tests"
  :url "http://example.com/FIXME"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [compojure "1.1.6"]
                 [ring/ring-json "0.2.0"]
                 [org.clojure/tools.cli "0.2.1"]
                 [http-kit/dbcp "0.1.0"]
                 [http-kit "2.0.1"]
                 [log4j "1.2.15" :exclusions [javax.mail/mail javax.jms/jms com.sun.jdmk/jmxtools com.sun.jmx/jmxri]]
                 [mysql/mysql-connector-java "5.1.6"]]
  :main hello.handler
  :aot [hello.handler]
  :uberjar-name "http-kit-standalone.jar"
  :profiles {:dev {:dependencies [[ring-mock "0.1.5"]]}})

Update dependencies to match compojure test updates


(ns solver.core
  (:gen-class))

(defn determine-floor [word]
  "Determines which floor Santa should deliver presents"
  (let [freqs (frequencies word)] (- (get freqs \( 0) (get freqs \) 0))))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println (determine-floor (slurp "input"))))

(ns solver.core
  (:gen-class))

(defn determine-floor [xs]
  (let [to-direction (fn [index direction] {:index index :direction direction})
        determine-floor (fn [floor data] (+ floor  (case (data :direction)
                                             "(" +1
                                             ")" -1)))]
    (reduce determine-floor 0  (map-indexed to-direction xs))))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println (determine-floor (clojure.string/split (slurp "input") #""))))

Use instructions to calculate floor

Use instructions to calculate floor


{:name "tnseq-phase0-d",
 :path "",

 :graph {:coll {:type "func"
                :name "collapser"}
         :mail {:type "func"
                :name "mailit"
                :args ["#2"         ; recipient
                       "Aerobio job status: tnseq phase-0d"
                       "Finished"]} ; subject, body intro

         :edges {:coll [:mail]}}

 :description "Basically, Tn-Seq collapser. Unclear if this is really needed as the collapse node is now part of phase-0*"
 }

{:name "tnseq-phase0-d",
 :path "",

 :graph {:coll {:type "func"
                :name "collapser"
                :args ["#1"]}
         :mail {:type "func"
                :name "mailit"
                :args ["#2"         ; recipient
                       "Aerobio job status: tnseq phase-0d"
                       "Finished"]} ; subject, body intro

         :edges {:coll [:mail]}}

 :description "Basically, Tn-Seq collapser. Unclear if this is really needed as the collapse node is now part of phase-0*"
 }

Fix bug - missing arg for first node - eid


(ns isla.test.story
  (:use [clojure.test])
  (:use [clojure.pprint])
  (:use [isla.story]))

;; story creation

(deftest test-room-creation
  (let [story-str (str "palace is a room")
        story (init-story story-str)]
    (is (= (first (:rooms story))
           (assoc (isla.interpreter/instantiate-type (get types "room"))
             :name "palace")))))

(deftest test-player-alteration
  (let [story-str (str "my name is 'mary'")
        story (init-story story-str)]
    (is (= (:player story)
           (assoc (isla.interpreter/instantiate-type (get types "_player"))
             :name "mary")))))

(deftest test-room-alteration
  (let [description "The floors are made of marble."
        story-str (str "palace is a room
                        palace description is '" description "'")
        story (init-story story-str)]
    (is (= (first (:rooms story))
           (assoc (isla.interpreter/instantiate-type (get types "room"))
             :name "palace" :description description)))))

;; story telling

(deftest test-look-general
  (let [description "The floors are made of marble."
        story-str (str "palace is a room
                        palace description is '" description "'")
        story (init-story story-str)]
    (is (= (run-command story "look")
           description))))

Add test for `look` at room.

Add test for `look` at room.


(ns braid.emoji.client.styles)

(def autocomplete
  [:.app>.main>.page>.threads>.thread>.card
   [:>.message.new
    [:>.autocomplete-wrapper
     [:>.autocomplete
      [:>.result
       [:>.emoji.match
        [:>img
         {:display "block"
          :width "2em"
          :height "2em"
          :float "left"
          :margin "0.25em 0.5em 0.25em 0"}]]]]]]])

(ns braid.emoji.client.styles)

(def autocomplete
  [:.app
   [:.message>.content
    [:.emoji.custom-emoji
     {:width "3ex"
      :height "3.1ex"
      :min-height "20px"
      :display "inline-block"
      :margin [["-0.2ex" "0.15em" "0.2ex"]]
      :line-height "normal"
      :vertical-align "middle"
      :min-width "20px"}]]
   [:>.main>.page>.threads>.thread>.card
    [:>.message.new
     [:>.autocomplete-wrapper
      [:>.autocomplete
       [:>.result
        [:>.emoji.match
         [:>img
          {:display "block"
           :width "2em"
           :height "2em"
           :float "left"
           :margin "0.25em 0.5em 0.25em 0"}]]]]]]]])

Make custom-emoji display in same dimensions as others


(ns lexemic.core)

(defn -main [& command])

(set! *main-cli-fn* -main)

(ns lexemic.core
  (:require [lexemic.sentiment.simple :as sentiment]))

(def ^:private usage-banner "Usage: lexemic [command] [target]")
(def ^:private supported-commands #{"help" "sentiment"})

(defn- show-help []
  (do
    (println usage-banner)))

(defn- run [cmd text]
  (condp = cmd
    "sentiment" (println (sentiment/analyse text))))

(defn -main [& args]
  (let [command (first args)
        input (second args)]
    (if-let [cmd (supported-commands command)]
      (run cmd input)
      (show-help))))

(set! *main-cli-fn* -main)

Add support for sentiment analysis from cmd line.


(ns genartlib.util
  (:use [quil.core :only [height width PI color-mode]]))

  (defn h
    ([] (h 1.0))
    ([percentage] (* (height) percentage)))

  (defn w
    ([] (w 1.0))
    ([percentage] (* (width) percentage)))

  (defn pi [x]
    (* PI x))

  (defn in?
    "true if seq contains elm"
    [seq elm]
    (some #(= elm %) seq))

  (defn not-in?
    "true if seq does not contain elm"
    [seq elm]
    (not-any? #(= elm %) seq))

  (defn between?
    "Returns true if value is between end1 and end2"
    [value end1 end2]
    (and (>= value (min end1 end2))
         (<= value (max end1 end2))))

  (defn set-color-mode []
    (color-mode :hsb 360 100 100 1.0))

  (defn enumerate [s]
    (map-indexed vector s))

  (defn zip [seq1 seq2]
    (map vector seq1 seq2))

(ns genartlib.util
  (:use [quil.core :only [height width PI color-mode]]))

  (defn h
    "Returns a given percentage of the height Quil-specific."
    ([] (h 1.0))
    ([percentage] (* (height) percentage)))

  (defn w
    "Returns a given percentage of the width. Quil-specific."
    ([] (w 1.0))
    ([percentage] (* (width) percentage)))

  (defn h-int
    "A version of `h` that truncates to an int value."
    ([] (int (height)))
    ([percentage] (-> (height) (* percentage) int)))

  (defn w-int
    "A version of `w` that truncates to an int value."
    ([] (int (width)))
    ([percentage] (-> (width) (* percentage) int)))

    ([] (int (h 1.0)))

  (defn pi [x]
    (* PI x))

  (defn in?
    "true if seq contains elm"
    [seq elm]
    (some #(= elm %) seq))

  (defn not-in?
    "true if seq does not contain elm"
    [seq elm]
    (not-any? #(= elm %) seq))

  (defn between?
    "Returns true if value is between end1 and end2"
    [value end1 end2]
    (and (>= value (min end1 end2))
         (<= value (max end1 end2))))

  (defn set-color-mode []
    (color-mode :hsb 360 100 100 1.0))

  (defn enumerate [s]
    (map-indexed vector s))

  (defn zip [seq1 seq2]
    (map vector seq1 seq2))

Add w-int and h-int functions

Add w-int and h-int functions


(ns com.palletops.bakery.om-root
  "A component for an Om root element."
  (:require-macros
   [com.palletops.api-builder.api :refer [defn-api]])
  (:require
   [com.palletops.leaven.protocols :refer [Startable Stoppable]]
   [om.core :as om :include-macros true]
   [schema.core :as schema]))

(defrecord OmRoot [f value options]
  Startable
  (start [_]
    (om/root f value options))
  Stoppable
  (stop [_]
    (om/detach-root (:target options))))

(def OmRootFun (schema/make-fn-schema schema/Any [[schema/Any schema/Any]]))

(def OmRootOptions
  {:f OmRootFun
   :value schema/Any
   :options {schema/Keyword schema/Any}})

(defn-api om-root
  "Return an om-root component"
  {:sig [[OmRootOptions :- OmRoot]
         [OmRootFun schema/Any {schema/Keyword schema/Any} :- OmRoot]]}
  ([f value options]
     (->OmRoot f value options))
  ([{:keys [f value options] :as args}]
     (map->OmRoot args)))

(ns com.palletops.bakery.om-root
  "A component for an Om root element."
  (:require-macros
   [com.palletops.api-builder.api :refer [defn-api]])
  (:require
   [com.palletops.leaven.protocols :refer [Startable Stoppable]]
   [om.core :as om :include-macros true]
   [schema.core :as schema]))

(defrecord OmRoot [f value options options-component]
  Startable
  (start [_]
    (om/root f value (merge options (:value options-component))))
  Stoppable
  (stop [_]
    (om/detach-root (:target options))))

(def OmRootFun (schema/make-fn-schema schema/Any [[schema/Any schema/Any]]))

(def OmRootOptions
  {:f OmRootFun
   :value schema/Any
   :options {schema/Keyword schema/Any}
   :options-component schema/Any})

(defn-api om-root
  "Return an om-root component"
  {:sig [[OmRootOptions :- OmRoot]
         [OmRootFun schema/Any {schema/Keyword schema/Any} :- OmRoot]
         [OmRootFun schema/Any {schema/Keyword schema/Any} schema/Any
          :- OmRoot]]}
  ([f value options]
   (->OmRoot f value options nil))
  ([f value options options-component]
   (->OmRoot f value options options-component))
  ([{:keys [f value options options-component] :as args}]
   (map->OmRoot args)))

Allow om-root options from a component

Allow om-root options from a component

Allow a component to contribute to the options in the om root (eg. to
passed :shared values).


(ns decktouch.handler
  (:require [decktouch.dev :refer [browser-repl start-figwheel]]
            [compojure.core :refer [GET POST defroutes]]
            [compojure.route :refer [not-found resources]]
            [ring.middleware.defaults :refer [site-defaults wrap-defaults]]
            [ring.middleware.params :refer [wrap-params]]
            [ring.middleware.reload :refer [wrap-reload]]
            [ring.adapter.jetty :as jetty]
            [selmer.parser :refer [render-file]]
            [environ.core :refer [env]]
            [prone.middleware :refer [wrap-exceptions]]
            [decktouch.mtg-card-master :as mtg-card-master]
            [clojure.data.json :as json]))

(defroutes routes
  (GET "/" [] (render-file "templates/index.html" {:dev (env :dev?)}))
  (GET "/data/input/:query" [query]
       (json/write-str
         (mtg-card-master/get-cards-matching-query query)))
  (POST "/data/card" request
        (let [card-name ((request :params) "card-name")]
          (str (mtg-card-master/get-card-info card-name))))
  (resources "/")
  (not-found "Not Found"))

(def app
  (let [handler (wrap-reload (wrap-params routes site-defaults))]
    (if (env :dev?) (wrap-reload (wrap-exceptions handler)) handler)))

(ns decktouch.handler
  (:require [decktouch.dev :refer [browser-repl start-figwheel]]
            [compojure.core :refer [GET POST defroutes]]
            [compojure.route :refer [not-found resources]]
            [ring.middleware.defaults :refer [site-defaults wrap-defaults]]
            [ring.middleware.params :refer [wrap-params]]
            [ring.middleware.reload :refer [wrap-reload]]
            [ring.adapter.jetty :as jetty]
            [selmer.parser :refer [render-file]]
            [environ.core :refer [env]]
            [prone.middleware :refer [wrap-exceptions]]
            [decktouch.mtg-card-master :as mtg-card-master]
            [clojure.data.json :as json]))

(defroutes routes
  (GET "/" [] (render-file "templates/index.html" {:dev (env :dev?)}))
  (GET "/data/input/:query" [query]
       (json/write-str
         (mtg-card-master/get-cards-matching-query query)))
  (POST "/data/card" request
        (let [card-name ((request :params) "card-name")]
          (json/write-str
            (mtg-card-master/get-card-info card-name))))
  (resources "/")
  (not-found "Not Found"))

(def app
  (let [handler (wrap-reload (wrap-params routes site-defaults))]
    (if (env :dev?) (wrap-reload (wrap-exceptions handler)) handler)))

Change a POST request to return json

Change a POST request to return json


(defproject test-utils-cljs "0.1.0-SNAPSHOT"
  :description "FIXME: write this!"
  :url "http://example.com/FIXME"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/clojurescript "1.8.51" :classifier "aot"
                  :exclusion [org.clojure/data.json]]
                 [org.clojure/data.json "0.2.6" :classifier "aot"]]
  :jvm-opts ^:replace ["-Xmx1g" "-server"]
  :plugins [[lein-npm "0.6.1"]]
  :npm {:dependencies [[source-map-support "0.3.2"]]}
  :source-paths ["src" "target/classes"]
  :clean-targets ["out" "release"]
  :target-path "target")

(defproject test-utils-cljs "0.1.0-SNAPSHOT"
  :description "FIXME: write this!"
  :url "http://example.com/FIXME"
  :dependencies [[org.clojure/clojure "1.9.0"]
                 [org.clojure/clojurescript "1.9.946" :classifier "aot"]
                 [kixi/stats "0.4.0"]]
  :jvm-opts ^:replace ["-Xmx1g" "-server"]
  :plugins [[lein-npm "0.6.1"]]
  :npm {:dependencies [[source-map-support "0.3.2"]]}
  :source-paths ["src" "target/classes"]
  :clean-targets ["out" "release"]
  :target-path "target")

Upgrade Clojure (1.9.0) / ClojureScript (1.9.946)


(def root-ns "org.broadinstitute")
(def build-dir-relative "target")

(defproject org.broadinstitute/firecloud-ui "0.0.1"
  :dependencies
  [
   ;; React library and cljs bindings for React.
   [dmohs/react "0.2.7"]
   [org.clojure/clojure "1.6.0"]
   [org.clojure/clojurescript "0.0-3211"]
   [inflections "0.9.14"]
   ]
  :plugins [[lein-cljsbuild "1.0.5"] [lein-figwheel "0.3.1"]]
  :hooks [leiningen.cljsbuild]
  :profiles {:dev {:cljsbuild
                   {:builds {:client {:compiler
                                      {:optimizations :none
                                       :source-map true
                                       :source-map-timestamp true}
                                      :figwheel
                                      {:on-jsload ~(str root-ns
                                                        ".firecloud-ui.main/dev-reload")}}}}}
             :release {:cljsbuild
                       {:builds {:client {:compiler
                                          {:optimizations :advanced
                                           :pretty-print false
                                           :closure-defines {"goog.DEBUG" false}}}}}}}
  :cljsbuild {:builds {:client {:source-paths ["src/cljs"]
                                :compiler {:output-dir ~(str build-dir-relative "/build")
                                           :output-to ~(str build-dir-relative "/compiled.js")}}}})

(def root-ns "org.broadinstitute")
(def build-dir-relative "target")

(defproject org.broadinstitute/firecloud-ui "0.0.1"
  :dependencies
  [
   ;; React library and cljs bindings for React.
   [dmohs/react "0.2.7"]
   [org.clojure/clojure "1.7.0"]
   [org.clojure/clojurescript "1.7.48"]
   [inflections "0.9.14"]
   ]
  :plugins [[lein-cljsbuild "1.0.6"] [lein-figwheel "0.3.7"]]
  :hooks [leiningen.cljsbuild]
  :profiles {:dev {:cljsbuild
                   {:builds {:client {:compiler
                                      {:optimizations :none
                                       :source-map true
                                       :source-map-timestamp true}
                                      :figwheel
                                      {:on-jsload ~(str root-ns
                                                        ".firecloud-ui.main/dev-reload")}}}}}
             :release {:cljsbuild
                       {:builds {:client {:compiler
                                          {:optimizations :advanced
                                           :pretty-print false
                                           :closure-defines {"goog.DEBUG" false}}}}}}}
  :cljsbuild {:builds {:client {:source-paths ["src/cljs"]
                                :compiler {:output-dir ~(str build-dir-relative "/build")
                                           :output-to ~(str build-dir-relative "/compiled.js")}}}})

Upgrade clojure, clojurescript, lein, figwheel to latest versions


(ns desdemona.query-test
  (:require
   [desdemona.query :as q]
   [clojure.test :refer [deftest is]]))

(deftest query-tests
  (is (= [[{:ip "10.0.0.1"}]]
         (q/run-query '(== (:ip x) "10.0.0.1")
                      [{:ip "10.0.0.1"}]))))

(ns desdemona.query-test
  (:require
   [desdemona.query :as q]
   [clojure.test :refer [deftest is]]))

(deftest query-tests
  (is (= []
         (q/run-query 'l/fail
                      [{:ip "10.0.0.1"}])))
  (is (= [[{:ip "10.0.0.1"}]]
         (q/run-query '(== (:ip x) "10.0.0.1")
                      [{:ip "10.0.0.1"}]))))

Add a simple test with a failing goal

Add a simple test with a failing goal


(require '[cljs.build.api :as b])

(b/watch (b/inputs "src" "vendor" "test")
  {:main 'uxbox.test-runner
   :output-to "out/tests.js"
   :output-dir "out"
   :parallel-build false
   :optimizations :none
   :pretty-print true
   :target :nodejs
   :language-in  :ecmascript5
   :language-out :ecmascript5
   :verbose true})

(require '[cljs.build.api :as b])

(b/watch (b/inputs "src" "vendor" "test")
  {:main 'uxbox.test-runner
   :output-to "out/tests.js"
   :output-dir "out"
   :parallel-build false
   :optimizations :simple
   :pretty-print true
   :target :nodejs
   :language-in  :ecmascript5
   :language-out :ecmascript5
   :verbose true})

Use :simple optimization level for tests.


(ns theatralia.core)

;;; This is an incorrect implementation, such as might be written by
;;; someone who was used to a Lisp in which an empty list is equal to
;;; nil.
(defn first-element [sequence default]
  (if (nil? sequence)
    default
    (first sequence)))

(ns theatralia.core)

(defn first-element [sequence default]
  (if (seq sequence)
    (first sequence)
    default))

Make the template tests pass

Make the template tests pass

Now the CI build should succeed.


(ns vadas.core)

(defn start-listening
  "Test CMU Sphinx4 listener"
  []
  (let [config (new edu.cmu.sphinx.api.Configuration)]
    (println "Created new configuration: " (str config))))

(defn -main
  "VADAS"
  []
  (start-listening))

(ns vadas.core
  (:import (edu.cmu.sphinx.api Configuration)))

(defn start-listening
  "Test CMU Sphinx4 listener"
  []
  (let [config (new Configuration)]
    (println "Created new configuration: " (str config))))

(defn -main
  "VADAS"
  []
  (start-listening))

Add proper import to namespace

Add proper import to namespace


(ns clj-record.validation
  (:use clj-record.util)
  (:use clj-record.core))

(defn- validations-for [model-name] ((@all-models-metadata model-name) :validations))

(defn validate [model-name record]
  (reduce
    (fn [errors [attr message validation-fn]]
      (if (validation-fn (record attr))
        errors
        (merge-with
          (fn [result addl-val] (apply conj result addl-val))
          errors
          {attr [message]})))
    {}
    (validations-for model-name)))

(defn- validates [model-name attribute-name message function]
  (dosync
    (let [metadata (@all-models-metadata model-name)
          validations (or (@metadata :validations) [])]
      (ref-set metadata
        (assoc @metadata :validations (conj validations [(keyword (name attribute-name)) message (eval function)])))))
  '(identity 1)) ; XXX: Have to return a no-op form since we don't need any defs.

(ns clj-record.validation
  (:use clj-record.util)
  (:use clj-record.core))

(defn- validations-for [model-name] ((@all-models-metadata model-name) :validations))

(defn validate [model-name record]
  (reduce
    (fn [errors [attr message validation-fn]]
      (if (validation-fn (record attr))
        errors
        (merge-with
          (fn [result addl-val] (apply conj result addl-val))
          errors
          {attr [message]})))
    {}
    (validations-for model-name)))

(defn- validates [model-name attribute-name message function]
  (dosync
    (let [metadata (@all-models-metadata model-name)
          validations (or (@metadata :validations) [])]
      (ref-set metadata
        (assoc @metadata :validations (conj validations [(keyword (name attribute-name)) message (eval function)])))))
  nil)

Remove the no-op form returned by validates now that we check for a return value before including anything in the generated init-model expansion.


(ns advent-of-code-day-2.core
  (:require [clojure.string :as string]
            [clojure.math.combinatorics :as combo])
  (:gen-class))

(defn parse-dimensions [dimensions-string]
  (map #(Integer/parseInt %) (string/split dimensions-string #"x")))

;(defn calc-face-areas [dimensions]
;  ;; this version doesn’t work –
;  ;; combo/combinations “helpfully” throws out duplicate combinations,
;  ;; so input [1 1 10] results in two face areas instead of three
;  (map (partial apply *) (combo/combinations dimensions 2)))
(defn calc-face-areas [[l h w]]
  [(* l h) (* l w) (* h w)])

(defn wrapping-area [dimensions]
  (let [face-areas (calc-face-areas dimensions)
        smallest-face-area (apply min face-areas)
        surface-area (* 2 (apply + face-areas))]
    (+ surface-area smallest-face-area)))

(defn ribbon-length [dimensions]
  (let [present-length (* 2 (apply + (take 2 (sort dimensions))))
        bow-length (apply * dimensions)]
    (+ present-length bow-length)))

(defn -main
  "Print total wrapping paper needed given present dimensions."
  [& args]
  (->> (slurp *in*)
       (string/split-lines)
       (map parse-dimensions)
       #_(map wrapping-area)
       (map ribbon-length)
       (reduce +)
       (println)))

(ns advent-of-code-day-2.core
  (:require [clojure.string :as string]
            [clojure.math.combinatorics :as combo])
  (:gen-class))

(defn parse-dimensions [dimensions-string]
  (map #(Integer/parseInt %) (string/split dimensions-string #"x")))

;(defn calc-face-areas [dimensions]
;  ;; this version doesn’t work –
;  ;; combo/combinations “helpfully” throws out duplicate combinations,
;  ;; so input [1 1 10] results in two face areas instead of three
;  (map (partial apply *) (combo/combinations dimensions 2)))
(defn calc-face-areas [[l h w]]
  [(* l h) (* l w) (* h w)])

(defn wrapping-area [dimensions]
  (let [face-areas (calc-face-areas dimensions)
        smallest-face-area (apply min face-areas)
        surface-area (* 2 (apply + face-areas))]
    (+ surface-area smallest-face-area)))

(defn ribbon-length [dimensions]
  (let [present-length (* 2 (apply + (take 2 (sort dimensions))))
        bow-length (apply * dimensions)]
    (+ present-length bow-length)))

(defn -main
  "Print total wrapping paper needed given present dimensions."
  [& args]
  (->> (slurp *in*)
       (string/split-lines)
       (map parse-dimensions)
       (map wrapping-area)
       #_(map ribbon-length)
       (reduce +)
       (println)))

Fix day 2 commenting-out to make docstring accurate


;;;; This file is part of gorilla-repl. Copyright (C) 2014-, Jony Hudson.
;;;;
;;;; gorilla-repl is licenced to you under the MIT licence. See the file LICENCE.txt for full details.

(defproject gorilla-repl "0.3.3-SNAPSHOT"
  :description "A rich REPL for Clojure in the notebook style."
  :url "https://github.com/JonyEpsilon/gorilla-repl"
  :license {:name "MIT"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [http-kit "2.1.16"]
                 [ring/ring-json "0.2.0"]
                 [cheshire "5.0.2"]
                 [compojure "1.1.6"]
                 [org.slf4j/slf4j-api "1.7.5"]
                 [ch.qos.logback/logback-classic "1.0.13"]
                 [clojure-complete "0.2.3"]
                 [gorilla-renderable "1.0.0"]
                 [org.clojure/data.codec "0.1.0"]
                 [grimradical/clj-semver "0.2.0" :exclusions [org.clojure/clojure]]]
  :main ^:skip-aot gorilla-repl.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})

;;;; This file is part of gorilla-repl. Copyright (C) 2014-, Jony Hudson.
;;;;
;;;; gorilla-repl is licenced to you under the MIT licence. See the file LICENCE.txt for full details.

(defproject gorilla-repl "0.3.3-SNAPSHOT"
  :description "A rich REPL for Clojure in the notebook style."
  :url "https://github.com/JonyEpsilon/gorilla-repl"
  :license {:name "MIT"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [http-kit "2.1.16"]
                 [ring/ring-json "0.3.1"]
                 [cheshire "5.0.2"]
                 [compojure "1.1.8"]
                 [org.slf4j/slf4j-api "1.7.5"]
                 [ch.qos.logback/logback-classic "1.0.13"]
                 [clojure-complete "0.2.3"]
                 [gorilla-renderable "1.0.0"]
                 [org.clojure/data.codec "0.1.0"]
                 [javax.servlet/servlet-api "2.5"]
                 [grimradical/clj-semver "0.2.0" :exclusions [org.clojure/clojure]]]
  :main ^:skip-aot gorilla-repl.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})

Fix for lein gorilla not working with my setup


(defproject cli4clj "1.2.4"
;(defproject cli4clj "1.2.4-SNAPSHOT"
  :description "Create simple interactive CLIs for Clojure applications."
  :url "https://github.com/ruedigergad/cli4clj"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [clj-assorted-utils "1.15.0"]
                 [jline/jline "2.14.2"]]
  :global-vars {*warn-on-reflection* true}
  :html5-docs-docs-dir "ghpages/doc"
  :html5-docs-ns-includes #"^cli4clj.*"
  :html5-docs-repository-url "https://github.com/ruedigergad/cli4clj/blob/master"
  :test2junit-output-dir "ghpages/test-results"
  :test2junit-run-ant true
  :main cli4clj.example
  :plugins [[lein-cloverage "1.0.2"] [test2junit "1.2.5"] [lein-html5-docs "3.0.3"]]
  :profiles  {:repl  {:dependencies  [[jonase/eastwood "0.2.2" :exclusions  [org.clojure/clojure]]]}}
)

;(defproject cli4clj "1.2.4"
(defproject cli4clj "1.2.5-SNAPSHOT"
  :description "Create simple interactive CLIs for Clojure applications."
  :url "https://github.com/ruedigergad/cli4clj"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [clj-assorted-utils "1.15.0"]
                 [jline/jline "2.14.2"]]
  :global-vars {*warn-on-reflection* true}
  :html5-docs-docs-dir "ghpages/doc"
  :html5-docs-ns-includes #"^cli4clj.*"
  :html5-docs-repository-url "https://github.com/ruedigergad/cli4clj/blob/master"
  :test2junit-output-dir "ghpages/test-results"
  :test2junit-run-ant true
  :main cli4clj.example
  :plugins [[lein-cloverage "1.0.2"] [test2junit "1.2.5"] [lein-html5-docs "3.0.3"]]
  :profiles  {:repl  {:dependencies  [[jonase/eastwood "0.2.2" :exclusions  [org.clojure/clojure]]]}}
)

Revert back to snapshot version.

Revert back to snapshot version.


(defproject org.onyxplatform/onyx-metrics "0.8.0.8"
  :description "Instrument Onyx workflows"
  :url "https://github.com/MichaelDrogalis/onyx"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [interval-metrics "1.0.0"]
                 [stylefruits/gniazdo "0.4.0"]]
  :java-opts ^:replace ["-server" "-Xmx3g"]
  :global-vars  {*warn-on-reflection* true
                 *assert* false
                 *unchecked-math* :warn-on-boxed}
  :profiles {:dev {:dependencies [^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                                  [org.onyxplatform/onyx "0.8.0"]
                                  [riemann-clojure-client "0.4.1"]]
                   :plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}})

(defproject org.onyxplatform/onyx-metrics "0.8.0.9-SNAPSHOT"
  :description "Instrument Onyx workflows"
  :url "https://github.com/MichaelDrogalis/onyx"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [interval-metrics "1.0.0"]
                 [stylefruits/gniazdo "0.4.0"]]
  :java-opts ^:replace ["-server" "-Xmx3g"]
  :global-vars  {*warn-on-reflection* true
                 *assert* false
                 *unchecked-math* :warn-on-boxed}
  :profiles {:dev {:dependencies [^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                                  [org.onyxplatform/onyx "0.8.0"]
                                  [riemann-clojure-client "0.4.1"]]
                   :plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}})

Prepare for next release cycle.

Prepare for next release cycle.


(ns gorillalabs.tesla.component.mongo
  (:require [monger.core :as mg]
            [monger.credentials :as mg-cred]
            [mount.core :as mnt])
  (:import [com.mongodb MongoOptions ServerAddress WriteConcern]))

(defn- start []
  (let [^MongoOptions opts (mg/mongo-options {:threads-allowed-to-block-for-connection-multiplier 300})
        ^ServerAddress sa (mg/server-address "127.0.0.1" 27017)
        cred (mg-cred/create "root" "admin" "password")
        conn (mg/connect sa opts cred)]
    conn))

(defn- stop [mongo]
  (mg/disconnect mongo)
  )

(mnt/defstate mongo
              :start (start)
              :stop (stop mongo))

(defn getDatabase [name]
      (mg/get-db mongo name))

Add simple helper function to retrieve database


(defproject onyx-app/lein-template "0.13.0.0"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :license {:name "MIT License"
            :url "http://choosealicense.com/licenses/mit/#"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :plugins [[lein-set-version "0.4.1"]]
  :profiles {:dev {:plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}}
  :eval-in-leiningen true)

(defproject onyx-app/lein-template "0.13.0.1-SNAPSHOT"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :license {:name "MIT License"
            :url "http://choosealicense.com/licenses/mit/#"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :plugins [[lein-set-version "0.4.1"]]
  :profiles {:dev {:plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}}
  :eval-in-leiningen true)

Prepare for next release cycle.

Prepare for next release cycle.


(defproject buddy/buddy-core "0.6.0"
  :description "Cryptographic Api for Clojure."
  :url "https://github.com/funcool/buddy-core"
  :license {:name "Apache 2.0"
            :url "http://www.apache.org/licenses/LICENSE-2.0"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [commons-codec/commons-codec "1.10"]
                 [org.bouncycastle/bcprov-jdk15on "1.52"]
                 [slingshot "0.12.2"]
                 [org.bouncycastle/bcpkix-jdk15on "1.52"]]
  :source-paths ["src"]
  :test-paths ["test"]
  :jar-exclusions [#"\.cljx|\.swp|\.swo|user.clj"]
  :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
  :profiles {:dev {:codeina {:sources ["src"]
                             :exclude [buddy.core.sign.impl]
                             :language :clojure
                             :output-dir "doc/dist/latest/api"
                             :src-dir-uri "http://github.com/funcool/buddy-core/blob/master/"
                             :src-linenum-anchor-prefix "L"}
                   :plugins [[funcool/codeina "0.1.0-SNAPSHOT"
                              :exclusions [org.clojure/clojure]]]}})

(defproject buddy/buddy-core "0.6.0"
  :description "Cryptographic Api for Clojure."
  :url "https://github.com/funcool/buddy-core"
  :license {:name "Apache 2.0"
            :url "http://www.apache.org/licenses/LICENSE-2.0"}
  :dependencies [[org.clojure/clojure "1.7.0" :scope "provided"]
                 [commons-codec/commons-codec "1.10"]
                 [org.bouncycastle/bcprov-jdk15on "1.52"]
                 [slingshot "0.12.2"]
                 [org.bouncycastle/bcpkix-jdk15on "1.52"]]
  :source-paths ["src"]
  :test-paths ["test"]
  :jar-exclusions [#"\.cljx|\.swp|\.swo|user.clj"]
  :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
  :profiles {:dev {:codeina {:sources ["src"]
                             :exclude [buddy.core.sign.impl]
                             :language :clojure
                             :output-dir "doc/dist/latest/api"
                             :src-dir-uri "http://github.com/funcool/buddy-core/blob/master/"
                             :src-linenum-anchor-prefix "L"}
                   :plugins [[funcool/codeina "0.1.0-SNAPSHOT"
                              :exclusions [org.clojure/clojure]]]}})

Set default clojure version to 1.7.0

Set default clojure version to 1.7.0


(ns clj-record.test.main
  (:require [clojure.contrib.sql :as sql]
            [clojure.contrib.test-is :as test-is]
            clj-record.config))

(defn drop-tables []
  (try
    (sql/drop-table :manufacturer)
    (sql/drop-table :product)
    (catch Exception e)))

(defn create-tables []
  (sql/create-table :manufacturers
    [:id "INT" "GENERATED ALWAYS AS IDENTITY CONSTRAINT manufacturer_pk PRIMARY KEY"]
    [:name "VARCHAR(32)" "NOT NULL"]
    [:founded "VARCHAR(4)"]
    [:grade :real])
  (sql/create-table :products
    [:id "INT" "GENERATED ALWAYS AS IDENTITY CONSTRAINT product_pk PRIMARY KEY"]
    [:name "VARCHAR(32)" "NOT NULL"]
    [:price "INT"]
    [:manufacturer_id "INT" "NOT NULL"]))

(sql/with-connection clj-record.config/db
  (sql/transaction
    (drop-tables)
    (create-tables)))

(println "Setup complete.")

(load "core-test")
(load "associations-test")
(load "validation-test")
(test-is/run-all-tests)

(ns clj-record.test.main
  (:require [clojure.contrib.sql :as sql]
            [clojure.contrib.test-is :as test-is]
            clj-record.config))

(defn drop-tables []
  (try
    (sql/drop-table :manufacturers)
    (sql/drop-table :products)
    (catch Exception e)))

(defn create-tables []
  (sql/create-table :manufacturers
    [:id "INT" "GENERATED ALWAYS AS IDENTITY CONSTRAINT manufacturer_pk PRIMARY KEY"]
    [:name "VARCHAR(32)" "NOT NULL"]
    [:founded "VARCHAR(4)"]
    [:grade :real])
  (sql/create-table :products
    [:id "INT" "GENERATED ALWAYS AS IDENTITY CONSTRAINT product_pk PRIMARY KEY"]
    [:name "VARCHAR(32)" "NOT NULL"]
    [:price "INT"]
    [:manufacturer_id "INT" "NOT NULL"]))

(sql/with-connection clj-record.config/db
  (sql/transaction
    (drop-tables)
    (create-tables)))

(println "Setup complete.")

(load "core-test")
(load "associations-test")
(load "validation-test")
(test-is/run-all-tests)

Fix drop table to use plurals.

Fix drop table to use plurals.


(ns doctopus.storage.impls.permanent-fs
  (:require [bidi.ring :as bidi-ring]
            [doctopus
             [configuration :refer [server-config]]
             [files :as files]]
            [doctopus.storage.impls.fs-impl :refer [save-html-file] :as fs-impl]
            [me.raynes.fs :as fs]))

;; TODO: this does not actually work the way we need it to! Neat! --RMD

(def root (fs/file (:permanent-fs-root (server-config))))
(if-not (fs/exists? root) (fs/mkdirs root))

(defn save-fn
  "Save a dir of html stuff by moving it in to the annointed dir in
  the permanent fs"
  [key src-dir]
  (binding [fs/*cwd* root]
    (let [target-dir (fs/file key)
          result (fs/copy-dir src-dir target-dir)]
      (and (fs/exists? result)
           (fs/readable? result)))))

(defn load-fn
  "Returns the routes this serves"
  [key]
  (let [file-handle (binding [fs/*cwd* root] (fs/file key))
        file-name (str (.getPath file-handle) "/")]
    [key {"/" (bidi-ring/->Files {:dir file-name})}]))

(defn remove-fn
  [key]
  (fs-impl/remove-html root key))

(ns doctopus.storage.impls.permanent-fs
  (:require [bidi.ring :as bidi-ring]
            [doctopus
             [configuration :refer [server-config]]
             [files :as files]]
            [doctopus.storage.impls.fs-impl :refer [save-html-file] :as fs-impl]
            [me.raynes.fs :as fs]))

;; TODO: this does not actually work the way we need it to! Neat! --RMD

(def root (fs/file (:permanent-fs-root (server-config))))
(if-not (fs/exists? root) (fs/mkdirs root))

(defn save-fn
  "Save a dir of html stuff by moving it in to the annointed dir in
  the permanent fs"
  [key src-dir]
  (binding [fs/*cwd* root]
    (let [target-dir (fs/file key)
          result (fs/copy-dir src-dir target-dir)]
      (and (fs/exists? result)
           (fs/readable? result)))))

(defn load-fn
  "Returns the routes this serves"
  [key]
  (let [file-handle (binding [fs/*cwd* root] (fs/file key))
        file-name (str (.getPath file-handle) "/")]
    (if (fs/exists? file-handle)
      [key {"/" (bidi-ring/->Files {:dir file-name})}]
      nil)))

(defn remove-fn
  [key]
  (fs-impl/remove-html root key))

Return nil if the file being loaded doesn't exist


(def project 'hangul-utils)
(def version "0.1.0-SNAPSHOT")

(set-env! :resource-paths #{"resources" "src"}
          :source-paths   #{"test"}
          :dependencies   '[[org.clojure/clojure "RELEASE"]
                            [adzerk/boot-test "RELEASE" :scope "test"]])

(task-options!
 pom {:project     project
      :version     version
      :description "For splitting and Korean unicode characters (syllables, jaeum, moeum) in Clojure"
      :url         "http://github.com/sooheon/hangul-utils"
      :scm         {:url "https://github.com/sooheon/hangul-utils"}
      :license     {"Eclipse Public License"
                    "http://www.eclipse.org/legal/epl-v10.html"}})

(deftask build
  "Build and install the project locally."
  []
  (comp (pom) (jar) (install)))

(require '[adzerk.boot-test :refer [test]])

(def project 'hangul-utils)
(def version "0.1.0-SNAPSHOT")

(set-env! :resource-paths #{"resources" "src"}
          :source-paths #{"test"}
          :dependencies '[[org.clojure/clojure "RELEASE"]
                          [adzerk/boot-test "RELEASE" :scope "test"]
                          [adzerk/bootlaces "0.1.13"]])

(task-options!
 pom {:project     project
      :version     version
      :description "For splitting and Korean unicode characters (syllables, jaeum, moeum) in Clojure"
      :url         "http://github.com/sooheon/hangul-utils"
      :scm         {:url "https://github.com/sooheon/hangul-utils"}
      :license     {"Eclipse Public License"
                    "http://www.eclipse.org/legal/epl-v10.html"}})

(deftask build
  "Build and install the project locally."
  []
  (comp (pom) (jar) (install)))

(require '[adzerk.boot-test :refer [test]]
         '[adzerk.bootlaces :refer :all])

Use bootlaces for pushing to Clojars

Use bootlaces for pushing to Clojars


{:wrap-reload false
 :db-host "localhost"
 :db-name "mydb"
 :db-user nil
 :db-pwd nil
 :jetty-port 8080
 :host "smtp.googlemail.com"
 :user "team@4clojure.com"
 :problem-submission true
 :advanced-user-count 50
 :pass ""
 :repo-url "https://github.com/4clojure/4clojure"
 :hosts {;; :static "static.4clojure.com"
         ;; :dynamic "www.4clojure.com"
         :redirects ["4clojure.com"]}
 :golfing-active true
 :heartbeat nil ; set to, eg, [1 :hour] for periodic heap information on stdout
 ;; this list is just for bootstrapping - the real DB is authoritative
 :contributors ["amalloy" "dbyrne" "raynes" "cmeier" "devn" "0x89"
                "citizen428" "daviddavis" "clinteger" "amcnamara"]}

{:wrap-reload false
 :db-host "localhost"
 :db-name "4clojure"
 :db-user nil
 :db-pwd nil
 :jetty-port 8080
 :host "smtp.googlemail.com"
 :user "team@4clojure.com"
 :problem-submission true
 :advanced-user-count 50
 :pass ""
 :repo-url "https://github.com/4clojure/4clojure"
 :hosts {;; :static "static.4clojure.com"
         ;; :dynamic "www.4clojure.com"
         :redirects ["4clojure.com"]}
 :golfing-active true
 :heartbeat nil ; set to, eg, [1 :hour] for periodic heap information on stdout
 ;; this list is just for bootstrapping - the real DB is authoritative
 :contributors ["amalloy" "dbyrne" "raynes" "cmeier" "devn" "0x89"
                "citizen428" "daviddavis" "clinteger" "amcnamara"]}

Update db-name to match new default

Update db-name to match new default


(ns yetibot.core.logging
  (:require
    [schema.core :as s]
    [yetibot.core.config :refer [get-config]]
    [yetibot.core.util :refer [with-fresh-db]]
    [yetibot.core.db.log :as log]
    [taoensso.timbre.appenders.3rd-party.rolling :refer [rolling-appender]]
    [taoensso.timbre.appenders.core :refer [println-appender]]
    [taoensso.timbre
     :as timbre
     :refer [trace debug info warn error fatal spy with-log-level]]))

(def config-schema String)

(defn log-level []
  (let [v (get-config config-schema [:log :level])]
    (if (:error v)
      ;; default config level
      :warn
      (keyword (:value v)))))

(defn rolling-appender-enabled?
  "Rolling appender is enabled by default. Disable it by setting enabled=false"
  []
  (let [v (get-config String [:log :rolling :enabled])]
    (if-let [enabled (:value v)]
      (not= enabled "false")
      true)))

(defn start []
  (timbre/set-config!
    {:level (log-level)
     :appenders
     ;; stdout
     {:println (println-appender {:stream :auto})
      ;; rolling log files
      :rolling-appender (rolling-appender
                          {:enabled? (rolling-appender-enabled?)
                           :path "/var/log/yetibot/yetibot.log"
                           :pattern :daily})}}))

(ns yetibot.core.logging
  (:require
    [schema.core :as s]
    [yetibot.core.config :refer [get-config]]
    [yetibot.core.util :refer [with-fresh-db]]
    [yetibot.core.db.log :as log]
    [taoensso.timbre.appenders.3rd-party.rolling :refer [rolling-appender]]
    [taoensso.timbre.appenders.core :refer [println-appender]]
    [taoensso.timbre
     :as timbre
     :refer [trace debug info warn error fatal spy with-log-level]]))

(def config-schema String)

(defn log-level []
  (let [v (get-config config-schema [:log :level])]
    (if (:error v)
      ;; default config level
      :info
      (keyword (:value v)))))

(defn rolling-appender-enabled?
  "Rolling appender is enabled by default. Disable it by setting enabled=false"
  []
  (let [v (get-config String [:log :rolling :enabled])]
    (if-let [enabled (:value v)]
      (not= enabled "false")
      true)))

(defn start []
  (timbre/set-config!
    {:level (log-level)
     :appenders
     ;; stdout
     {:println (println-appender {:stream :auto})
      ;; rolling log files
      :rolling-appender (rolling-appender
                          {:enabled? (rolling-appender-enabled?)
                           :path "/var/log/yetibot/yetibot.log"
                           :pattern :daily})}}))

Set default log level to warn

Set default log level to warn


(ns name-bazaar.ui.subs.watched-names-subs
  (:require
    [medley.core :as medley]
    [re-frame.core :refer [reg-sub subscribe]]))

(reg-sub
  :watched-names
  (fn [db]
    (:watched-names db)))

(reg-sub
  :watched-names/watched-items
  :<- [:watched-names]
  :<- [:ens/records]
  (fn [[watched-names ens-records]]
    (map (fn [node]
           (let [{:keys [:ens.record/name] :as watched-ens-record} (get-in watched-names [:ens/records node])]
             (merge
               watched-ens-record
               {:ens.record/node node})))
         (:order watched-names))))

(reg-sub
  :watched-names.node/watched?
  :<- [:watched-names]
  (fn [watched-names [_ node]]
    (boolean (get-in watched-names [:ens/records node]))))

(ns name-bazaar.ui.subs.watched-names-subs
  (:require
    [medley.core :as medley]
    [re-frame.core :refer [reg-sub subscribe]]))

(reg-sub
  :watched-names
  (fn [db]
    (:watched-names db)))

(reg-sub
  :watched-names/watched-items
  :<- [:watched-names]
  :<- [:ens/records]
  :<- [:offerings]
  (fn [[watched-names ens-records offerings]]
    (map (fn [node]
           (let [{:keys [:ens.record/name] :as watched-ens-record} (get-in watched-names [:ens/records node])]
             (merge
               watched-ens-record
               {:ens.record/node node}
               (if-let [offering-address (get-in ens-records [node :ens.record/active-offering])]
                 (get offerings offering-address)))))
         (:order watched-names))))

(reg-sub
  :watched-names.node/watched?
  :<- [:watched-names]
  (fn [watched-names [_ node]]
    (boolean (get-in watched-names [:ens/records node]))))

Fix name display in watched names

Fix name display in watched names


(defproject io.aviso/twixt "0.1.7"
  :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"]
                 [org.clojure/tools.logging "0.2.6"]
                 [ring/ring-core "1.2.1"]
                 [org.mozilla/rhino "1.7R4"]
                 [com.github.sommeri/less4j "1.2.1"]
                 [de.neuland-bfi/jade4j "0.4.0"]
                 [io.aviso/pretty "0.1.8"]
                 [hiccup "1.0.4"]]
  :codox {:src-dir-uri               "https://github.com/AvisoNovate/twixt/blob/master/"
          :src-linenum-anchor-prefix "L"}
  :profiles {:dev {:dependencies [[log4j "1.2.17"]
                                  [ring/ring-jetty-adapter "1.2.0"]]}})

(defproject io.aviso/twixt "0.1.8"
  :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"]
                 [org.clojure/tools.logging "0.2.6"]
                 [ring/ring-core "1.2.1"]
                 [org.mozilla/rhino "1.7R4"]
                 [com.github.sommeri/less4j "1.2.1"]
                 [de.neuland-bfi/jade4j "0.4.0"]
                 [io.aviso/pretty "0.1.8"]
                 [hiccup "1.0.4"]]
  :codox {:src-dir-uri               "https://github.com/AvisoNovate/twixt/blob/master/"
          :src-linenum-anchor-prefix "L"}
  :profiles {:dev {:dependencies [[log4j "1.2.17"]
                                  [ring/ring-jetty-adapter "1.2.0"]]}})

Advance version number to 0.1.8

Advance version number to 0.1.8


(defproject mars-ogler "1.0.1-SNAPSHOT"
  :description "Holy cow, it's Mars!"
  :url "http://github.com/aperiodic/mars-ogler"
  :license {:name "GNU Affero GPL"
            :url "http://www.gnu.org/licenses/agpl"}
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [org.clojure/tools.cli "0.2.2"]
                 [cheshire "5.2.0"]
                 [clj-http "0.6.3"]
                 [clj-time "0.4.4"]
                 [compojure "1.1.3"]
                 [enlive "1.0.1"]
                 [hiccup "1.0.0"]
                 [ring/ring-core "1.1.6"]
                 [ring/ring-jetty-adapter "1.1.6"]]
  :plugins [[lein-ring "0.7.1"]]
  :main mars-ogler.main
  :uberjar-name "mars-ogler.jar"
  :jvm-opts ["-Xmx576m"]
  :ring {:handler mars-ogler.routes/ogler-handler
         :init mars-ogler.images/setup!})

(defproject mars-ogler "1.0.1-SNAPSHOT"
  :description "Holy cow, it's Mars!"
  :url "http://github.com/aperiodic/mars-ogler"
  :license {:name "GNU Affero GPL"
            :url "http://www.gnu.org/licenses/agpl"}
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [org.clojure/tools.cli "0.2.2"]
                 [cheshire "5.2.0"]
                 [clj-http "0.6.3"]
                 [clj-time "0.4.4"]
                 [compojure "1.1.3"]
                 [enlive "1.0.1"]
                 [hiccup "1.0.0"]
                 [ring/ring-core "1.1.6"]
                 [ring/ring-jetty-adapter "1.1.6"]]
  :plugins [[lein-ring "0.7.1"]]
  :main mars-ogler.main
  :uberjar-name "mars-ogler.jar"
  :jvm-opts ["-Xmx850m"
             "-XX:+UseConcMarkSweepGC"
             "-XX:+CMSIncrementalMode"
             "-XX:+UseCompressedOops"]
  :ring {:handler mars-ogler.routes/ogler-handler
         :init mars-ogler.images/setup!})

Increase heap size, add GC tuning flags

Increase heap size, add GC tuning flags


(defproject try-clojure "0.1.0-SNAPSHOT"
  :min-lein-version "2.0.0"
  :description "Try Clojure"
  :url "http://try-clojure.herokuapp.com"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [ring "1.1.8"]
                 [compojure "1.1.5"]
                 [de.ubercode.clostache/clostache "1.3.1"]]
  :main try-clojure.core)

(defproject try-clojure "0.1.0-SNAPSHOT"
  :min-lein-version "2.0.0"
  :description "Try Clojure"
  :url "http://try-clojurescript.herokuapp.com"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [ring "1.1.8"]
                 [compojure "1.1.5"]
                 [de.ubercode.clostache/clostache "1.3.1"]]
  :main try-clojure.core)

Update app name for Heroku

Update app name for Heroku


(defproject introspect "1.0.0-SNAPSHOT"
  :description       "FIXME: write description"
  :url               "http://example.com/FIXME"
  :license           {:name "Eclipse Public License"
                        :url  "http://www.eclipse.org/legal/epl-v10.html"}

  :test-paths        ["test/clj"]
  :source-paths      ["src/clj"]
  :java-source-paths ["src/java"]
  :aot               [introspect.core]

  :manifest          {"Premain-class"           "introspect.Premain"
                      "Agent-class"             "introspect.Premain"
                      "Can-Redefine-Classes"    "true"
                      "Can-Retransform-Classes" "true"}

  :jvm-opts          ["-noverify"]

  :profiles          {:test {:dependencies [[org.clojure/tools.nrepl "0.2.7"]]
                             :jvm-opts     ["-noverify"
                                            ~(str
                                              "-javaagent:"
                                              (System/getProperty "user.dir")
                                              "/target/introspect-1.0.0-SNAPSHOT-standalone.jar=introspect.helpers.simple-functions")]
                               }}
  :dependencies      [[org.clojure/clojure            "1.6.0"]
                      [net.bytebuddy/byte-buddy-agent "0.5.3"]
                      [net.bytebuddy/byte-buddy       "0.5.3"]]
)

(defproject introspect "1.0.0-SNAPSHOT"
  :description       "FIXME: write description"
  :url               "http://example.com/FIXME"
  :license           {:name "Eclipse Public License"
                        :url  "http://www.eclipse.org/legal/epl-v10.html"}

  :test-paths        ["test/clj" "test/java"]
  :source-paths      ["src/clj"]
  :java-source-paths ["src/java" "test/java"]
  :aot               [introspect.core]

  :manifest          {"Premain-class"           "introspect.Premain"
                      "Agent-class"             "introspect.Premain"
                      "Can-Redefine-Classes"    "true"
                      "Can-Retransform-Classes" "true"}

  :jvm-opts          ["-noverify"]

  :profiles          {:test {:dependencies [[org.clojure/tools.nrepl "0.2.7"]]
                             :jvm-opts     ["-noverify"
                                            ~(str
                                              "-javaagent:"
                                              (System/getProperty "user.dir")
                                              "/target/introspect-1.0.0-SNAPSHOT-standalone.jar=introspect.helpers.simple-functions")]
                               }}
  :dependencies      [[org.clojure/clojure            "1.6.0"]
                      [net.bytebuddy/byte-buddy-agent "0.5.3"]
                      [net.bytebuddy/byte-buddy       "0.5.3"]]
)

Add java sources to tests

Add java sources to tests


(defproject buddy/buddy-core "0.6.0"
  :description "Cryptographic Api for Clojure."
  :url "https://github.com/funcool/buddy-core"
  :license {:name "Apache 2.0"
            :url "http://www.apache.org/licenses/LICENSE-2.0"}
  :dependencies [[org.clojure/clojure "1.7.0" :scope "provided"]
                 [commons-codec/commons-codec "1.10"]
                 [org.bouncycastle/bcprov-jdk15on "1.52"]
                 [org.bouncycastle/bcpkix-jdk15on "1.52"]]
  :source-paths ["src"]
  :test-paths ["test"]
  :jar-exclusions [#"\.cljx|\.swp|\.swo|user.clj"]
  :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
  :profiles {:dev {:codeina {:sources ["src"]
                             :exclude [buddy.core.sign.impl]
                             :reader :clojure
                             :target "doc/dist/latest/api"
                             :src-uri "http://github.com/funcool/buddy-core/blob/master/"
                             :src-uri-prefix "#L"}
                   :plugins [[funcool/codeina "0.2.0" :exclusions [org.clojure/clojure]]
                             [lein-ancient "0.6.7"]]}})

(defproject buddy/buddy-core "0.6.0"
  :description "Cryptographic Api for Clojure."
  :url "https://github.com/funcool/buddy-core"
  :license {:name "Apache 2.0"
            :url "http://www.apache.org/licenses/LICENSE-2.0"}
  :dependencies [[org.clojure/clojure "1.7.0" :scope "provided"]
                 [commons-codec/commons-codec "1.10"]
                 [org.bouncycastle/bcprov-jdk15on "1.52"]
                 [org.bouncycastle/bcpkix-jdk15on "1.52"]]
  :source-paths ["src"]
  :test-paths ["test"]
  :jar-exclusions [#"\.cljx|\.swp|\.swo|user.clj"]
  :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
  :profiles {:dev {:codeina {:sources ["src"]
                             :exclude [buddy.core.sign.impl]
                             :reader :clojure
                             :target "doc/dist/latest/api"
                             :src-uri "http://github.com/funcool/buddy-core/blob/master/"
                             :src-uri-prefix "#L"}
                   :plugins [[funcool/codeina "0.3.0" :exclusions [org.clojure/clojure]]
                             [lein-ancient "0.6.7"]]}})

Update codeina dependency to 0.3.0.

Update codeina dependency to 0.3.0.


(ns slack-invite.core
  (:require [bidi.bidi :as b]
            [bidi.ring :refer (make-handler)]
            [clj-slack.core :as slack]))

(defn showForm
  [request]
  {:status 200
   :headers {"Content-Type" "text/html"}
   :body "
Hello world!
"})

(defn handleForm
  [request]
)

(def routes
  ["/" {:get showForm
        :post handleForm}])

(def handler
  (make-handler routes))

(ns slack-invite.core
  (:require [bidi.bidi :as b]
            [bidi.ring :refer (make-handler)]
            [environ.core :refer [env]]
            [clj-slack.core :as slack]))

(def slack-connection {:api-url (env :api-url) :token (env :api-token)})

(defn showForm
  [request]
  {:status 200
   :headers {"Content-Type" "text/html"}
   :body "
Hello world!
"})

(defn handleForm
  [request]
)

(def routes
  ["/" {:get showForm
        :post handleForm}])

(def handler
  (make-handler routes))

Add env hooking for slack connection.

Add env hooking for slack connection.


(defproject rivulet "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-1885"]
                 [enfocus "2.0.0-beta1"]]
  :source-paths ["src/clj"]
  :resource-paths ["src/js" "src/rb" "target/resources"]
  :plugins [[lein-cljsbuild "0.3.2"]
            [lein-vertx "0.1.0-SNAPSHOT"]]
  :profiles {:provided
             {:dependencies [[io.vertx/clojure-api "0.3.0-SNAPSHOT"]]}}
  :cljsbuild {:crossovers [rivulet.config]
              :builds [{:source-paths ["src/cljs"]
                        :compiler {:output-to "resources/client.js"}
                        :crossover-path "target/crossover-cljs"}]}
  :vertx {:main-fn rivulet.init/init})

(defproject rivulet "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-1885"]
                 [enfocus "2.0.0-beta1"]]
  :source-paths ["src/clj"]
  :resource-paths ["src/js" "src/rb"]
  :plugins [[lein-cljsbuild "0.3.2"]
            [lein-vertx "0.1.0-SNAPSHOT"]]
  :profiles {:provided
             {:dependencies [[io.vertx/clojure-api "0.3.0-SNAPSHOT"]]}}
  :cljsbuild {:crossovers [rivulet.config]
              :builds [{:source-paths ["src/cljs"]
                        :compiler {:output-to "resources/client.js"}
                        :crossover-path "target/crossover-cljs"}]}
  :vertx {:main-fn rivulet.init/init})

Remove unused resources dir form resource-paths.


(defproject onyx-app/lein-template "0.9.10.0-beta3"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :license {:name "MIT License"
            :url "http://choosealicense.com/licenses/mit/#"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :plugins [[lein-set-version "0.4.1"]]
  :profiles {:dev {:plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}}
  :eval-in-leiningen true)

(defproject onyx-app/lein-template "0.9.10.0-SNAPSHOT"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :license {:name "MIT License"
            :url "http://choosealicense.com/licenses/mit/#"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :plugins [[lein-set-version "0.4.1"]]
  :profiles {:dev {:plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}}
  :eval-in-leiningen true)

Prepare for next release cycle.

Prepare for next release cycle.


(defproject compojure "1.4.0"
  :description "A concise routing library for Ring"
  :url "https://github.com/weavejester/compojure"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/tools.macro "0.1.5"]
                 [clout "2.1.2"]
                 [medley "0.7.1"]
                 [ring/ring-core "1.4.0"]
                 [ring/ring-codec "1.0.0"]]
  :plugins [[lein-codox "0.9.3"]]
  :codox
  {:output-path "codox"
   :metadata {:doc/format :markdown}
   :source-uri "http://github.com/weavejester/compojure/blob/{version}/{filepath}#L{line}"}
  :profiles
  {:dev {:jvm-opts ^:replace []
         :dependencies [[ring/ring-mock "0.3.0"]
                        [criterium "0.4.3"]
                        [javax.servlet/servlet-api "2.5"]]}
   :1.8 {:dependencies [[org.clojure/clojure "1.8.0"]]}})

(defproject compojure "1.4.0"
  :description "A concise routing library for Ring"
  :url "https://github.com/weavejester/compojure"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/tools.macro "0.1.5"]
                 [clout "2.1.2"]
                 [medley "0.7.1"]
                 [ring/ring-core "1.4.0"]
                 [ring/ring-codec "1.0.0"]]
  :plugins [[lein-codox "0.9.4"]]
  :codox
  {:output-path "codox"
   :metadata {:doc/format :markdown}
   :source-uri "http://github.com/weavejester/compojure/blob/{version}/{filepath}#L{line}"}
  :profiles
  {:dev {:jvm-opts ^:replace []
         :dependencies [[ring/ring-mock "0.3.0"]
                        [criterium "0.4.3"]
                        [javax.servlet/servlet-api "2.5"]]}
   :1.8 {:dependencies [[org.clojure/clojure "1.8.0"]]}})

Update Codox plugin to 0.9.4

Update Codox plugin to 0.9.4


(defproject moves-server "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :plugins [[lein-ring "0.8.11"]
            [lein-environ "1.0.0"]]
  :ring {:handler moves-server.core/app}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [ring/ring-core "1.3.2"]
                 [clj-http "1.1.2"]
                 [environ "1.0.0"]
                 [ring/ring-jetty-adapter "1.3.2"]])

(defproject moves-server "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :profiles {:uberjar {:aot :all}}
  :plugins [[lein-ring "0.8.11"]
            [lein-environ "1.0.0"]]
  :ring {:handler moves-server.core/app}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [ring/ring-core "1.3.2"]
                 [clj-http "1.1.2"]
                 [environ "1.0.0"]
                 [ring/ring-jetty-adapter "1.3.2"]])

Use ahead-of-time compilation for deployment


(defproject reiddraper/simple-check "0.1.1-SNAPSHOT"
  :description "A QuickCheck inspired property-based testing library."
  :url "http://github.com/reiddraper/simple-check"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.0"]]
  :plugins [[codox "0.6.4"]])

(defproject reiddraper/simple-check "0.2.0-SNAPSHOT"
  :description "A QuickCheck inspired property-based testing library."
  :url "http://github.com/reiddraper/simple-check"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.0"]]
  :plugins [[codox "0.6.4"]])

Prepare for 0.2.0 instead of 0.1.1

Prepare for 0.2.0 instead of 0.1.1


(defproject funcool/futura "0.2.0"
  :description "A basic building blocks for async programming."
  :url "https://github.com/funcool/futura"
  :license {:name "BSD (2 Clause)"
            :url "http://opensource.org/licenses/BSD-2-Clause"}
  :dependencies [[org.clojure/clojure "1.7.0-RC1" :scope "provided"]
                 [cats "0.4.0"]
                 [manifold "0.1.0"]
                 [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                 [org.reactivestreams/reactive-streams "1.0.0"]]
  :deploy-repositories {"releases" :clojars
                        "snapshots" :clojars}
  :source-paths ["src"]
  :test-paths ["test"]
  :jar-exclusions [#"\.swp|\.swo|user.clj"]
  :javac-options ["-target" "1.8" "-source" "1.8" "-Xlint:-options"]
  :profiles {:dev {:codeina {:sources ["src"]
                             :language :clojure
                             :output-dir "doc/api"}
                   :plugins [[funcool/codeina "0.1.0-SNAPSHOT"
                              :exclusions [org.clojure/clojure]]]}})

(defproject funcool/futura "0.2.0"
  :description "A basic building blocks for async programming."
  :url "https://github.com/funcool/futura"
  :license {:name "BSD (2 Clause)"
            :url "http://opensource.org/licenses/BSD-2-Clause"}
  :dependencies [[org.clojure/clojure "1.7.0-RC2" :scope "provided"]
                 [cats "0.4.0"]
                 [manifold "0.1.0"]
                 [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                 [org.reactivestreams/reactive-streams "1.0.0"]]
  :deploy-repositories {"releases" :clojars
                        "snapshots" :clojars}
  :source-paths ["src"]
  :test-paths ["test"]
  :jar-exclusions [#"\.swp|\.swo|user.clj"]
  :javac-options ["-target" "1.8" "-source" "1.8" "-Xlint:-options"]
  :profiles {:dev {:codeina {:sources ["src"]
                             :language :clojure
                             :output-dir "doc/api"}
                   :plugins [[funcool/codeina "0.1.0-SNAPSHOT"
                              :exclusions [org.clojure/clojure]]]}})

Update clojure to 1.7.0 rc2

Update clojure to 1.7.0 rc2


(defproject com.nomistech/clojure-the-language "0.1.0-SNAPSHOT"
  :dependencies [[cheshire "5.4.0"]
                 [com.climate/claypoole "1.1.4"]
                 [com.taoensso/timbre "4.8.0"]
                 [org.clojure/clojure "1.9.0"]
                 [org.clojure/core.async "0.3.442"]
                 [org.clojure/core.match "0.3.0-alpha4"]
                 [prismatic/schema "1.0.5"]
                 [slingshot "0.12.2"]]
  :repl-options {:init-ns user}
  :profiles {:dev {:dependencies [[org.clojure/tools.namespace "0.2.11"]
                                  [midje "1.7.0"]]
                   :source-paths ["dev"]
                   :plugins [[lein-midje "3.1.3"]]}})

(defproject com.nomistech/clojure-the-language "0.1.0-SNAPSHOT"
  :dependencies [[cheshire "5.4.0"]
                 [com.climate/claypoole "1.1.4"]
                 [com.taoensso/timbre "4.8.0"]
                 [org.clojure/clojure "1.9.0"]
                 [org.clojure/core.async "0.3.442"]
                 [org.clojure/core.match "0.3.0-alpha4"]
                 [prismatic/schema "1.0.5"]
                 [slingshot "0.12.2"]]
  :repl-options {:init-ns user}
  :profiles {:dev {:dependencies [[org.clojure/tools.namespace "0.2.11"]
                                  [midje "1.9.1"]]
                   :source-paths ["dev"]
                   :plugins [[lein-midje "3.2.1"]]}})

Upgrade to Midje 1.9.1 nd lein-midje 3.2.1


(defproject org.onyxplatform/onyx-sql "0.7.3-SNAPSHOT"
  :description "Onyx plugin for JDBC-backed SQL databases"
  :url "https://github.com/MichaelDrogalis/onyx-sql"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/java.jdbc "0.3.3"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.7.3-20150827_202930-g49ef67c"]
                 [java-jdbc/dsl "0.1.3"]
                 [com.mchange/c3p0 "0.9.2.1"]
                 [honeysql "0.5.1"]]
  :profiles {:dev {:dependencies [[midje "1.7.0"]
                                  [environ "1.0.0"]
                                  [mysql/mysql-connector-java "5.1.25"]]
                   :plugins [[lein-midje "3.1.3"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

(defproject org.onyxplatform/onyx-sql "0.7.3-SNAPSHOT"
  :description "Onyx plugin for JDBC-backed SQL databases"
  :url "https://github.com/MichaelDrogalis/onyx-sql"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/java.jdbc "0.3.3"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.7.3-20150828_152050-gd122e3e"]
                 [java-jdbc/dsl "0.1.3"]
                 [com.mchange/c3p0 "0.9.2.1"]
                 [honeysql "0.5.1"]]
  :profiles {:dev {:dependencies [[midje "1.7.0"]
                                  [environ "1.0.0"]
                                  [mysql/mysql-connector-java "5.1.25"]]
                   :plugins [[lein-midje "3.1.3"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

Update dependency org.onyxplatform/onyx to version 0.7.3-20150828_152050-gd122e3e.

Automatic commit by lein-traffic-control.


(defproject circleci "0.1.0-SNAPSHOT"
            :description "FIXME: write this!"
            :dependencies [[org.clojure/clojure "1.2.1"]
                           [noir "1.1.0"]
                           [enlive "1.0.0"]]
            :main circleci.server)

(defproject circleci "0.1.0-SNAPSHOT"
            :description "FIXME: write this!"
            :dependencies [[org.clojure/clojure "1.2.1"]
                           [noir "1.1.0"]
                           [enlive "1.0.0"]
                           [swank-clojure "1.3.2"]]
            :main circleci.server)

Add swank to deps, so we can use it on heroku


(defproject org.onyxplatform/onyx-datomic "0.10.0.0-alpha4"
  :description "Onyx plugin for Datomic"
  :url "https://github.com/onyx-platform/onyx-datomic"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :dependencies [[org.clojure/clojure "1.8.0"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.10.0-alpha4"]]
  :test-selectors {:default (complement :ci)
                   :ci :ci
                   :all (constantly true)}
  :profiles {:dev {:dependencies [[com.datomic/datomic-free "0.9.5544"]
                                  [aero "0.2.0"]]
                   :plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]
                   :resource-paths ["test-resources/"]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

(defproject org.onyxplatform/onyx-datomic "0.10.0.0-SNAPSHOT"
  :description "Onyx plugin for Datomic"
  :url "https://github.com/onyx-platform/onyx-datomic"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :repositories {"snapshots" {:url "https://clojars.org/repo"
                              :username :env
                              :password :env
                              :sign-releases false}
                 "releases" {:url "https://clojars.org/repo"
                             :username :env
                             :password :env
                             :sign-releases false}}
  :dependencies [[org.clojure/clojure "1.8.0"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.10.0-alpha4"]]
  :test-selectors {:default (complement :ci)
                   :ci :ci
                   :all (constantly true)}
  :profiles {:dev {:dependencies [[com.datomic/datomic-free "0.9.5544"]
                                  [aero "0.2.0"]]
                   :plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]
                   :resource-paths ["test-resources/"]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

Prepare for next release cycle.

Prepare for next release cycle.


(defproject padawan "0.1.0"
  :description "Multiplayer Clojure web REPL for teaching and learning"
  :url "http://github.com/mkremins/padawan"
  :license {:name "MIT License"
            :url "http://opensource.org/licenses/MIT"
            :distribution :repo}

  :dependencies
  [[org.clojure/clojure "1.6.0"]
   [org.clojure/data.json "0.2.4"]
   [compojure "1.1.6"]
   [http-kit "2.1.18"]
   [ring/ring-core "1.2.2"]]

  :profiles
  {:dev {:dependencies [[javax.servlet/servlet-api "2.5"]]}}

  :main padawan.core)

(defproject padawan "0.1.0"
  :description "Multiplayer Clojure web REPL for teaching and learning"
  :url "http://github.com/mkremins/padawan"
  :license {:name "MIT License"
            :url "http://opensource.org/licenses/MIT"
            :distribution :repo}

  :dependencies
  [[org.clojure/clojure "1.6.0"]
   [org.clojure/data.json "0.2.4"]
   [compojure "1.1.6"]
   [http-kit "2.1.18"]
   [javax.servlet/servlet-api "2.5"]
   [ring/ring-core "1.2.2"]]

  :main padawan.core)

Make javax.servlet/servlet-api a runtime dependency


(defproject com.hypirion/io "0.3.0-SNAPSHOT"
  :description "I/O classes in Java for those with specific needs."
  :url "https://github.com/hyPiRion/com.hypirion.io"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :source-paths []
  :java-source-paths ["src"])

(defproject com.hypirion/io "0.3.0-SNAPSHOT"
  :description "I/O classes in Java for those with specific needs."
  :url "https://github.com/hyPiRion/com.hypirion.io"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :source-paths []
  :java-source-paths ["src"]
  :deploy-branches ["stable"]
  :profiles
  {:dev {:plugins [[lein-shell "0.2.0"]]
         :aliases {"javadoc" ["shell" "javadoc" "-d" "0.3.0-SNAPSHOT"
                              "-sourcepath" "src/" "com.hypirion.io"]}}})

Add in javadoc alias, constrain deploy branches.