(ns ontrail.core
  (:use lamina.core
        aleph.http
        compojure.core)
  (:gen-class)
  (:require [compojure.route :as route]))

(require '[monger.collection :as mc])
(use 'ring.middleware.file)

(use '[clojure.data.json :only (read-json json-str)])

(use '[ontrail.summary])

(defn json-response [data & [status]]
  {:status (or status 200)
   :headers {"Content-Type" "application/json"}
   :body (json-str data)})

(defroutes app-routes
  "Routes requests to their handler function. Captures dynamic variables."
  (GET "/summary/:user" [user] (json-response (get-overall-summary user)))
  (route/resources "/")
  (route/not-found "Page not found"))

(defn -main [& args]
  "Main thread for the server which starts an async server with
  all the routes we specified and is websocket ready."
  (start-http-server (wrap-ring-handler app-routes)
                     {:host "localhost" :port 8080 :websocket true}))

(ns ontrail.core
  (:use lamina.core
        aleph.http
        compojure.core)
  (:gen-class)
  (:require [compojure.route :as route]))

(require '[monger.collection :as mc])
(use 'ring.middleware.file)
(use 'ring.middleware.cookies)
(use '[clojure.data.json :only (read-json json-str)])

(use '[ontrail.summary])

(defn json-response [data & [status authToken]]
  {:status (or status 200)
   :headers {"Content-Type" "application/json"}
   :cookies (if authToken {"authToken" authToken} {})
   :body (json-str data)})

(defroutes app-routes
  "Routes requests to their handler function. Captures dynamic variables."
  (GET "/summary/:user" [user] (json-response (get-overall-summary user)))
  (route/resources "/")
  (route/not-found "Page not found"))

(defn -main [& args]
  "Main thread for the server which starts an async server with
  all the routes we specified and is websocket ready."
  (start-http-server (-> app-routes
                       wrap-cookies
                       wrap-ring-handler)
                     {:host "localhost" :port 8080 :websocket true}))

Add cookies to the response when specified


(ns picard.log4j.CommonLogFormatLayout
  (:import
   [java.util
    Date]
   [java.text
    SimpleDateFormat]
   [org.apache.log4j
    Level
    Logger
    Layout]
   [org.apache.log4j.spi
    LoggingEvent])
  (:gen-class
   :extends org.apache.log4j.Layout))

(def commons-date-formatter (SimpleDateFormat. "dd/MMM/yyyy:kk:mm:ss Z"))

(defn format-commons-logging
  [request timestamp]
  (let [request-date (Date. (long timestamp))
        request-time-string (.format commons-date-formatter request-date)]
    (format "%s - - [%s] \"%s %s HTTP/%d.%d\" %d %d\n"
            (first (:remote-addr request ))
            request-time-string
            (:request-method request)
            (:path-info request)
            (first (:http-version request))
            (second (:http-version request))
            (:response-status request)
            (:response-body-size request))))

(defn -format
  [this ^LoggingEvent logging-event]
  (format-commons-logging
   (.getMessage logging-event)
   (.getTimeStamp logging-event)))

(defn -ignoresThrowable [_] true)
(defn -activateOptions [_])

(ns picard.log4j.CommonLogFormatLayout
  (:use [picard.helpers :only [request-url]])
  (:import
   [java.util
    Date]
   [java.text
    SimpleDateFormat]
   [org.apache.log4j
    Level
    Logger
    Layout]
   [org.apache.log4j.spi
    LoggingEvent])
  (:gen-class
   :extends org.apache.log4j.Layout))

(def commons-date-formatter (SimpleDateFormat. "dd/MMM/yyyy:kk:mm:ss Z"))

(defn format-commons-logging
  [request timestamp]
  (let [request-date (Date. (long timestamp))
        request-time-string (.format commons-date-formatter request-date)]
    (format "%s - - [%s] \"%s %s HTTP/%d.%d\" %d %d\n"
            (first (:remote-addr request ))
            request-time-string
            (:request-method request)
            ;; TODO: maybe change api of request-url to only take headers?
            (request-url [request])
            (first (:http-version request))
            (second (:http-version request))
            (:response-status request)
            (:response-body-size request))))

(defn -format
  [this ^LoggingEvent logging-event]
  (format-commons-logging
   (.getMessage logging-event)
   (.getTimeStamp logging-event)))

(defn -ignoresThrowable [_] true)
(defn -activateOptions [_])

Add full URL to request log

Add full URL to request log


(ns clj-record.test.model.config)

(comment)
(def db {:classname "org.apache.derby.jdbc.EmbeddedDriver"
         :subprotocol "derby"
         :subname "/tmp/clj-record.test.db"
         :create true})

(comment
  (def db {:classname "org.postgresql.Driver"
           :subprotocol "postgresql"
           :subname "//localhost:5432/test"
           :user "user"
           :password "pass"}))

(comment
  (def db {:classname "com.mysql.jdbc.Driver"
           :subprotocol "mysql"
           :user "root"
           :password "root"
           :subname "//localhost/test"}))

(ns clj-record.test.model.config)

(comment
  (def db {:classname "org.apache.derby.jdbc.EmbeddedDriver"
	   :subprotocol "derby"
	   :subname "/tmp/clj-record.test.db"
	   :create true}))

(comment
  (def db {:classname "org.postgresql.Driver"
           :subprotocol "postgresql"
           :subname "//localhost:5432/test"
           :user "user"
           :password "pass"}))

(comment)
(def db {:classname "com.mysql.jdbc.Driver"
	 :subprotocol "mysql"
         :user "root"
         :password "root"
         :subname "//localhost/test"})

Switch from 'mysql-test' to 'master'

Switch from 'mysql-test' to 'master'


(ns github-changelog.util
  (:require [clojure.string :refer [join ends-with?]]))

(defn str-map [f & sqs] (join (apply map f sqs)))

(defn extract-params [query-string]
  (into {} (for [[_ k v] (re-seq #"([^&=]+)=([^&]+)" query-string)]
             [(keyword k) v])))

(defn strip-trailing
  ([s] (strip-trailing s "/"))
  ([s end]
   (if (ends-with? s end)
     (recur (join (drop-last s)) end)
     s)))

(ns github-changelog.util
  (:require [clojure.string :refer [ends-with?]]))

(defn str-map [f & sqs] (apply str (apply map f sqs)))

(defn extract-params [query-string]
  (into {} (for [[_ k v] (re-seq #"([^&=]+)=([^&]+)" query-string)]
             [(keyword k) v])))

(defn strip-trailing
  ([s] (strip-trailing s "/"))
  ([s end]
   (if (ends-with? s end)
     (recur (apply str (drop-last s)) end)
     s)))

Use apply str instead of join

Use apply str instead of join

See http://stackoverflow.com/questions/11395691/concatenation-of-the-strings-vector-in-clojure#comment51374914_11395733


(set-env!
 :source-paths #{"src/main/java" "src/test/java"}
 :dependencies '[[junit "4.12" :scope "test"]])

(def +version+ "0.1.0")

(task-options!
 pom {:project 'http-server
      :version +version+
      :description "A Java HTTP server."
      :url "https://github.com/RadicalZephyr/http-server"
      :scm {:url "https://github.com/RadicalZephyr/http-server.git"}
      :licens {"MIT" "http://opensource.org/licenses/MIT"}})

(require 'clojure.set)

(deftask junit
  "Run the jUnit test runner."
  []
  (with-pre-wrap fileset
    fileset))

(deftask test
  "Compile and run my jUnit tests."
  []
  (comp (javac)
        (junit)))

(deftask build
  "Build my http server."
  []
  (comp (javac)
        (pom)
        (jar)))

(set-env!
 :source-paths #{"src/main/java" "src/test/java"}
 :dependencies '[[radicalzephyr/boot-junit "0.1.0" :scope "test"]])

(def +version+ "0.1.0")

(require '[radicalzephyr.boot-junit :refer [junit]])

(task-options!
 pom {:project 'http-server
      :version +version+
      :description "A Java HTTP server."
      :url "https://github.com/RadicalZephyr/http-server"
      :scm {:url "https://github.com/RadicalZephyr/http-server.git"}
      :licens {"MIT" "http://opensource.org/licenses/MIT"}}
 junit {:packages '#{net.zephyrizing.http_server}})

(deftask test
  "Compile and run my jUnit tests."
  []
  (comp (javac)
        (junit)))

(deftask build
  "Build my http server."
  []
  (comp (javac)
        (pom)
        (jar)))

Switch to using the separate boot junit runner


(ns comic-reader.dev
  (:require [clojure.repl :refer :all]
            [clojure.tools.namespace.repl :refer [clear refresh]]
            [clansi.core :refer [style]]))

(declare doc-print goto-ns)

(defn welcome []
  (doc-print
   "Welcome to the comic reader. If you want to add a new site,
  run `(add-site)'.  If you want to work on the frontend,
  run `(develop-frontend)'."))

(defn add-site []
  (doc-print
   "Start by running the tests with `(run-site-tests)'. All the tests
  should pass. Now add a new site definition file and run the tests
  again.

  Follow the instructions in the test errors, and hopefully you'll end
  up with a working site scraper.")
  (goto-ns 'comic-reader.site-dev))

(defn develop-frontend []
  (doc-print
   "To get started run `(start-dev!)'.  This will kick off the
  application server, and the figwheel devcard build.")
  (goto-ns 'comic-reader.frontend-dev))

(defn- doc-print [msg]
  (println " " msg))

(defn- goto-ns [ns]
  (require ns)
  (in-ns ns))

(defn attempt-server-shutdown []
  (require 'comic-reader.system)
  (if-let [stop-fn (find-var 'comic-reader.system/stop)]
    (stop-fn)))

Add function to attempt graceful server shutdown


(ns rill.event-store.atom-store
  "This is an event store implementation using the GetEventstore.com store as a backend.

Code originally taken from https://github.com/jankronquist/rock-paper-scissors-in-clojure/tree/master/eventstore/src/com/jayway/rps
"
  (:require [clojure.tools.logging :as log]
            [rill.event-store :refer [EventStore]]
            [rill.event-store.atom-store.cursor :as cursor]
            [rill.event-store.atom-store.event :as event]
            [rill.event-stream :refer [all-events-stream-id]]
            [rill.message :as msg]))

(defn client-opts
  [user password]
  (if (and user password)
    {:basic-auth [user password]}))

(deftype AtomStore [uri user password]
  EventStore
  (retrieve-events-since [_ stream-id cursor wait-for-seconds]
    (cursor/event-seq (if (= -1 cursor)
                        (cursor/first-cursor uri (if (= all-events-stream-id stream-id)
                                                   "%24all"
                                                   stream-id)
                                             (client-opts user password))
                        (cursor/next-cursor cursor))
                      wait-for-seconds))
  (append-events [_ stream-id from-version events]
    (event/post uri stream-id from-version events (client-opts user password))))

(defn atom-event-store
  [uri & [opts]]
  (->AtomStore uri (:user opts) (:password opts)))

(ns rill.event-store.atom-store
  "This is an event store implementation using the GetEventstore.com store as a backend.

Code originally taken from https://github.com/jankronquist/rock-paper-scissors-in-clojure/tree/master/eventstore/src/com/jayway/rps
"
  (:require [clojure.tools.logging :as log]
            [rill.event-store :refer [EventStore]]
            [rill.event-store.atom-store.cursor :as cursor]
            [rill.event-store.atom-store.event :as event]
            [rill.event-stream :refer [all-events-stream-id]]
            [rill.message :as msg]))

(defn client-opts
  [user password]
  {:pre [user password]}
  (if (and user password)
    {:basic-auth [user password]}))

(deftype AtomStore [uri user password]
  EventStore
  (retrieve-events-since [_ stream-id cursor wait-for-seconds]
    (cursor/event-seq (if (= -1 cursor)
                        (cursor/first-cursor uri (if (= all-events-stream-id stream-id)
                                                   "%24all"
                                                   stream-id)
                                             (client-opts user password))
                        (cursor/next-cursor cursor))
                      wait-for-seconds))
  (append-events [_ stream-id from-version events]
    (event/post uri stream-id from-version events (client-opts user password))))

(defn atom-event-store
  [uri & [{:keys [user password]}]]
  {:pre [user password uri]}
  (->AtomStore uri user password))

Enforce login code for atom-event-store

Enforce login code for atom-event-store


(defproject mkremins/flense-nw "0.0-SNAPSHOT"
  :dependencies
  [[org.clojure/clojure "1.6.0"]
   [org.clojure/clojurescript "0.0-2665"]
   [org.clojure/core.async "0.1.346.0-17112a-alpha"]
   [com.facebook/react "0.12.2.1"]
   [org.om/om "0.8.0"]
   [spellhouse/phalanges "0.1.4"]
   [mkremins/flense "0.0-SNAPSHOT"]
   [mkremins/fs "0.3.0"]]

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

  :source-paths ["src"]

  :cljsbuild
  {:builds
   [{:source-paths ["src"]
     :compiler {:preamble ["react/react.js"]
                :output-to "target/flense.js"
                :source-map "target/flense.js.map"
                :optimizations :whitespace
                :pretty-print true}}]})

(defproject mkremins/flense-nw "0.0-SNAPSHOT"
  :dependencies
  [[org.clojure/clojure "1.6.0"]
   [org.clojure/clojurescript "0.0-2727"]
   [org.clojure/core.async "0.1.346.0-17112a-alpha"]
   [org.omcljs/om "0.8.4"]
   [spellhouse/phalanges "0.1.4"]
   [mkremins/flense "0.0-SNAPSHOT"]
   [mkremins/fs "0.3.0"]]

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

  :cljsbuild
  {:builds
   [{:source-paths ["src"]
     :compiler {:main flense-nw.app
                :output-to "target/flense.js"
                :source-map "target/flense.js.map"
                :optimizations :none}}]})

Clean up dependencies and build options

Clean up dependencies and build options

* Don't depend directly on React (pulled in via Om)
* Bump ClojureScript to 0.0-2727
* Bump Om to 0.8.4
* Drop :preamble (made unnecessary by latest CLJS)
* Use :optimizations :none to improve compile times


;; Copyright © 2014 JUXT LTD.

(defproject cylon "0.4.0"
  :description "An integrated security system for applications built on component"
  :url "https://github.com/juxt/cylon"
  :license {:name "The MIT License"
            :url "http://opensource.org/licenses/MIT"}
  :dependencies [[juxt.modular/bidi "0.5.0"]
                 [juxt.modular/ring "0.5.0"]
                 [prismatic/schema "0.2.1"]
                 [ring/ring-core "1.2.2"]

                 [hiccup "1.0.5"]
                 [org.clojure/tools.logging "0.2.6"]

                 ;; Required for OAuth2 support
                 [cheshire "5.3.1"]
                 [juxt.modular/http-kit "0.5.1"]
                 [liberator "0.11.0"]
                 ]

  :profiles {:dev {:dependencies [[org.clojure/clojure "1.6.0"]]}})

;; Copyright © 2014 JUXT LTD.

(defproject cylon "0.4.0-SNAPSHOT"
  :description "An integrated security system for applications built on component"
  :url "https://github.com/juxt/cylon"
  :license {:name "The MIT License"
            :url "http://opensource.org/licenses/MIT"}
  :dependencies [[juxt.modular/bidi "0.5.0"]
                 [juxt.modular/ring "0.5.0"]
                 [prismatic/schema "0.2.1"]
                 [ring/ring-core "1.2.2"]

                 [hiccup "1.0.5"]
                 [org.clojure/tools.logging "0.2.6"]

                 ;; Required for OAuth2 support
                 [cheshire "5.3.1"]
                 [juxt.modular/http-kit "0.5.1"]
                 [liberator "0.11.0"]
                 ]

  :profiles {:dev {:dependencies [[org.clojure/clojure "1.6.0"]]}})

Move to 0.4.0-SNAPSHOT to prepare for eventual release


(defproject onyx-app/lein-template "0.13.3.0-alpha4"
  :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.3.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 onyx-app/lein-template "0.11.0.0-alpha5"
  :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.11.0.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 inet.data "0.2.0-SNAPSHOT"
  :description "Represent and manipulate various Internet entities as data."
  :url "http://github.com/llasram/inet.data"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [hier-set "1.1.1"]]
  :plugins [[lein-ragel "0.1.0"]]
  :source-paths ["src/clojure"]
  :java-source-paths ["src/java" "target/ragel"]
  :ragel-source-paths ["src/ragel"]
  :javac-options ["-g"]
  :prep-tasks [ragel javac]
  :profiles {:dev {:dependencies [[byteable "0.1.1"]]
                   :warn-on-reflection true}})

(defproject inet.data "0.2.0-SNAPSHOT"
  :description "Represent and manipulate various Internet entities as data."
  :url "http://github.com/llasram/inet.data"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [hier-set "1.1.1"]]
  :plugins [[lein-ragel "0.1.0"]]
  :source-paths ["src/clojure"]
  :java-source-paths ["src/java" "target/ragel"]
  :ragel-source-paths ["src/ragel"]
  :javac-options ["-g"]
  :prep-tasks [ragel javac]
  :profiles {:dev {:dependencies [[byteable "0.2.0"]]
                   :warn-on-reflection true}})

Update to most recent version of byteable.


(defproject dungeon-crusade "0.0.1-SNAPSHOT"
  :description "dungeon-crusade"
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [ns-tracker "0.2.2"]
                 [org.clojure/math.combinatorics "0.0.7"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [org.clojars.vishk/algotools "0.1.0"]
                 [clj-tiny-astar "0.1.0-SNAPSHOT"]
                 [org.clojars.folcon/clojure-lanterna "0.9.5-SNAPSHOT"]]
  :main dungeon-crusade.core
  :repl-init dungeon-crusade.main)

(defproject dungeon-crusade "0.0.1-SNAPSHOT"
  :description "dungeon-crusade"
  :plugins      [[lein-marginalia "0.7.1"]]
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [ns-tracker "0.2.2"]
                 [org.clojure/math.combinatorics "0.0.7"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [org.clojars.vishk/algotools "0.1.0"]
                 [clj-tiny-astar "0.1.0-SNAPSHOT"]
                 [org.clojars.folcon/clojure-lanterna "0.9.5-SNAPSHOT"]]
  :main dungeon-crusade.core
  :repl-init dungeon-crusade.main)

Add marginalia support to lein

Add marginalia support to lein


;
;  (C) Copyright 2016  Pavel Tisnovsky
;
;  All rights reserved. This program and the accompanying materials
;  are made available under the terms of the Eclipse Public License v1.0
;  which accompanies this distribution, and is available at
;  http://www.eclipse.org/legal/epl-v10.html
;
;  Contributors:
;      Pavel Tisnovsky
;

(defproject clj-mrazik "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.7.0"]
                   [irclj "0.5.0-alpha4"]
                   [clojure-ini "0.0.1"]
                   [org.clojars.tisnik/clj-calendar "0.1.0-SNAPSHOT"]]
    :main ^:skip-aot clj-mrazik.core
    :target-path "target/%s"
    :plugins [[test2junit "1.1.0"]
              [codox "0.8.11"]
              [lein-cloverage "1.0.6"]]
    :profiles {:uberjar {:aot :all}})

;
;  (C) Copyright 2016  Pavel Tisnovsky
;
;  All rights reserved. This program and the accompanying materials
;  are made available under the terms of the Eclipse Public License v1.0
;  which accompanies this distribution, and is available at
;  http://www.eclipse.org/legal/epl-v10.html
;
;  Contributors:
;      Pavel Tisnovsky
;

(defproject clj-mrazik "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.7.0"]
                   [irclj "0.5.0-alpha4"]
                   [clojure-ini "0.0.1"]
                   [sunrise "0.1.0"]
                   [org.clojars.tisnik/clj-calendar "0.2.0-SNAPSHOT"]]
    :main ^:skip-aot clj-mrazik.core
    :target-path "target/%s"
    :plugins [[test2junit "1.1.0"]
              [codox "0.8.11"]
              [lein-cloverage "1.0.6"]]
    :profiles {:uberjar {:aot :all}})

Bump up calendar version and add sunrise library


; Copyright 2009 Howard M. Lewis Ship
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;   http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
; implied. See the License for the specific language governing permissions
; and limitations under the License.

(ns #^{:doc "Wrappers around Simple Logging Facade for Java (SLF4J)"}
  cascade.logging
  (:import (org.slf4j LoggerFactory Logger)))

(defn #^Logger get-logger [#^String name]
  (LoggerFactory/getLogger name))

(defmacro log*
  [check-fn log-fn fmt & args]
  (let [logger-name (name (ns-name *ns*))]
    `(let [logger# (get-logger ~logger-name)]
      (and
        (. logger# ~check-fn)
        (. logger# ~log-fn (format ~fmt ~@args))))))

(defmacro debug
  [fmt & args]
  `(log* isDebugEnabled debug ~fmt ~@args))

(defmacro info
  [fmt & args]
  `(log* isInfoEnabled info ~fmt ~@args))

(defmacro error
  [fmt & args]
  `(log* isErrorEnabled error ~fmt ~@args))

; Copyright 2009 Howard M. Lewis Ship
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;   http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
; implied. See the License for the specific language governing permissions
; and limitations under the License.

(ns #^{:doc "Wrappers around Simple Logging Facade for Java (SLF4J)"}
  cascade.logging
  (:import (org.slf4j LoggerFactory Logger)))

(defn #^Logger get-logger [#^String name]
  (LoggerFactory/getLogger name))

(defmacro log*
  [check-member log-member fmt & args]
  (let [logger-name (name (ns-name *ns*))]
    `(let [logger# (get-logger ~logger-name)]
      (and
        (. logger# ~check-member)
        (. logger# ~log-member (format ~fmt ~@args))))))

(defmacro debug
  [fmt & args]
  `(log* isDebugEnabled debug ~fmt ~@args))

(defmacro info
  [fmt & args]
  `(log* isInfoEnabled info ~fmt ~@args))

(defmacro error
  [fmt & args]
  `(log* isErrorEnabled error ~fmt ~@args))

Rename parameters to log* function

Rename parameters to log* function


(set-env!
 :source-paths #{"src"}
 :dependencies '[[org.clojure/clojure "1.6.0"      :scope "provided"]
                 [boot/core           "2.0.0-rc12" :scope "provided"]])

(def +version+ "0.1.0")

(task-options!
 pom  {:project     'radicalzephyr/boot-junit
       :version     +version+
       :description "Run some jUnit tests in boot!"
       :url         "https://github.com/radicalzephyr/boot-junit"
       :scm         {:url "https://github.com/radicalzephyr/boot-junit"}
       :license     {"Eclipse Public License"
                     "http://www.eclipse.org/legal/epl-v10.html"}})

(set-env!
 :source-paths #{"src"}
 :dependencies '[[org.clojure/clojure  "1.6.0"      :scope "provided"]
                 [boot/core            "2.0.0-rc12" :scope "provided"]
                 [junit                "4.12"       :scope "provided"]])

(def +version+ "0.1.0")

(task-options!
 pom  {:project     'radicalzephyr/boot-junit
       :version     +version+
       :description "Run some jUnit tests in boot!"
       :url         "https://github.com/radicalzephyr/boot-junit"
       :scm         {:url "https://github.com/radicalzephyr/boot-junit"}
       :license     {"Eclipse Public License"
                     "http://www.eclipse.org/legal/epl-v10.html"}})

Add jUnit as a dependency

Add jUnit as a dependency


(ns drum-machine.state)

(def initial-state
  {:tracks
   [{:name "Kick"
     :source "http://sampleswap.org/samples-ghost/DRUMS%20and%20SINGLE%20HITS/kicks/61[kb]bass-kickers-2.wav.mp3"
     :play-on [1 3]
     :volume 1.0}
    {:name "Snare"
     :source "http://sampleswap.org/samples-ghost/DRUMS%20and%20SINGLE%20HITS/snares/57[kb]acoustic_snare.aif.mp3"
     :play-on [2 4]
     :volume 1.0}
    {:name "Hi-Hat"
     :source "http://sampleswap.org/samples-ghost/DRUMS%20and%20SINGLE%20HITS/hats/29[kb]909-squoosh-hat.aif.mp3"
     :play-on [1 2 3 4]
     :volume 0.1}]})

(ns drum-machine.state)

(def initial-state
  {:tracks
   [{:name "Kick"
     :source "http://sampleswap.org/samples-ghost/DRUMS%20and%20SINGLE%20HITS/kicks/61[kb]bass-kickers-2.wav.mp3"
     :play-on [1]
     :volume 1.0}
    {:name "Snare"
     :source "http://sampleswap.org/samples-ghost/DRUMS%20and%20SINGLE%20HITS/snares/57[kb]acoustic_snare.aif.mp3"
     :play-on [3]
     :volume 1.0}
    {:name "Hi-Hat"
     :source "http://sampleswap.org/samples-ghost/DRUMS%20and%20SINGLE%20HITS/hats/29[kb]909-squoosh-hat.aif.mp3"
     :play-on [1 2 3 4]
     :volume 0.1}]})

Change the default drum beat ;)

Change the default drum beat ;)


(ns postal.smtp
  (:use [postal.message :only [make-jmessage]]
        [postal.support :only [make-props]])
  (:import [javax.mail Transport Session]))

(defn smtp-send
  ([msg]
     (let [jmsg (make-jmessage msg)]
       (try
         (Transport/send jmsg)
         {:code 0 :error :SUCCESS :message "message sent"}
         (catch Exception e
           {:code 99 :error (class e) :message (.getMessage e)}))))
  ([auth-map & msgs]
     (let [{:keys [host port user pass sender] :or {host "localhost"
                                                    port 25}}
           auth-map
           session (doto (Session/getInstance (make-props sender auth-map))
                     (.setDebug false))]
       (with-open [transport (.getTransport session (if (and user pass)
                                                      "smtps"
                                                      "smtp"))]
         (.connect transport host port (str user) (str pass))
         (let [jmsgs (map #(make-jmessage % session) msgs)]
           (doseq [jmsg jmsgs]
             (.sendMessage transport jmsg (.getAllRecipients jmsg)))
           {:code 0 :error :SUCCESS :message "messages sent"})))))

(ns postal.smtp
  (:use [postal.message :only [make-jmessage]]
        [postal.support :only [make-props]])
  (:import [javax.mail Transport Session]))

(defn smtp-send
  ([msg]
     (let [jmsg (make-jmessage msg)]
       (try
         (Transport/send jmsg)
         {:code 0 :error :SUCCESS :message "message sent"}
         (catch Exception e
           {:code 99 :error (class e) :message (.getMessage e)}))))
  ([auth-map & msgs]
     (let [{:keys [host port
                   user pass
                   sender ssl] :or {host "localhost"}}
           auth-map
           port (if (not port)
                  (if ssl 465 25))
           protocol (if ssl "smtps" "smtp")
           session (doto (Session/getInstance (make-props sender auth-map))
                     (.setDebug false))]
       (with-open [transport (.getTransport session (if ssl "smtps" "smtp"))]
         (.connect transport host port (str user) (str pass))
         (let [jmsgs (map #(make-jmessage % session) msgs)]
           (doseq [jmsg jmsgs]
             (.sendMessage transport jmsg (.getAllRecipients jmsg)))
           {:code 0 :error :SUCCESS :message "messages sent"})))))

Tweak ssl/tls settings for better defaults and more flexibility.


(ns bartleby.db)

(def default-db
  "Default state"
  {:tasks []})

(ns bartleby.db)

(def default-db
  "Default state"
  {:rest ""
   :tasks []})

Add a flag to show the query status

Add a flag to show the query status


(defproject onyx-app/lein-template "0.8.11.7"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :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}}
  :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.8.11.8-SNAPSHOT"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :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}}
  :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 org.onyxplatform/onyx-kafka "0.7.3-SNAPSHOT"
  :description "Onyx plugin for Kafka"
  :url "https://github.com/MichaelDrogalis/onyx-kafka"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.7.3-20150822_210824-ga0dc570"]
                 [clj-kafka "0.2.8-0.8.1.1" :exclusions [org.apache.zookeeper/zookeeper zookeeper-clj]]
                 [cheshire "5.4.0"]
                 [zookeeper-clj "0.9.1" :exclusions [io.netty/netty org.apache.zookeeper/zookeeper]]]
  :profiles {:dev {:dependencies [[midje "1.7.0" :exclusions [commons-codec]]]
                   :plugins [[lein-midje "3.1.3"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

(defproject org.onyxplatform/onyx-kafka "0.7.3-SNAPSHOT"
  :description "Onyx plugin for Kafka"
  :url "https://github.com/MichaelDrogalis/onyx-kafka"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.7.3-20150821_215046-g67feccf"]
                 [clj-kafka "0.2.8-0.8.1.1" :exclusions [org.apache.zookeeper/zookeeper zookeeper-clj]]
                 [cheshire "5.4.0"]
                 [zookeeper-clj "0.9.1" :exclusions [io.netty/netty org.apache.zookeeper/zookeeper]]]
  :profiles {:dev {:dependencies [[midje "1.7.0" :exclusions [commons-codec]]]
                   :plugins [[lein-midje "3.1.3"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

Revert "Test commit from core to Kafka."

This reverts commit d89b02933cb282997ad7b890131599ccd9b4b18c.

[ci skip]


(defproject org.onyxplatform/onyx-datomic "0.10.0.0-beta1"
  :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-beta1"]]
  :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-beta1"]]
  :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 lein-jslint "0.1.5-SNAPSHOT"
  :description "A Leiningen plugin for running JS code through JSLint."
  :url "https://github.com/vbauer/lein-jslint"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}

  :dependencies [[org.clojure/clojure "1.6.0"]
                 [clj-glob "1.0.0" :exclusions [org.clojure/clojure]]
                 [lein-npm "0.4.0" :exclusions [org.clojure/clojure]]]

  :plugins [[jonase/eastwood "0.1.4" :exclusions [org.clojure/clojure]]
            [lein-release "1.0.5" :exclusions [org.clojure/clojure]]
            [lein-kibit "0.0.8" :exclusions [org.clojure/clojure]]
            [lein-bikeshed "0.1.7" :exclusions [org.clojure/clojure]]
            [lein-ancient "0.5.5"]]

  :eval-in-leiningen true
  :pedantic? :abort

  :local-repo-classpath true
  :lein-release {:deploy-via :clojars
                 :scm :git})

(defproject lein-jslint "0.1.5-SNAPSHOT"
  :description "A Leiningen plugin for running JS code through JSLint."
  :url "https://github.com/vbauer/lein-jslint"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}

  :dependencies [[org.clojure/clojure "1.6.0"]
                 [clj-glob "1.0.0" :exclusions [org.clojure/clojure]]
                 [lein-npm "0.4.0" :exclusions [org.clojure/clojure]]]

  :plugins [[jonase/eastwood "0.1.4" :exclusions [org.clojure/clojure]]
            [lein-release "1.0.6" :exclusions [org.clojure/clojure]]
            [lein-kibit "0.0.8" :exclusions [org.clojure/clojure]]
            [lein-bikeshed "0.1.8" :exclusions [org.clojure/clojure]]
            [lein-ancient "0.5.5"]]

  :eval-in-leiningen true
  :pedantic? :abort

  :local-repo-classpath true
  :lein-release {:deploy-via :clojars
                 :scm :git})

Update lein-release & lein-bikeshed plugins


(defproject onyx-app/lein-template "0.9.13.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.9.13.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.


(ns pict-source.index
  (:require [hiccup.page :refer [html5]]))

;;;; Index page template

(defn page [dictionaries]
  [:div {:class "content"}
   (for [dict-row (partition-all 3 dictionaries)]
     [:div {:class "row"}
      (for [dict dict-row]
      [:div {:class "four columns"}
       [:h2
        [:a {:href (str "/" (:lang dict) "/")} (:lang dict)]]
       [:p (:description dict)]
       [:p (str (:words-count dict) " words")]])])])

(ns pict-source.index
  (:require [hiccup.page :refer [html5]]))

;;;; Index page template

(defn page [dictionaries]
  [:div {:class "content"}
   [:div {:class "row"}
    [:div {:class "twelve column"}
     [:p
      "The programmers open dictionary from programmers for culture of using your own spoken language."
      " I highly encourage you to "
      [:a {:href "https://github.com/shvetsovdm/pict-source"} "contribute to dictionaries and to the project"]
      "."]]]
   (for [dict-row (partition-all 3 dictionaries)]
     [:div {:class "row"}
      (for [dict dict-row]
      [:div {:class "four columns"}
       [:h2
        [:a {:href (str "/" (:lang dict) "/")} (:lang dict)]]
       [:p (:description dict)]
       [:p (str (:words-count dict) " words")]])])])

Add description on main page

Add description on main page


(ns webdev.core-test
  (:require [clojure.test :refer :all]
            [webdev.core :refer [app]]
            [ring.mock.request :as mock]))

(deftest routes
  (testing "/items"
    (let [response (app (mock/request :get "/items"))]
      (is (= 200 (:status response)))))

  (testing "not found"
    (let [response (app (mock/request :get "/no-such-route"))]
      (is (= 404 (:status response))))))

(ns webdev.core-test
  (:require [clojure.test :refer :all]
            [webdev.core :refer [app]]
            [webdev.item.model :as model]
            [ring.mock.request :as mock]))

(defn db-fixture [f]
  (model/create-table "jdbc:postgresql://localhost/webdev")
  (f))

(use-fixtures :once db-fixture)

(deftest routes
  (testing "/items"
    (let [response (app (mock/request :get "/items"))]
      (is (= 200 (:status response)))))

  (testing "not found"
    (let [response (app (mock/request :get "/no-such-route"))]
      (is (= 404 (:status response))))))

Create database fixture for tests.

Create database fixture for tests.


(defproject shrimp "0.1.0-SNAPSHOT"
            :description "Demo project for Goby."
            :dependencies [[org.clojure/clojure "1.6.0"]
                           [org.clojure/clojurescript "0.0-2371"]
                           [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                           [weasel "0.4.0-SNAPSHOT"]]
            :plugins [[lein-cljsbuild "1.0.3"]
                      [jarohen/simple-brepl "0.1.1"]]
            :source-paths ["goby-src"
                           "src"]
            :brepl {:ip "127.0.0.1"}
            :cljsbuild {:builds {:dev
                                  {:source-paths ["goby-src"
                                                  "src"
                                                  "dev-src"]
                                   :compiler     {:output-to     "js/main.js"
                                                  :optimizations :whitespace
                                                  :static-fns    false
                                                  :externs       ["goby-externs.js" "externs.js"]
                                                  :pretty-print  true}}
                                 :rel
                                  {:source-paths ["goby-src"
                                                  "src"
                                                  "rel-src"]
                                   :compiler     {:output-to     "js/main.js"
                                                  :optimizations :advanced
                                                  :static-fns    true
                                                  :externs       ["goby-externs.js" "externs.js"]
                                                  :pretty-print  false
                                                  :pseudo-names  false}}}})

(defproject shrimp "0.1.0-SNAPSHOT"
            :description "Demo project for Goby."
            :dependencies [[org.clojure/clojure "1.6.0"]
                           [org.clojure/clojurescript "0.0-2511"]
                           [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                           [weasel "0.4.2"]]
            :plugins [[lein-cljsbuild "1.0.3"]
                      [jarohen/simple-brepl "0.1.2"]]
            :source-paths ["goby-src"
                           "src"]
            :brepl {:ip "127.0.0.1"}
            :cljsbuild {:builds {:dev
                                  {:source-paths ["goby-src"
                                                  "src"
                                                  "dev-src"]
                                   :compiler     {:output-to     "js/main.js"
                                                  :optimizations :whitespace
                                                  :static-fns    false
                                                  :externs       ["goby-externs.js" "externs.js"]
                                                  :pretty-print  true}}
                                 :rel
                                  {:source-paths ["goby-src"
                                                  "src"
                                                  "rel-src"]
                                   :compiler     {:output-to     "js/main.js"
                                                  :optimizations :advanced
                                                  :static-fns    true
                                                  :externs       ["goby-externs.js" "externs.js"]
                                                  :pretty-print  false
                                                  :pseudo-names  false}}}})

Update to latest releases of ClojureScript, Weasel, and simple-brepl.


(defproject onyx-app/lein-template "0.8.11.1"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :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}}
  :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.8.11.2-SNAPSHOT"
  :description "Onyx Leiningen application template"
  :url "https://github.com/onyx-platform/onyx-template"
  :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}}
  :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 reply "0.1.0-SNAPSHOT"
  :description "REPL-y: A fitter, happier, more productive REPL for Clojure."
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [jline "2.7"]
                 [org.thnetos/cd-client "0.3.4"]
                 [clj-stacktrace "0.2.4"]
                 [org.clojure/tools.nrepl "0.2.0-beta7"]
                 [com.cemerick/drawbridge "0.0.3"]
                 [clojure-complete "0.2.1"]]
  :profiles {:dev {:dependencies
                    [[midje "1.3-alpha4" :exclusions [org.clojure/clojure]]
                     [lein-midje "[1.0.0,)"]]}}
  :dev-dependencies [[midje "1.3-alpha4" :exclusions [org.clojure/clojure]]
                     [lein-midje "[1.0.0,)"]]
  :aot [reply.reader.jline.JlineInputReader]
  :source-path "src/clj"
  :java-source-path "src/java"
  :source-paths ["src/clj"]
  :java-source-paths ["src/java"]
  :main ^{:skip-aot true} reply.main)

(let [dev-deps '[[midje "1.3-alpha4" :exclusions [org.clojure/clojure]]]]

  (defproject reply "0.1.0-SNAPSHOT"
    :description "REPL-y: A fitter, happier, more productive REPL for Clojure."
    :dependencies [[org.clojure/clojure "1.3.0"]
                   [jline "2.7"]
                   [org.thnetos/cd-client "0.3.4"]
                   [clj-stacktrace "0.2.4"]
                   [org.clojure/tools.nrepl "0.2.0-beta7"]
                   [com.cemerick/drawbridge "0.0.3"]
                   [clojure-complete "0.2.1"]]
    :profiles {:dev {:dependencies ~dev-deps}}
    :dev-dependencies ~dev-deps
    :aot [reply.reader.jline.JlineInputReader]
    :source-path "src/clj"
    :java-source-path "src/java"
    :source-paths ["src/clj"]
    :java-source-paths ["src/java"]
    :main ^{:skip-aot true} reply.main))

Remove duplication & lein-midje dependency


(defproject oph/clj-parent "0.1.0"
  :url "http://example.com/FIXME"
  :license {:name "EUPL"
            :url  "http://www.osor.eu/eupl/"}
  :plugins [[lein-modules "0.3.11"]]
  :modules {:inherited {
                        :repositories        [["oph-releases" {:url "https://artifactory.oph.ware.fi/artifactory/oph-sade-release-local"
                                                               :sign-releases false
                                                               :snapshots false}]
                                              ["oph-snapshots" "https://artifactory.oph.ware.fi/artifactory/oph-sade-snapshot-local"]]
                        :deploy-repositories {"snapshots" {:url "https://artifactory.oph.ware.fi/artifactory/oph-sade-snapshot-local"}
                                              "releases"  {:url "https://artifactory.oph.ware.fi/artifactory/oph-sade-release-local"}}}})

(defproject oph/clj-parent "0.1.0"
  :url "http://example.com/FIXME"
  :license {:name "EUPL"
            :url  "http://www.osor.eu/eupl/"}
  :plugins [[lein-modules "0.3.11"]]
  :modules {:inherited {
                        :repositories        [["oph-releases" {:url "https://artifactory.oph.ware.fi/artifactory/oph-sade-release-local"
                                                               :snapshots false}]
                                              ["oph-snapshots" "https://artifactory.oph.ware.fi/artifactory/oph-sade-snapshot-local"]]
                        :deploy-repositories {"snapshots" {:url "https://artifactory.oph.ware.fi/artifactory/oph-sade-snapshot-local"}
                                              "releases"  {:url "https://artifactory.oph.ware.fi/artifactory/oph-sade-release-local"}
                                                           :sign-releases false}}})

Set sign-releases false for deploy-repository


(defproject onyx-app/lein-template "0.9.7.0-alpha6"
  :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.7.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 viewer "0.1.0-SNAPSHOT"
  :description "EVE Online Data Dump Viewer"
  :url "http://evemastery.appspot.com/"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0-RC1"]
                 [ring "1.2.2"]
                 [compojure "1.1.6"]
                 [org.clojure/data.json "0.2.4"]
                 [hiccup "1.0.4"]
                 [appengine-magic "0.5.1-SNAPSHOT"]]
  :plugins [[appengine-magic "0.5.1-SNAPSHOT"]])

(defproject viewer "0.1.0-SNAPSHOT"
  :description "EVE Online Data Dump Viewer"
  :url "http://evemastery.appspot.com/"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0-RC1"]
                 [org.clojure/java.jdbc "0.3.2"]
                 [postgresql "9.1-901.jdbc4"]
                 [ring "1.2.2"]
                 [compojure "1.1.6"]
                 [org.clojure/data.json "0.2.4"]
                 [hiccup "1.0.4"]
                 [appengine-magic "0.5.1-SNAPSHOT"]]
  :plugins [[appengine-magic "0.5.1-SNAPSHOT"]])

Bring back the Postgres libs.

Bring back the Postgres libs.


(defproject onyx-app/lein-template "0.12.0.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.12.0.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 com.lighttable/emacs "0.0.1"
  :description "Emacs keybindings for Light Table"
  :dependencies [[org.clojure/clojure "1.5.1"]])

(defproject com.lighttable/emacs "0.0.3"
  :description "Emacs keybindings for Light Table"
  :dependencies [[org.clojure/clojure "1.5.1"]])

Bump version number to match plugin.json


(defproject org.onyxplatform/onyx-bookkeeper "0.8.1.0-alpha7"
  :description "Onyx plugin for BookKeeper"
  :url "https://github.com/onyx-platform/onyx-bookkeeper"
  :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"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.8.1-alpha7"]]
  :profiles {:dev {:plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

(defproject org.onyxplatform/onyx-bookkeeper "0.8.1.0-SNAPSHOT"
  :description "Onyx plugin for BookKeeper"
  :url "https://github.com/onyx-platform/onyx-bookkeeper"
  :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"]
                 ^{:voom {:repo "git@github.com:onyx-platform/onyx.git" :branch "master"}}
                 [org.onyxplatform/onyx "0.8.1-alpha7"]]
  :profiles {:dev {:plugins [[lein-set-version "0.4.1"]
                             [lein-update-dependency "0.1.2"]
                             [lein-pprint "1.1.1"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

Prepare for next release cycle.

Prepare for next release cycle.


(ns instaskip.innkeeper-hosts-client
  (:require [clj-http.client :as client]
            [instaskip.case-utils :refer [snake-to-hyphen-keyword]]
            [instaskip.innkeeper-client :as innkeeper]
            [clojure.spec :as s]))

(def hosts-url (str innkeeper/innkeeper-url "/hosts"))

(defn- hosts-response []

  (client/get hosts-url {:headers {"Authorization" innkeeper/read-token}
                         :insecure? true}))

(defn- to-tuple-fn [id-to-host]
  [(id-to-host :name) (Integer. (id-to-host :id))])

(defn hosts-to-ids
  "A map in the format:

  {\"host1.com\" 1
   \"host2.com\" 2}"

  []

  (->> (hosts-response)
       innkeeper/extract-body
       (map to-tuple-fn)
       (into {})))

(comment
  (hosts-to-ids))

(ns instaskip.innkeeper-hosts-client
  (:require [clj-http.client :as client]
            [instaskip.case-utils :refer [snake-to-hyphen-keyword]]
            [instaskip.innkeeper-client :as innkeeper]
            [clojure.spec :as s]))

(def hosts-url (str innkeeper/innkeeper-url "/hosts"))

(defn- hosts-response []

  (client/get hosts-url {:headers   {"Authorization" innkeeper/read-token}
                         :insecure? true}))

(defn- to-tuple-fn [id-to-host]
  [(id-to-host :name) (Integer. (id-to-host :id))])

(s/def :k/hosts-to-ids (s/map-of string? integer?))
(s/fdef hosts-to-ids
        :ret :k/hosts-to-ids)

(defn hosts-to-ids
  "Returns map from hosts to host ids"
  []

  (->> (hosts-response)
       innkeeper/extract-body
       (map to-tuple-fn)
       (into {})))

(s/instrument #'hosts-to-ids)

(comment
  (hosts-to-ids))

Add specs for the return type of hosts-to-ids


(defproject org.onyxplatform/onyx-kafka "0.7.2.1-SNAPSHOT"
  :description "Onyx plugin for Kafka"
  :url "https://github.com/MichaelDrogalis/onyx-kafka"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.onyxplatform/onyx "0.7.2"]
                 [clj-kafka "0.3.2" :exclusions [org.apache.zookeeper/zookeeper zookeeper-clj]]
                 [com.stuartsierra/component "0.2.3"]
                 [cheshire "5.4.0"]
                 [zookeeper-clj "0.9.1" :exclusions [io.netty/netty org.apache.zookeeper/zookeeper]]]
  :profiles {:dev {:dependencies [[midje "1.7.0"]]
                   :plugins [[lein-midje "3.1.3"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

(defproject org.onyxplatform/onyx-kafka "0.7.2.1-SNAPSHOT"
  :description "Onyx plugin for Kafka"
  :url "https://github.com/MichaelDrogalis/onyx-kafka"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.onyxplatform/onyx "0.7.2"]
                 [clj-kafka "0.2.8-0.8.1.1" :exclusions [org.apache.zookeeper/zookeeper zookeeper-clj]]
                 [com.stuartsierra/component "0.2.3"]
                 [cheshire "5.4.0"]
                 [zookeeper-clj "0.9.1" :exclusions [io.netty/netty org.apache.zookeeper/zookeeper]]]
  :profiles {:dev {:dependencies [[midje "1.7.0"]]
                   :plugins [[lein-midje "3.1.3"]]}
             :circle-ci {:jvm-opts ["-Xmx4g"]}})

Revert back clj-kafka as tests are timing out Timeouts are possibly due to an issue with the embedded server on some versions of kafka


(defproject sqls "0.1.1"
  :description "SQLS"
  :url "https://github.com/mpietrzak/sqls"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0-beta2"]
                 [org.clojure/data.json "0.2.6"]
                 [org.clojure/java.jdbc "0.3.6"]
                 [org.clojure/tools.cli "0.3.1"]
                 [org.clojure/tools.logging "0.3.1"]
                 [org.xerial/sqlite-jdbc "3.8.7"]
                 ;[com.taoensso/timbre "3.4.0"]
                 [seesaw "1.4.5"]
                 ]
  :main sqls.core
  :java-source-paths ["src"]
  :target-path "target/%s"
  :plugins [[codox "0.8.11"]]
  :codox {:output-dir "doc/codox"}
  :profiles {:uberjar {:aot :all}
             :dev {:global-vars {*warn-on-reflection* true}
                   :jvm-opts ["-Xms4M" "-Xmx1G" "-XX:+PrintGC" "-XX:+UseG1GC"]}})

(defproject sqls "0.1.1"
  :description "SQLS"
  :url "https://github.com/mpietrzak/sqls"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0-RC1"]
                 [org.clojure/data.json "0.2.6"]
                 [org.clojure/java.jdbc "0.3.7"]
                 [org.clojure/tools.cli "0.3.1"]
                 [org.clojure/tools.logging "0.3.1"]
                 [org.xerial/sqlite-jdbc "3.8.10.1"]
                 ;[com.taoensso/timbre "3.4.0"]
                 [seesaw "1.4.5"]]
  :main sqls.core
  :java-source-paths ["src"]
  :target-path "target/%s"
  :plugins [[codox "0.8.12"]]
  :codox {:output-dir "doc/codox"}
  :profiles {:uberjar {:aot :all}
             :dev {:global-vars {*warn-on-reflection* true}
                   :jvm-opts ["-Xms4M" "-Xmx1G" "-XX:+PrintGC" "-XX:+UseG1GC"]}})

Bump some deps, including Clojure.

Bump some deps, including Clojure.


;(defproject cli4clj "0.8.0"
(defproject cli4clj "0.8.1-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.7.0"]
                 [clj-assorted-utils "1.11.0"]
                 [jline/jline "2.14-SNAPSHOT"]]
  :main cli4clj.example
  :plugins [[lein-cloverage "1.0.2"]])

;(defproject cli4clj "0.8.0"
(defproject cli4clj "0.8.1-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.7.0"]
                 [clj-assorted-utils "1.11.0"]
                 [jline/jline "2.13"]]
  :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"]])

Add html5-docs and test2junit config.

Add html5-docs and test2junit config.


(defproject midje "1.3.0-RC2"
  :description "A TDD library for Clojure, with an emphasis on mocks"
  :url "https://github.com/marick/Midje"
  :dependencies [[org.clojure/clojure "[1.2.0],[1.2.1],[1.3.0]"]
;  :dependencies [[org.clojure/clojure "[1.2.0],[1.2.1]"]
                 [ordered "1.0.0"]
                 [org.clojure/math.combinatorics "0.0.1"]
                 [org.clojure/algo.monads "0.1.0"]
                 [org.clojure/core.unify "0.5.1"]
                 [utilize "0.1.3"]
                 [colorize "0.1.1"]
                 [org.clojure/tools.macro "0.1.1"]]
  :dev-dependencies [[swank-clojure "1.2.1"]
                     [slamhound "1.1.1"]
                     [com.intelie/lazytest "1.0.0-SNAPSHOT"]]
  ;; automatically detects when your :dependencies key changes and runs
  ;; lein deps behind the scenes when necessary.
  :checksum-deps true)

(defproject midje "1.3.0-RC2"
  :description "A TDD library for Clojure, with an emphasis on mocks"
  :url "https://github.com/marick/Midje"
  :dependencies [[org.clojure/clojure "[1.2.0],[1.2.1],[1.3.0]"]
                 [ordered "1.0.0"]
                 [org.clojure/math.combinatorics "0.0.1"]
                 [org.clojure/algo.monads "0.1.0"]
                 [org.clojure/core.unify "0.5.1"]
                 [utilize "0.1.3"]
                 [colorize "0.1.1"]
                 [org.clojure/tools.macro "0.1.1"]]
  :dev-dependencies [[slamhound "1.1.1"]
                     [com.intelie/lazytest "1.0.0-SNAPSHOT" :exclusions [swank-clojure]]]
  ;; automatically detects when your :dependencies key changes and runs
  ;; lein deps behind the scenes when necessary.
  :checksum-deps true)

Remove swank-clojure dev dependency. Also from lazytest.


(defproject thomasa/mranderson "0.5.0"
  :description "Leiningen plugin to download and use some dependencies as source."
  :url "https://github.com/benedekfazekas/mranderson"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :eval-in :leiningen
  :plugins [[thomasa/mranderson "0.5.0-SNAPSHOT"]]
  :java-source-paths ["java-src"]
  :javac-options ["-target" "1.6" "-source" "1.6"]
  :filespecs [{:type :bytes :path "mranderson/project.clj" :bytes ~(slurp "project.clj")}]
  :dependencies [^:source-dep [com.cemerick/pomegranate "0.4.0"]
                 ^:source-dep [org.clojure/tools.namespace "0.3.0-alpha3"]
                 ^:source-dep [me.raynes/fs "1.4.6"]
                 ^:source-dep [rewrite-clj "0.6.1"]
                 ^:source-dep [parallel "0.10"]
                 [com.googlecode.jarjar/jarjar "1.3"]]
  :mranderson {:project-prefix "mranderson.inlined"}
  :profiles {:dev {:dependencies [[org.clojure/clojure "1.8.0"]]}})

(defproject thomasa/mranderson "0.5.1-SNAPSHOT"
  :description "Leiningen plugin to download and use some dependencies as source."
  :url "https://github.com/benedekfazekas/mranderson"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :eval-in :leiningen
  :plugins [[thomasa/mranderson "0.5.0"]]
  :java-source-paths ["java-src"]
  :javac-options ["-target" "1.6" "-source" "1.6"]
  :filespecs [{:type :bytes :path "mranderson/project.clj" :bytes ~(slurp "project.clj")}]
  :dependencies [^:source-dep [com.cemerick/pomegranate "0.4.0"]
                 ^:source-dep [org.clojure/tools.namespace "0.3.0-alpha3"]
                 ^:source-dep [me.raynes/fs "1.4.6"]
                 ^:source-dep [rewrite-clj "0.6.1"]
                 ^:source-dep [parallel "0.10"]
                 [com.googlecode.jarjar/jarjar "1.3"]]
  :mranderson {:project-prefix "mranderson.inlined"}
  :profiles {:dev {:dependencies [[org.clojure/clojure "1.8.0"]]}})

Bump version for the next dev cycle

Bump version for the next dev cycle


;; Copyright © 2015, JUXT LTD.

(defproject aero "0.1.5"
  :description "Light and fluffy configuration"
  :url "http://github.com/juxt/aero"
  :license {:name "The MIT License"
            :url "http://opensource.org/licenses/MIT"}
  :dependencies [[prismatic/schema "1.0.3"]]

  :profiles {:dev {:dependencies [[org.clojure/clojure "1.7.0"]]}})

;; Copyright © 2015, JUXT LTD.

(defproject aero "0.2.0"
  :description "Light and fluffy configuration"
  :url "http://github.com/juxt/aero"
  :license {:name "The MIT License"
            :url "http://opensource.org/licenses/MIT"}
  :dependencies [[prismatic/schema "1.0.3"]]

  :profiles {:dev {:dependencies [[org.clojure/clojure "1.7.0"]]}})

Update version to reflect new multimethod design


(defproject carambar "0.1.0-SNAPSHOT"
  :description "Carambar !!"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [org.clojure/data.zip "0.1.1"]
                 [ring/ring-core "1.3.2"]
                 [compojure "1.3.2"]
                 [ring/ring-json "0.3.1"]]
  :profiles {:dev {:dependencies [[midje "1.6.3"]]}}
  :plugins [[lein-ring "0.9.2"]]
  :uberjar-name "carambar.jar"
  :ring {:handler carambar.core/app
         :init carambar.core/init})

(defproject carambar "0.1.0-SNAPSHOT"
  :description "Carambar !!"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [org.clojure/data.zip "0.1.1"]
                 [ring/ring-core "1.3.2"]
                 [compojure "1.3.2"]
                 [ring/ring-json "0.3.1"]]
  :profiles {:dev {:dependencies [[midje "1.6.3"]
                                  [javax.servlet/servlet-api "2.5"]]}}
  :plugins [[lein-ring "0.9.2"]]
  :uberjar-name "carambar.jar"
  :ring {:handler carambar.core/app
         :init carambar.core/init})

Add servlet dependency for running tests in REPL


(defproject buddy/buddy-sign "0.5.1"
  :description "High level message signing for Clojure"
  :url "https://github.com/funcool/buddy-sign"
  :license {:name "Apache 2.0"
            :url "http://www.apache.org/licenses/LICENSE-2.0"}
  :dependencies [[org.clojure/clojure "1.6.0" :scope "provided"]
                 [com.taoensso/nippy "2.8.0"]
                 [buddy/buddy-core "0.6.0-SNAPSHOT"]
                 ;; [slingshot "0.12.2"]
                 [cats "0.4.0"]
                 [clj-time "0.9.0"]
                 [cheshire "5.4.0"]]
  :source-paths ["src"]
  :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
  :test-paths ["test"])

(defproject buddy/buddy-sign "0.5.1"
  :description "High level message signing for Clojure"
  :url "https://github.com/funcool/buddy-sign"
  :license {:name "Apache 2.0"
            :url "http://www.apache.org/licenses/LICENSE-2.0"}
  :dependencies [[org.clojure/clojure "1.6.0" :scope "provided"]
                 [com.taoensso/nippy "2.8.0"]
                 [buddy/buddy-core "0.6.0-SNAPSHOT"]
                 ;; [slingshot "0.12.2"]
                 [cats "0.4.0"]
                 [clj-time "0.9.0"]
                 [cheshire "5.5.0"]]
  :source-paths ["src"]
  :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
  :test-paths ["test"])

Upgrade cheshire dependency to the latest one.


(defproject kixi/terraboot "0.4.4-SNAPSHOT"
  :description "Terraform modules for kixi framework"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [cheshire "5.5.0"]
                 [stencil "0.5.0"]
                 [clj-yaml "0.4.0"]
                 [expectations "2.0.9"]]
  :repositories [["releases" {:url "https://clojars.org/repo"
                              :creds :gpg}]
                 ["snapshots" {:url "https://clojars.org/repo"
                               :creds :gpg}]])

(defproject kixi/terraboot "0.4.4-SNAPSHOT"
  :description "Terraform modules for kixi framework"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [cheshire "5.5.0"]
                 [stencil "0.5.0"]
                 [clj-yaml "0.4.0"]
                 [expectations "2.0.9"]
                 [org.clojure/core.incubator "0.1.4"]]
  :repositories [["releases" {:url "https://clojars.org/repo"
                              :creds :gpg}]
                 ["snapshots" {:url "https://clojars.org/repo"
                               :creds :gpg}]])

Add incubator (wanted << string interpolation)


(defproject fleetdb "0.2.0"
  :description "A schema-free database optimized for agile development."
  :url "http://github.com/mmcgrana/fleetdb"
  :source-path "src/clj"
  :java-source-path "src/jvm/"
  :javac-fork "true"
  :namespaces [fleetdb.server]
  :dependencies
    [[org.clojure/clojure "1.2.0"]
     [org.clojure/clojure-contrib "1.2.0"]
     [clj-stacktrace "0.1.2"]
     [net.sf.jopt-simple/jopt-simple "3.2"]
     [clj-json "0.2.0"]]
  :dev-dependencies
    [[lein-javac "1.2.1-SNAPSHOT"]
     [clj-unit "0.1.0"]])

(defproject fleetdb "0.2.0"
  :description "A schema-free database optimized for agile development."
  :url "http://github.com/mmcgrana/fleetdb"
  :source-path "src/clj"
  :java-source-path "src/jvm/"
  :javac-fork "true"
  :hooks [leiningen.hooks.javac]
  :namespaces [fleetdb.server]
  :dependencies
    [[org.clojure/clojure "1.2.0"]
     [org.clojure/clojure-contrib "1.2.0"]
     [clj-stacktrace "0.1.2"]
     [net.sf.jopt-simple/jopt-simple "3.2"]
     [clj-json "0.2.0"]]
  :dev-dependencies
    [[org.clojars.mmcgrana/lein-javac "1.2.1"]
     [clj-unit "0.1.0"]])

Update lein-javac to recent stable version.


(defproject compojure "1.6.1"
  :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.2.1"]
                 [medley "1.0.0"]
                 [ring/ring-core "1.6.3"]
                 [ring/ring-codec "1.1.0"]]
  :plugins [[lein-codox "0.10.3"]]
  :codox
  {:output-path "codox"
   :metadata {:doc/format :markdown}
   :source-uri "http://github.com/weavejester/compojure/blob/{version}/{filepath}#L{line}"}
  :aliases
  {"test-all" ["with-profile" "default:+1.8:+1.9" "test"]}
  :profiles
  {:dev {:jvm-opts ^:replace []
         :dependencies [[ring/ring-mock "0.3.2"]
                        [criterium "0.4.4"]
                        [javax.servlet/servlet-api "2.5"]]}
   :1.8 {:dependencies [[org.clojure/clojure "1.8.0"]]}
   :1.9 {:dependencies [[org.clojure/clojure "1.9.0"]]}})

(defproject compojure "1.6.1"
  :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.2.1"]
                 [medley "1.0.0"]
                 [ring/ring-core "1.6.3"]
                 [ring/ring-codec "1.1.0"]]
  :plugins [[lein-codox "0.10.3"]]
  :codox
  {:output-path "codox"
   :metadata {:doc/format :markdown}
   :source-uri "http://github.com/weavejester/compojure/blob/{version}/{filepath}#L{line}"}
  :aliases
  {"test-all" ["with-profile" "default:+1.8:+1.9:+1.10" "test"]}
  :profiles
  {:dev {:jvm-opts ^:replace []
         :dependencies [[ring/ring-mock "0.3.2"]
                        [criterium "0.4.4"]
                        [javax.servlet/servlet-api "2.5"]]}
   :1.8 {:dependencies [[org.clojure/clojure "1.8.0"]]}
   :1.9 {:dependencies [[org.clojure/clojure "1.9.0"]]}
   :1.10 {:dependencies [[org.clojure/clojure "1.10.0"]]}})

Add Clojure 1.10 test profile

Add Clojure 1.10 test profile


(defproject neovim-client "0.1.0"
  :description "Client library for the Neovim RPC API"
  :url "https://github.com/clojure-vim/neovim-client"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.9.0-alpha12"]
                 [org.clojure/core.async "0.2.391"]
                 [org.clojure/tools.logging "0.3.1"]
                 [org.clojure/tools.namespace "0.2.11"]
                 [log4j/log4j "1.2.17" :exclusions [javax.mail/mail
                                                 javax.jms/jms
                                                 com.sun.jmdk/jmxtools
                                                 com.sun.jmx/jmxri]]
                 [clj-logging-config "1.9.12"]
                 [clojure-msgpack "1.2.0"]
                 [uk.co.caprica/juds "0.94.1"]]
  :src-paths ["src" "test"]
  :target-path "target/%s")

(defproject neovim-client "0.1.0"
  :description "Client library for the Neovim RPC API"
  :url "https://github.com/clojure-vim/neovim-client"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.9.0-alpha12"]
                 [org.clojure/core.async "0.3.442"]
                 [org.clojure/tools.logging "0.3.1"]
                 [org.clojure/tools.namespace "0.2.11"]
                 [log4j/log4j "1.2.17" :exclusions [javax.mail/mail
                                                 javax.jms/jms
                                                 com.sun.jmdk/jmxtools
                                                 com.sun.jmx/jmxri]]
                 [clj-logging-config "1.9.12"]
                 [clojure-msgpack "1.2.0"]
                 [uk.co.caprica/juds "0.94.1"]]
  :src-paths ["src" "test"]
  :target-path "target/%s")

Bump core.async version for spec

Bump core.async version for spec


(defproject yorck-ratings "2.0.0"
  :description "IMDB ratings for movies playing in Yorck cinemas Berlin"
  :url "https://yorck-ratings.treppo.org"
  :license {:name "Eclipse Public License"
            :url  "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.9.0"]
                 [http-kit "2.3.0"]
                 [ring/ring-devel "1.6.3"]
                 [ring/ring-core "1.6.3"]
                 [http-kit.fake "0.2.2"]
                 [luminus/config "0.8"]
                 [hickory "0.7.1"]
                 [org.clojure/core.async "0.4.474"]]
  :main ^:skip-aot yorck-ratings.web
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}
             :dev     {:resource-paths ["test/resources" "config/dev"]
                       :dependencies   [[midje "1.9.1"] [midje-notifier "0.2.0"]]
                       :plugins        [[lein-midje "3.2.1"]]}
             :test    {:resource-paths ["test/resources" "config/test"]}}
  :min-lein-version "2.4.0"
  :uberjar-name "yorck-ratings-standalone.jar")

(defproject yorck-ratings "2.0.0"
  :description "IMDB ratings for movies playing in Yorck cinemas Berlin"
  :url "https://yorck-ratings.treppo.org"
  :license {:name "Eclipse Public License"
            :url  "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.9.0"]
                 [http-kit "2.3.0"]
                 [ring/ring-devel "1.6.3"]
                 [ring/ring-core "1.6.3"]
                 [http-kit.fake "0.2.2"]
                 [luminus/config "0.8"]
                 [hickory "0.7.1"]
                 [org.clojure/core.async "0.4.474"]]
  :main ^:skip-aot yorck-ratings.web
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}
             :dev     {:resource-paths ["config/dev"]
                       :dependencies   [[midje "1.9.1"] [midje-notifier "0.2.0"]]
                       :plugins        [[lein-midje "3.2.1"]]}
             :midje    {:resource-paths ["test/resources" "config/test"]}}
  :min-lein-version "2.8.0"
  :uberjar-name "yorck-ratings-standalone.jar")

Use test resources only in midje profile


(defproject io.atomix/trinity "0.1.0-SNAPSHOT"
  :description "A sweet little Clojure API for Atomix"
  :url "http://github.com/atomix/trinity"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [io.atomix/atomix-all "1.0.0-rc4"]
                 [io.atomix.catalyst/catalyst-netty "1.0.7"]]
  :repositories [["sonatype-nexus-snapshots" {:url "https://oss.sonatype.org/content/repositories/snapshots"}]]
  :plugins [[lein-codox "0.9.0"]]
  :codox {:output-path "target/docs/docs"
          :metadata {:doc/format :markdown}
          :source-uri "http://github.com/atomix/trinity/blob/master/{filepath}#L{line}"})

(defproject io.atomix/trinity "0.1.0-SNAPSHOT"
  :description "A sweet little Clojure API for Atomix"
  :url "http://github.com/atomix/trinity"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [io.atomix/atomix-all "1.0.0-rc4"]
                 [io.atomix.catalyst/catalyst-netty "1.0.7"]]
  :repositories [["sonatype-nexus-snapshots" {:url "https://oss.sonatype.org/content/repositories/snapshots"}]]
  :plugins [[lein-codox "0.9.0"]]
  :codox {:output-path "target/docs/api"
          :metadata {:doc/format :markdown}
          :source-uri "http://github.com/atomix/trinity/blob/master/{filepath}#L{line}"})

Build docs to API dir

Build docs to API dir


(defproject cmdb "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.2.1"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [postgresql/postgresql "9.0-801.jdbc4"]
                 [org.clojure/java.jdbc "0.0.5"]
                 [clj-json "0.3.2"]
                 [digest "1.2.1"]
                 [log4j "1.2.16" :exclusions [javax.mail/mail
                                              javax.jms/jms
                                              com.sun.jdmk/jmxtools
                                              com.sun.jmx/jmxri]]]
  :aot [com.puppetlabs.cmdb.core]
  :main com.puppetlabs.cmdb.core
)

(defproject cmdb "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.2.1"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [postgresql/postgresql "9.0-801.jdbc4"]
                 [org.clojure/java.jdbc "0.0.6"]
                 [clj-json "0.3.2"]
                 [digest "1.2.1"]
                 [log4j "1.2.16" :exclusions [javax.mail/mail
                                              javax.jms/jms
                                              com.sun.jdmk/jmxtools
                                              com.sun.jmx/jmxri]]]
  :aot [com.puppetlabs.cmdb.core]
  :main com.puppetlabs.cmdb.core
)

Upgrade to latest sql lib

Upgrade to latest sql lib

This version should contain the ability to set fetchSize on ResultSet
objects, as described here:

http://bit.ly/pzpAgD


(ns rmfu-ui.nav
  (:require [secretary.core :as secretary :include-macros true]))

(defn nav
  "Renders basic nav with an .active link"
  [active]
  [:nav {:className "navbar navbar-light bg-faded"}
   [:a.navbar-brand "FEED"]
   [:ul.nav.navbar-nav
    (for [anchor ["about" "create" "profile"]
          :let [title (clojure.string/capitalize anchor)
                class-names (if (= active anchor) "nav-item active" "nav-item")]]
      ^{:key anchor} [:li {:className class-names}
                      [:a.nav-link {:href (str "/#/" anchor)} title]])]
   [:form.form-inline.navbar-form.pull-right
    [:button.btn.btn-success-outline {:type "button"} "logout"]]])

(ns rmfu-ui.nav
  (:require [secretary.core :as secretary :include-macros true]))

(defn logout []
  "Logs the user out by deleting key form local storage"
  (.removeItem (.-localStorage js/window) "rmfu-feed-identity-token")
)

(defn nav
  "Renders basic nav with an .active link"
  [active]
  [:nav {:className "navbar navbar-light bg-faded"}
   [:a.navbar-brand "FEED"]
   [:ul.nav.navbar-nav
    (for [anchor ["about" "create" "profile"]
          :let [title (clojure.string/capitalize anchor)
                class-names (if (= active anchor) "nav-item active" "nav-item")]]
      ^{:key anchor} [:li {:className class-names}
                      [:a.nav-link {:href (str "/#/" anchor)} title]])]
   [:form.form-inline.navbar-form.pull-right
    [:button.btn.btn-success-outline {:type "button" :on-click #(logout)} "logout"]]])

Add functionality to Logout button

Add functionality to Logout button

Fix #29, does not redirect main page to the sign-in


(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)))

(defn dedupe-by
  "Returns a lazy sequence removing consecutive duplicates in coll when passed to a function f.
  Returns a transducer when no collection is provided."
  {:added "1.7"}
  ([f]
   (fn [rf]
     (let [pv (volatile! ::none)]
       (fn
         ([] (rf))
         ([result] (rf result))
         ([result x]
          (let [prior @pv
                fx    (f x)]
            (vreset! pv fx)
            (if (= prior fx)
              result
              (rf result x))))))))
  ([f coll] (sequence (dedupe-by f) coll)))

(defn index-by
  "Like group by, but will keep only the last result."
  [f coll]
  (reduce
    (fn [m x]
      (assoc m (f x) x))
    {}
    coll))

Add dedupe-by and index-by helpers

Add dedupe-by and index-by helpers


(ns mvxcvi.vault.blob
  (:require (clojure [string :as string])
            digest))

;; HASH ALGORITHMS

(def ^:private digest-functions
  "Map of content hashing algorithms to functional implementations."
  {:md5    digest/md5
   :sha1   digest/sha-1
   :sha256 digest/sha-256})

(def digest-algorithms
  "Set of available content hashing algorithms."
  (into #{} (keys digest-functions)))

;; BLOB REFERENCE

(defrecord BlobRef
  [algorithm digest]

  Object
  (toString [this]
    (str (name algorithm) ":" digest)))

(defn content-address
  "Calculates the blob reference for the given content."
  [algorithm content]
  (let [hashfn (digest-functions algorithm)]
    (when-not hashfn
      (throw (IllegalArgumentException.
               (str "Unsupported digest algorithm: " algorithm
                    ", must be one of " (string/join ", " digest-algorithms)))))
    (BlobRef. algorithm (-> content hashfn .toLowerCase))))

(defn parse-address
  "Parses an address string into a blobref. Accepts either a hash URI or the
  shorter \"algo:address\" format."
  [address]
  (let [address (str address)
        address (if (re-find #"^urn:" address) (subs address 4) address)
        [algorithm digest] (string/split address #":" 2)]
    (BlobRef. (keyword algorithm) digest)))

(ns mvxcvi.vault.blob
  (:require (clojure [string :as string])
            digest))

;; HASH ALGORITHMS

(def ^:private digest-functions
  "Map of content hashing algorithms to functional implementations."
  {:md5    digest/md5
   :sha1   digest/sha-1
   :sha256 digest/sha-256})

(def digest-algorithms
  "Set of available content hashing algorithms."
  (into #{} (keys digest-functions)))

;; BLOB REFERENCE

(defrecord BlobRef
  [algorithm digest]

  Object
  (toString [this]
    (str (name algorithm) ":" digest)))

(defmethod print-method BlobRef
  [value ^java.io.Writer w]
  (.write w (str "#vault/blobref " \" value \")))

(defn hash-content
  "Calculates the blob reference for the given content."
  [algorithm content]
  (let [hashfn (digest-functions algorithm)]
    (when-not hashfn
      (throw (IllegalArgumentException.
               (str "Unsupported digest algorithm: " algorithm
                    ", must be one of " (string/join ", " digest-algorithms)))))
    (BlobRef. algorithm (-> content hashfn .toLowerCase))))

(defn parse-address
  "Parses an address string into a blobref. Accepts either a hash URI or the
  shorter \"algo:address\" format."
  [address]
  (let [address (if (re-find #"^urn:" address) (subs address 4) address)
        [algorithm digest] (string/split address #":" 2)]
    (BlobRef. (keyword algorithm) digest)))

(defn blob-ref
  "Constructs a blobref out of the arguments."
  ([x]
   (if (instance? BlobRef x)
     x
     (parse-address (str x))))
  ([algorithm digest]
   (BlobRef. algorithm digest)))

Add print and factory methods for BlobRefs.


(ns leiningen.compile
  "Compile the namespaces listed in project.clj or all namespaces in src."
  (:use [clojure.contrib.java-utils :only [file]]
        [clojure.contrib.find-namespaces :only [find-namespaces-in-dir]])
  (:refer-clojure :exclude [compile]))

(defn compile
  "Ahead-of-time compile the project. Looks for all namespaces under src/
unless a list of :namespaces is provided in project.clj."
  [project]
  ;; TODO: use a java subprocess in case a different clojure version is needed
  (doseq [n (or (:namespaces project)
                (find-namespaces-in-dir (file (:root project) "src")))]
    (let [ns-file (str (.replaceAll (name n) "\\." "/"))]
      (when (> (.lastModified (file (:root project) "src" (str ns-file ".clj")))
               (.lastModified (file (:root project) "classes"
                                    (str ns-file "__init.class"))))
        (println "Compiling" n)
        (clojure.core/compile n)))))

(ns leiningen.compile
  "Compile the namespaces listed in project.clj or all namespaces in src."
  (:use [clojure.contrib.java-utils :only [file]]
        [clojure.contrib.find-namespaces :only [find-namespaces-in-dir]])
  (:refer-clojure :exclude [compile]))

(defn compile
  "Ahead-of-time compile the project. Looks for all namespaces under src/
unless a list of :namespaces is provided in project.clj."
  [project]
  ;; TODO: use a java subprocess in case a different clojure version is needed
  (doseq [n (or (:namespaces project)
                (find-namespaces-in-dir (file (:root project) "src")))]
    (let [ns-file (str (-> (name n)
                           (.replaceAll "\\." "/")
                           (.replaceAll "-" "_")))]
      (when (> (.lastModified (file (:root project) "src" (str ns-file ".clj")))
               (.lastModified (file (:root project) "classes"
                                    (str ns-file "__init.class"))))
        (println "Compiling" n)
        (clojure.core/compile n)))))

Fix compiling of namespace that include a - character.


;; Copyright © 2014 JUXT LTD.

(ns modular.http-kit
  (:require
   [schema.core :as s]
   [com.stuartsierra.component :as component]
   [clojure.tools.logging :refer :all]
   [modular.ring :refer (request-handler WebRequestHandler)]
   [org.httpkit.server :refer (run-server)]))

(def default-port 3000)

(defrecord Webserver [port]
  component/Lifecycle
  (start [this]
    (if-let [provider (first (filter #(satisfies? WebRequestHandler %) (vals this)))]
      (let [h (request-handler provider)]
        (assert h)
        (let [server (run-server h {:port port})]
          (assoc this :server server :port port)))
      (throw (ex-info (format "http-kit module requires the existence of a component that satisfies %s" WebRequestHandler)
                      {:this this}))))

  (stop [this]
    (when-let [server (:server this)]
      (server)
      (dissoc this :server))))

(defn new-webserver [& {:as opts}]
  (let [{:keys [port]} (->> (merge {:port default-port} opts)
                            (s/validate {:port s/Int}))]
    (->Webserver port)
    ))

;; Copyright © 2014 JUXT LTD.

(ns modular.http-kit
  (:require
   [schema.core :as s]
   [com.stuartsierra.component :as component]
   [clojure.tools.logging :refer :all]
   [modular.ring :refer (request-handler WebRequestHandler)]
   [org.httpkit.server :refer (run-server)]))

(def default-port 3000)

(defrecord Webserver [port]
  component/Lifecycle
  (start [this]
    (if-let [provider (first (filter #(satisfies? WebRequestHandler %) (vals this)))]
      (let [h (request-handler provider)]
        (assert h)
        (let [server (run-server h {:port port})]
          (assoc this :server server :port port)))
      (throw (ex-info (format "http-kit module requires the existence of a component that satisfies %s" WebRequestHandler)
                      {:this this}))))

  (stop [this]
    (if-let [server (:server this)]
      (server))
    (dissoc this :server)))

(defn new-webserver [& {:as opts}]
  (let [{:keys [port]} (->> (merge {:port default-port} opts)
                            (s/validate {:port s/Int}))]
    (->Webserver port)
    ))

Fix stop method of http-kit component

Fix stop method of http-kit component

The method returned nil if the component was not started.


{:dev
 {:aliases {"test-all" ["with-profile" "dev,1.8:dev,1.6:dev,1.5:dev" "test"]}
  :codeina {:sources ["src"]
            :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"]
            [lein-ancient "0.6.7"]]}
 :1.6 {:dependencies [[org.clojure/clojure "1.6.0"]]}
 :1.5 {:dependencies [[org.clojure/clojure "1.5.1"]]}
 :1.8 {:dependencies [[org.clojure/clojure "1.8.0-beta2"]]}}

{:dev
 {:aliases {"test-all" ["with-profile" "dev,1.8:dev,1.6:dev,1.5:dev" "test"]}
  :codeina {:sources ["src"]
            :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"]
            [lein-ancient "0.6.7"]]}
 :1.6 {:dependencies [[org.clojure/clojure "1.6.0"]]}
 :1.5 {:dependencies [[org.clojure/clojure "1.5.1"]]}
 :1.8 {:dependencies [[org.clojure/clojure "1.8.0-RC1"]]}}

Update :1.8 profile with clojure 1.8.0-RC1


(defproject stencil "0.1.2"
  :description "Mustache in Clojure"
  :dependencies [[clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]]
  :dev-dependencies [[swank-clj "0.1.7-SNAPSHOT"]
                     [org.clojure/clojure-contrib "1.2.0"]]
  :tasks [cake.tasks.swank-clj stencil.cake.tasks])

(defproject stencil "0.1.3-SNAPSHOT"
  :description "Mustache in Clojure"
  :dependencies [[clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]]
  :dev-dependencies [[swank-clj "0.1.7-SNAPSHOT"]
                     [org.clojure/clojure-contrib "1.2.0"]]
  :tasks [cake.tasks.swank-clj stencil.cake.tasks])

Bump to version 0.1.3-SNAPSHOT for more development.