refactored main project name

This commit is contained in:
didier amyot committed 2018-06-25 11:09:27 -04:00
1 parent d2c554dcc8
commit d22f0515d5
22 files changed
+57 -132

No files matched your search

+1
View File
@@ -11,3 +11,4 @@ pom.xml.asc
.hg/ .hg/
.idea/ .idea/
book.iml book.iml
skirmish.iml
-76
View File
@@ -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
View File
@@ -1,4 +1,4 @@
(defproject book "0.1.0-SNAPSHOT" (defproject skirmish "0.1.0-SNAPSHOT"
:description "FIXME: write description" :description "FIXME: write description"
:url "http://example.com/FIXME" :url "http://example.com/FIXME"
:license {:name "Eclipse Public License" :license {:name "Eclipse Public License"
@@ -15,7 +15,7 @@
[slingshot "0.12.2"] [slingshot "0.12.2"]
[cheshire "5.8.0"]] [cheshire "5.8.0"]]
:java-source-paths ["src/java"] :java-source-paths ["src/java"]
:main ^:skip-aot book.core :main ^:skip-aot skirmish.core
:target-path "target/%s" :target-path "target/%s"
:plugins [[lein-midje "3.2.1"]] :plugins [[lein-midje "3.2.1"]]
:profiles { :profiles {
-1
View File
@@ -1 +0,0 @@
(ns book.cli.core)
-1
View File
@@ -1 +0,0 @@
(ns book.rest.marketdata)
-9
View File
@@ -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,4 +1,4 @@
package book; package skirmish;
import clojure.lang.*; import clojure.lang.*;
import java.util.*; import java.util.*;
+1
View File
@@ -0,0 +1 @@
(ns skirmish.cli.core)
@@ -1,8 +1,8 @@
(ns book.cli.exchange (ns skirmish.cli.exchange
(:require [book.match :refer [sell?]] (:require [skirmish.match :refer [sell?]]
[book.util :refer :all] [skirmish.util :refer :all]
[book.exchange :refer [empty-book create-exchange-for-security]] [skirmish.exchange :refer [empty-book create-exchange-for-security]]
[book.order] ;; for spec side effect [skirmish.order] ;; for spec side effect
[slingshot.slingshot :refer [try+ throw+]] [slingshot.slingshot :refer [try+ throw+]]
[clojure.edn :as edn] [clojure.edn :as edn]
[clojure.core.async :refer [chan go >!! <!!]] [clojure.core.async :refer [chan go >!! <!!]]
+4 -4
View File
@@ -1,10 +1,10 @@
(ns book.core (ns skirmish.core
(:require [book.cli.core] (:require [skirmish.cli.core]
[book.rest.core] [skirmish.rest.core]
[aero.core :refer (read-config)]) [aero.core :refer (read-config)])
(:gen-class)) (:gen-class))
(def apps {:webserver book.rest.core/-main}) (def apps {:webserver skirmish.rest.core/-main})
(defn -main [& argv] (defn -main [& argv]
(let [config (-> "config.edn" clojure.java.io/resource read-config) (let [config (-> "config.edn" clojure.java.io/resource read-config)
@@ -1,9 +1,9 @@
(ns book.exchange (ns skirmish.exchange
(:require [book.match :refer [sell? (:require [skirmish.match :refer [sell?
create-buy-book create-buy-book
create-sell-book create-sell-book
match-order-in-book]] match-order-in-book]]
[book.util :refer :all] [skirmish.util :refer :all]
[clojure.core.async :refer [chan go >! <! pub]])) [clojure.core.async :refer [chan go >! <! pub]]))
(def empty-book {:sell (create-sell-book) :buy (create-buy-book)}) (def empty-book {:sell (create-sell-book) :buy (create-buy-book)})
@@ -1,5 +1,5 @@
(ns book.match (ns skirmish.match
(:require [book.util :refer [sorted-list-by]] (:require [skirmish.util :refer [sorted-list-by]]
[clojure.spec.alpha :as s] [clojure.spec.alpha :as s]
[clojure.edn :as edn])) [clojure.edn :as edn]))
@@ -1,4 +1,4 @@
(ns book.order (ns skirmish.order
(:require [clojure.spec.alpha :as s])) (:require [clojure.spec.alpha :as s]))
;; Let say an order is a map of the following keys ;; Let say an order is a map of the following keys
@@ -7,11 +7,11 @@
;; :type one of :sell :buy ;; :type one of :sell :buy
;; ::id maybe an id ;; ::id maybe an id
(s/def ::type #{:buy :sell}) (s/def :book.order/type #{:buy :sell})
(s/def ::price pos-int?) (s/def :book.order/price pos-int?)
(s/def ::quantity pos-int?) (s/def :book.order/quantity pos-int?)
(s/def ::id pos-int?) (s/def :book.order/id pos-int?)
(s/def ::order (s/keys :req-un [::type ::price ::quantity] :opt [::id])) (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... ;; A trade is defined by the bellow map...
;; ::quantity the amount of exchanged securities ;; ::quantity the amount of exchanged securities
@@ -1,7 +1,7 @@
(ns book.rest.core (ns skirmish.rest.core
(:require [org.httpkit.server :refer [run-server]] (:require [org.httpkit.server :refer [run-server]]
[compojure.handler :refer [api]] [compojure.handler :refer [api]]
[book.rest.exchange :refer [create-exchanges-api-for [skirmish.rest.exchange :refer [create-exchanges-api-for
create-routes]])) create-routes]]))
(defn -main [config] (defn -main [config]
@@ -1,12 +1,12 @@
(ns book.rest.exchange (ns skirmish.rest.exchange
(:require [book.exchange :refer [empty-book]] (:require [skirmish.exchange :refer [empty-book]]
[org.httpkit.server :refer [run-server with-channel send! close on-close]] [org.httpkit.server :refer [run-server with-channel send! close on-close]]
[compojure.route :refer [not-found]] [compojure.route :refer [not-found]]
[compojure.handler :refer [api]] [compojure.handler :refer [api]]
[compojure.core :refer :all] [compojure.core :refer :all]
[book.order] ;; for spec side effect [skirmish.order] ;; for spec side effect
[book.exchange :refer [create-exchange-for-security]] [skirmish.exchange :refer [create-exchange-for-security]]
[book.rest.util :refer [build-response build-response-body]] [skirmish.rest.util :refer [build-response build-response-body]]
[clojure.spec.alpha :as s] [clojure.spec.alpha :as s]
[slingshot.slingshot :refer [try+ throw+]] [slingshot.slingshot :refer [try+ throw+]]
[clojure.core.async :refer [chan go go-loop close! <! >!! sub]] [clojure.core.async :refer [chan go go-loop close! <! >!! sub]]
+1
View File
@@ -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]] (:require [cheshire.core :refer [generate-string]]
[clojure.string :refer [split starts-with? ends-with?]])) [clojure.string :refer [split starts-with? ends-with?]]))
+9
View File
@@ -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 (ns skirmish.exchange-test
(:import [book.PersistentSortedList]) (:import [skirmish.PersistentSortedList])
(:require [midje.sweet :refer :all] (:require [midje.sweet :refer :all]
[book.exchange :refer :all] [skirmish.exchange :refer :all]
[book.match :refer [create-buy-book [skirmish.match :refer [create-buy-book
create-sell-book]])) create-sell-book]]))
(def PersistentSortedList? (comp #(= % book.PersistentSortedList) type)) (def PersistentSortedList? (comp #(= % skirmish.PersistentSortedList) type))
(facts "the exchange as an whole" (facts "the exchange as an whole"
(fact "process-sell-order should work when book empty" (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] (: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" (facts "matching buy order in sell book"
@@ -112,7 +112,7 @@
order {:type :sell :quantity 21 :price 13 :book.order/id 118} order {:type :sell :quantity 21 :price 13 :book.order/id 118}
[_ new-book _] (match-order-in-book book order)] [_ new-book _] (match-order-in-book book order)]
(count new-book) => 0 (count new-book) => 0
(type new-book) => book.PersistentSortedList))) (type new-book) => skirmish.PersistentSortedList)))
;(fact "should not fuck up" ;(fact "should not fuck up"
; (let [order-1 {:type :buy :quantity 4 :price 4 :book.order/id 5} ; (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} ; order-2 {:type :sell :quantity 2 :price 3 :book.order/id 6}
@@ -1,5 +1,5 @@
(ns book.rest.util-test (ns skirmish.rest.util-test
(:require [book.rest.util :refer [build-response]] (:require [skirmish.rest.util :refer [build-response]]
[midje.sweet :refer :all] [midje.sweet :refer :all]
[clojure.test :refer :all])) [clojure.test :refer :all]))
@@ -1,6 +1,6 @@
(ns book.test-PersistentSortedList (ns skirmish.test-PersistentSortedList
(:require [midje.sweet :refer :all] (: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 2 3 2)) => (sorted-list 2 2 3)
(rest (sorted-list 1)) => (sorted-list) (rest (sorted-list 1)) => (sorted-list)
(rest (sorted-list)) => empty? (rest (sorted-list)) => empty?
(str (type (rest (sorted-list)))) => "class book.PersistentSortedList") (str (type (rest (sorted-list)))) => "class skirmish.PersistentSortedList")
(fact "next" (fact "next"
(next (sorted-list 1 2 3)) => (sorted-list 2 3) (next (sorted-list 1 2 3)) => (sorted-list 2 3)
(next (sorted-list 1 2 3 2)) => (sorted-list 2 2 3) (next (sorted-list 1 2 3 2)) => (sorted-list 2 2 3)