refactored main project name
This commit is contained in:
1 parent
d2c554dcc8
commit
d22f0515d5
22 files changed
+62
-137
No files matched your search
@@ -11,3 +11,4 @@ pom.xml.asc
|
||||
.hg/
|
||||
.idea/
|
||||
book.iml
|
||||
skirmish.iml
|
||||
@@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module cursive.leiningen.project.LeiningenProjectsManager.displayName="book:0.1.0-SNAPSHOT" cursive.leiningen.project.LeiningenProjectsManager.isLeinModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<output url="file://$MODULE_DIR$/target/default/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/default/classes" />
|
||||
<exclude-output />
|
||||
<option name="createStubs" value="true" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/dev-resources" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target/default" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Leiningen: cheshire:5.8.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: clj-time:0.14.2" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: clj-tuple:0.2.2" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: clojure-complete:0.2.4" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: clout:2.2.1" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: colorize:0.1.1" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: com.fasterxml.jackson.core/jackson-core:2.9.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: com.fasterxml.jackson.dataformat/jackson-dataformat-cbor:2.9.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: com.fasterxml.jackson.dataformat/jackson-dataformat-smile:2.9.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: com.rpl/specter:1.0.4" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: commons-codec:1.10" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: commons-fileupload:1.3.3" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: commons-io:2.5" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: compojure:1.6.1" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: crypto-equality:1.0.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: crypto-random:1.2.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: environ:1.1.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: fipp:0.6.10" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: flare:0.2.9" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: http-kit:2.3.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: instaparse:1.4.8" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: io.aviso/pretty:0.1.34" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: javax.servlet/javax.servlet-api:3.1.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: joda-time:2.9.7" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: marick/clojure-commons:3.0.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: marick/suchwow:6.0.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: medley:1.0.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: midje:1.9.1" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: mvxcvi/arrangement:1.1.1" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: mvxcvi/puget:1.0.2" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojars.brenton/google-diff-match-patch:0.1" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/clojure:1.9.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/core.async:0.4.474" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/core.cache:0.6.5" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/core.memoize:0.5.9" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/core.rrb-vector:0.0.11" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/core.specs.alpha:0.1.24" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/core.unify:0.5.7" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/data.priority-map:0.0.7" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/math.combinatorics:0.1.4" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/spec.alpha:0.1.143" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/test.check:0.9.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/tools.analyzer.jvm:0.7.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/tools.analyzer:0.6.9" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/tools.macro:0.1.5" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/tools.namespace:0.2.11" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/tools.nrepl:0.2.12" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.clojure/tools.reader:1.0.0-beta4" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.ow2.asm/asm-all:4.2" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: org.tcrawley/dynapath:1.0.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: potemkin:0.4.3" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: riddley:0.1.12" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: ring/ring-codec:1.1.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: ring/ring-core:1.6.3" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: slingshot:0.12.2" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: swiss-arrows:1.0.0" level="project" />
|
||||
<orderEntry type="library" name="Leiningen: tigris:0.1.1" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
(defproject book "0.1.0-SNAPSHOT"
|
||||
(defproject skirmish "0.1.0-SNAPSHOT"
|
||||
:description "FIXME: write description"
|
||||
:url "http://example.com/FIXME"
|
||||
:license {:name "Eclipse Public License"
|
||||
@@ -15,7 +15,7 @@
|
||||
[slingshot "0.12.2"]
|
||||
[cheshire "5.8.0"]]
|
||||
:java-source-paths ["src/java"]
|
||||
:main ^:skip-aot book.core
|
||||
:main ^:skip-aot skirmish.core
|
||||
:target-path "target/%s"
|
||||
:plugins [[lein-midje "3.2.1"]]
|
||||
:profiles {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
(ns book.cli.core)
|
||||
@@ -1 +0,0 @@
|
||||
(ns book.rest.marketdata)
|
||||
@@ -1,9 +0,0 @@
|
||||
(ns book.util
|
||||
(:import [book.PersistentSortedList]))
|
||||
|
||||
(defn sorted-list [& keys]
|
||||
(book.PersistentSortedList/create (seq keys)))
|
||||
|
||||
(defn sorted-list-by [comparator & keys]
|
||||
(book.PersistentSortedList/create comparator (seq keys)))
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package book;
|
||||
package skirmish;
|
||||
|
||||
import clojure.lang.*;
|
||||
import java.util.*;
|
||||
@@ -0,0 +1 @@
|
||||
(ns skirmish.cli.core)
|
||||
@@ -1,8 +1,8 @@
|
||||
(ns book.cli.exchange
|
||||
(:require [book.match :refer [sell?]]
|
||||
[book.util :refer :all]
|
||||
[book.exchange :refer [empty-book create-exchange-for-security]]
|
||||
[book.order] ;; for spec side effect
|
||||
(ns skirmish.cli.exchange
|
||||
(:require [skirmish.match :refer [sell?]]
|
||||
[skirmish.util :refer :all]
|
||||
[skirmish.exchange :refer [empty-book create-exchange-for-security]]
|
||||
[skirmish.order] ;; for spec side effect
|
||||
[slingshot.slingshot :refer [try+ throw+]]
|
||||
[clojure.edn :as edn]
|
||||
[clojure.core.async :refer [chan go >!! <!!]]
|
||||
@@ -1,10 +1,10 @@
|
||||
(ns book.core
|
||||
(:require [book.cli.core]
|
||||
[book.rest.core]
|
||||
(ns skirmish.core
|
||||
(:require [skirmish.cli.core]
|
||||
[skirmish.rest.core]
|
||||
[aero.core :refer (read-config)])
|
||||
(:gen-class))
|
||||
|
||||
(def apps {:webserver book.rest.core/-main})
|
||||
(def apps {:webserver skirmish.rest.core/-main})
|
||||
|
||||
(defn -main [& argv]
|
||||
(let [config (-> "config.edn" clojure.java.io/resource read-config)
|
||||
@@ -1,9 +1,9 @@
|
||||
(ns book.exchange
|
||||
(:require [book.match :refer [sell?
|
||||
create-buy-book
|
||||
create-sell-book
|
||||
match-order-in-book]]
|
||||
[book.util :refer :all]
|
||||
(ns skirmish.exchange
|
||||
(:require [skirmish.match :refer [sell?
|
||||
create-buy-book
|
||||
create-sell-book
|
||||
match-order-in-book]]
|
||||
[skirmish.util :refer :all]
|
||||
[clojure.core.async :refer [chan go >! <! pub]]))
|
||||
|
||||
(def empty-book {:sell (create-sell-book) :buy (create-buy-book)})
|
||||
@@ -1,5 +1,5 @@
|
||||
(ns book.match
|
||||
(:require [book.util :refer [sorted-list-by]]
|
||||
(ns skirmish.match
|
||||
(:require [skirmish.util :refer [sorted-list-by]]
|
||||
[clojure.spec.alpha :as s]
|
||||
[clojure.edn :as edn]))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
(ns book.order
|
||||
(ns skirmish.order
|
||||
(:require [clojure.spec.alpha :as s]))
|
||||
|
||||
;; Let say an order is a map of the following keys
|
||||
@@ -7,11 +7,11 @@
|
||||
;; :type one of :sell :buy
|
||||
;; ::id maybe an id
|
||||
|
||||
(s/def ::type #{:buy :sell})
|
||||
(s/def ::price pos-int?)
|
||||
(s/def ::quantity pos-int?)
|
||||
(s/def ::id pos-int?)
|
||||
(s/def ::order (s/keys :req-un [::type ::price ::quantity] :opt [::id]))
|
||||
(s/def :book.order/type #{:buy :sell})
|
||||
(s/def :book.order/price pos-int?)
|
||||
(s/def :book.order/quantity pos-int?)
|
||||
(s/def :book.order/id pos-int?)
|
||||
(s/def :book.order/order (s/keys :req-un [:book.order/type :book.order/price :book.order/quantity] :opt [:book.order/id]))
|
||||
|
||||
;; A trade is defined by the bellow map...
|
||||
;; ::quantity the amount of exchanged securities
|
||||
@@ -1,8 +1,8 @@
|
||||
(ns book.rest.core
|
||||
(ns skirmish.rest.core
|
||||
(:require [org.httpkit.server :refer [run-server]]
|
||||
[compojure.handler :refer [api]]
|
||||
[book.rest.exchange :refer [create-exchanges-api-for
|
||||
create-routes]]))
|
||||
[skirmish.rest.exchange :refer [create-exchanges-api-for
|
||||
create-routes]]))
|
||||
|
||||
(defn -main [config]
|
||||
(let [webserver-config (:webserver config)
|
||||
@@ -1,12 +1,12 @@
|
||||
(ns book.rest.exchange
|
||||
(:require [book.exchange :refer [empty-book]]
|
||||
(ns skirmish.rest.exchange
|
||||
(:require [skirmish.exchange :refer [empty-book]]
|
||||
[org.httpkit.server :refer [run-server with-channel send! close on-close]]
|
||||
[compojure.route :refer [not-found]]
|
||||
[compojure.handler :refer [api]]
|
||||
[compojure.core :refer :all]
|
||||
[book.order] ;; for spec side effect
|
||||
[book.exchange :refer [create-exchange-for-security]]
|
||||
[book.rest.util :refer [build-response build-response-body]]
|
||||
[skirmish.order] ;; for spec side effect
|
||||
[skirmish.exchange :refer [create-exchange-for-security]]
|
||||
[skirmish.rest.util :refer [build-response build-response-body]]
|
||||
[clojure.spec.alpha :as s]
|
||||
[slingshot.slingshot :refer [try+ throw+]]
|
||||
[clojure.core.async :refer [chan go go-loop close! <! >!! sub]]
|
||||
@@ -0,0 +1 @@
|
||||
(ns skirmish.rest.marketdata)
|
||||
@@ -1,4 +1,4 @@
|
||||
(ns book.rest.util
|
||||
(ns skirmish.rest.util
|
||||
(:require [cheshire.core :refer [generate-string]]
|
||||
[clojure.string :refer [split starts-with? ends-with?]]))
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
(ns skirmish.util
|
||||
(:import [skirmish.PersistentSortedList]))
|
||||
|
||||
(defn sorted-list [& keys]
|
||||
(skirmish.PersistentSortedList/create (seq keys)))
|
||||
|
||||
(defn sorted-list-by [comparator & keys]
|
||||
(skirmish.PersistentSortedList/create comparator (seq keys)))
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
(ns book.exchange-test
|
||||
(:import [book.PersistentSortedList])
|
||||
(ns skirmish.exchange-test
|
||||
(:import [skirmish.PersistentSortedList])
|
||||
(:require [midje.sweet :refer :all]
|
||||
[book.exchange :refer :all]
|
||||
[book.match :refer [create-buy-book
|
||||
create-sell-book]]))
|
||||
[skirmish.exchange :refer :all]
|
||||
[skirmish.match :refer [create-buy-book
|
||||
create-sell-book]]))
|
||||
|
||||
(def PersistentSortedList? (comp #(= % book.PersistentSortedList) type))
|
||||
(def PersistentSortedList? (comp #(= % skirmish.PersistentSortedList) type))
|
||||
|
||||
(facts "the exchange as an whole"
|
||||
(fact "process-sell-order should work when book empty"
|
||||
@@ -1,8 +1,8 @@
|
||||
(ns book.match-test
|
||||
(ns skirmish.match-test
|
||||
(:require [midje.sweet :refer :all]
|
||||
[book.match :refer :all]))
|
||||
[skirmish.match :refer :all]))
|
||||
|
||||
(def PersistentSortedList? (comp #(= % book.PersistentSortedList) type))
|
||||
(def PersistentSortedList? (comp #(= % skirmish.PersistentSortedList) type))
|
||||
|
||||
|
||||
(facts "matching buy order in sell book"
|
||||
@@ -112,7 +112,7 @@
|
||||
order {:type :sell :quantity 21 :price 13 :book.order/id 118}
|
||||
[_ new-book _] (match-order-in-book book order)]
|
||||
(count new-book) => 0
|
||||
(type new-book) => book.PersistentSortedList)))
|
||||
(type new-book) => skirmish.PersistentSortedList)))
|
||||
;(fact "should not fuck up"
|
||||
; (let [order-1 {:type :buy :quantity 4 :price 4 :book.order/id 5}
|
||||
; order-2 {:type :sell :quantity 2 :price 3 :book.order/id 6}
|
||||
@@ -1,5 +1,5 @@
|
||||
(ns book.rest.util-test
|
||||
(:require [book.rest.util :refer [build-response]]
|
||||
(ns skirmish.rest.util-test
|
||||
(:require [skirmish.rest.util :refer [build-response]]
|
||||
[midje.sweet :refer :all]
|
||||
[clojure.test :refer :all]))
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
(ns book.test-PersistentSortedList
|
||||
(ns skirmish.test-PersistentSortedList
|
||||
(:require [midje.sweet :refer :all]
|
||||
[book.util :refer [sorted-list sorted-list-by]]))
|
||||
[skirmish.util :refer [sorted-list sorted-list-by]]))
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
(rest (sorted-list 1 2 3 2)) => (sorted-list 2 2 3)
|
||||
(rest (sorted-list 1)) => (sorted-list)
|
||||
(rest (sorted-list)) => empty?
|
||||
(str (type (rest (sorted-list)))) => "class book.PersistentSortedList")
|
||||
(str (type (rest (sorted-list)))) => "class skirmish.PersistentSortedList")
|
||||
(fact "next"
|
||||
(next (sorted-list 1 2 3)) => (sorted-list 2 3)
|
||||
(next (sorted-list 1 2 3 2)) => (sorted-list 2 2 3)
|
||||
Reference in new issue
Block a user