diff --git a/Makefile b/Makefile
index faa220c..e562e6a 100644
--- a/Makefile
+++ b/Makefile
@@ -18,3 +18,11 @@ repl: storage/site.db
jar: db
clojure -T:build uberjar
mv target/*.jar .
+
+
+run-jar: jar
+ java -jar score-the-pigs.jar
+
+.PHONY: deploy
+deploy:
+ fly deploy --local-only
diff --git a/deps.edn b/deps.edn
index b4d4978..86e097e 100644
--- a/deps.edn
+++ b/deps.edn
@@ -35,6 +35,7 @@
com.github.seancorfield/honeysql {:mvn/version "2.6.1126"}
migratus/migratus {:mvn/version "1.5.6"}
+ babashka/fs {:mvn/version "0.5.24"}
babashka/process {:mvn/version "0.6.23"}}
:aliases
diff --git a/resources/config.edn b/resources/config.edn
index 6feb850..272ad7d 100644
--- a/resources/config.edn
+++ b/resources/config.edn
@@ -6,7 +6,7 @@
:default "0.0.0.0"}
:biff/port 8080
- :example/db-url #profile {:prod "jdbc:sqlite:/storage/site.db"
+ :example/db-url #profile {:prod "jdbc:sqlite:/app/storage/site.db"
:default "jdbc:sqlite:storage/site.db"}
:biff.beholder/enabled #profile {:dev true
@@ -18,7 +18,6 @@
:biff.refresh/enabled #profile {:dev true
:default false}
-
:biff.nrepl/port #or [#biff/env NREPL_PORT "7888"]
:biff.nrepl/args ["--port" #ref [:biff.nrepl/port]
"--middleware" "[cider.nrepl/cider-middleware,refactor-nrepl.middleware/wrap-refactor]"]
diff --git a/resources/migrations/init.sql b/resources/migrations/init.sql
new file mode 100644
index 0000000..b30ee49
--- /dev/null
+++ b/resources/migrations/init.sql
@@ -0,0 +1 @@
+PRAGMA journal_mode=WAL;
diff --git a/src/com/biffweb/my_project.clj b/src/com/biffweb/my_project.clj
deleted file mode 100644
index 020ae15..0000000
--- a/src/com/biffweb/my_project.clj
+++ /dev/null
@@ -1,90 +0,0 @@
-(ns com.biffweb.my-project
- (:require
- [clojure.test :as test]
- [com.biffweb :as biff]
- [com.score-the-pigs.app :as app]
- [com.score-the-pigs.middleware :as mid]
- [com.score-the-pigs.ui :as ui]
- [migratus.core :as migratus]
- [next.jdbc :as jdbc]
- [nrepl.cmdline :as nrepl-cmd]
- [taoensso.telemere.timbre :as log])
- (:gen-class))
-
-(set! *warn-on-reflection* true)
-
-(def modules
- [app/module])
-
-(def routes [["" {:middleware [mid/wrap-site-defaults]}
- (keep :routes modules)]
- ["" {:middleware [mid/wrap-api-defaults]}
- (keep :api-routes modules)]])
-
-(def handler (-> (biff/reitit-handler {:routes routes})
- mid/wrap-base-defaults))
-
-(def static-pages (apply biff/safe-merge (map :static modules)))
-
-(defn generate-assets! [_ctx]
- (biff/export-rum static-pages "target/resources/public")
- (biff/delete-old-files {:dir "target/resources/public"
- :exts [".html"]}))
-
-(defn on-save [ctx]
- (biff/add-libs)
- (biff/eval-files! ctx)
- (generate-assets! ctx)
- (biff/catchall (require 'com.biffweb.my-project-test))
- (test/run-all-tests #"com.biffweb.my-project.*-test"))
-
-(def initial-system
- {:biff/modules #'modules
- :biff/merge-context-fn identity
- :biff/handler #'handler
- :biff.beholder/on-save #'on-save
- :biff.middleware/on-error #'ui/on-error
- :example/chat-clients (atom {})})
-
-(defonce system (atom {}))
-
-(defn ctx->migratus-config [ctx]
- {:store :database
- :migration-dir "migrations/"
- :db {:connection (jdbc/get-connection (:example/db-url ctx))
- :managed-connection? true}})
-
-(defn use-sqlite [ctx]
- (let [db-url (get ctx :example/db-url)
- ds (jdbc/get-datasource db-url)
- migration-config (ctx->migratus-config ctx)]
-
- (migratus/init migration-config)
- (migratus/migrate migration-config)
- (assoc ctx :example/ds ds)))
-
-(def components
- [biff/use-aero-config
- use-sqlite
- biff/use-queues
- biff/use-htmx-refresh
- biff/use-jetty
- biff/use-chime
- biff/use-beholder])
-
-(defn start []
- (let [new-system (reduce (fn [system component]
- (log/info "starting:" (str component))
- (component system))
- initial-system
- components)]
- (reset! system new-system)
- (generate-assets! new-system)
- (log/info "System started.")
- (log/info "Go to" (:biff/base-url new-system))
- new-system))
-
-(defn -main []
- (let [{:keys [biff.nrepl/args]} (start)]
- (apply nrepl-cmd/-main args)))
-
diff --git a/src/com/score_the_pigs.clj b/src/com/score_the_pigs.clj
index 16af238..c9ccde0 100644
--- a/src/com/score_the_pigs.clj
+++ b/src/com/score_the_pigs.clj
@@ -1,7 +1,5 @@
(ns com.score-the-pigs
(:require
- [babashka.process :as process]
- [clojure.string :as str]
[clojure.test :as test]
[com.biffweb :as biff]
[com.score-the-pigs.app :as app]
@@ -61,14 +59,10 @@
(defn use-sqlite [ctx]
(let [db-url (get ctx :example/db-url)
ds (jdbc/get-datasource db-url)
- migration-config (ctx->migratus-config ctx)
- db-loc (last (str/split db-url #":"))]
-
- (process/shell (str "rm -rf " db-loc "*"))
- (process/shell (str "sqlite3 " db-loc " 'PRAGMA journal_mode=WAL;'"))
+ migration-config (ctx->migratus-config ctx)]
(migratus/init migration-config)
- (migratus/reset migration-config)
+ (migratus/migrate migration-config)
(assoc ctx :example/ds ds)))
(defn use-jetty [{:biff/keys [host port handler]
diff --git a/vendor/babashka/fs/0.4.18/_remote.repositories b/vendor/babashka/fs/0.4.18/_remote.repositories
new file mode 100644
index 0000000..803d43f
--- /dev/null
+++ b/vendor/babashka/fs/0.4.18/_remote.repositories
@@ -0,0 +1,4 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Fri Apr 11 12:29:29 EDT 2025
+fs-0.4.18.jar>clojars=
+fs-0.4.18.pom>clojars=
diff --git a/vendor/babashka/fs/0.4.18/fs-0.4.18.jar.sha1 b/vendor/babashka/fs/0.4.18/fs-0.4.18.jar.sha1
new file mode 100644
index 0000000..d174de8
--- /dev/null
+++ b/vendor/babashka/fs/0.4.18/fs-0.4.18.jar.sha1
@@ -0,0 +1 @@
+496a5bdcc1b6266590229c22397a7e3b62b83873
\ No newline at end of file
diff --git a/vendor/babashka/fs/0.4.18/fs-0.4.18.pom b/vendor/babashka/fs/0.4.18/fs-0.4.18.pom
new file mode 100644
index 0000000..fb05148
--- /dev/null
+++ b/vendor/babashka/fs/0.4.18/fs-0.4.18.pom
@@ -0,0 +1,83 @@
+
+
+ 4.0.0
+ babashka
+ fs
+ jar
+ 0.4.18
+ fs
+ Babashka file system utilities.
+ https://github.com/babashka/fs
+
+
+ Eclipse Public License 1.0
+ http://opensource.org/licenses/eclipse-1.0.php
+
+
+
+ https://github.com/babashka/fs
+ scm:git:git://github.com/babashka/fs.git
+ scm:git:ssh://git@github.com/babashka/fs.git
+ 867977ab344221cf3b6839ae658aa015d052f985
+
+
+ src
+ test
+
+
+ resources
+
+
+
+
+ resources
+
+
+ target
+ target/classes
+
+
+
+
+ central
+ https://repo1.maven.org/maven2/
+
+ false
+
+
+ true
+
+
+
+ clojars
+ https://repo.clojars.org/
+
+ true
+
+
+ true
+
+
+
+
+
+
+
+
+ org.clojure
+ clojure
+ 1.9.0
+
+
+ clj-commons
+ conch
+ 0.9.2
+ test
+
+
+
+
+
diff --git a/vendor/babashka/fs/0.4.18/fs-0.4.18.pom.sha1 b/vendor/babashka/fs/0.4.18/fs-0.4.18.pom.sha1
new file mode 100644
index 0000000..1a0d1e8
--- /dev/null
+++ b/vendor/babashka/fs/0.4.18/fs-0.4.18.pom.sha1
@@ -0,0 +1 @@
+dc8dd38568b9ec718e5bbfe5d076484318d7e094
\ No newline at end of file
diff --git a/vendor/babashka/fs/0.5.24/_remote.repositories b/vendor/babashka/fs/0.5.24/_remote.repositories
new file mode 100644
index 0000000..f91642b
--- /dev/null
+++ b/vendor/babashka/fs/0.5.24/_remote.repositories
@@ -0,0 +1,4 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Fri Apr 11 10:53:11 EDT 2025
+fs-0.5.24.jar>clojars=
+fs-0.5.24.pom>clojars=
diff --git a/vendor/babashka/fs/0.5.24/fs-0.5.24.jar.sha1 b/vendor/babashka/fs/0.5.24/fs-0.5.24.jar.sha1
new file mode 100644
index 0000000..bca37e9
--- /dev/null
+++ b/vendor/babashka/fs/0.5.24/fs-0.5.24.jar.sha1
@@ -0,0 +1 @@
+b8b8045cac15c83db6b2e47187b83f2f378d7e56
\ No newline at end of file
diff --git a/vendor/babashka/fs/0.5.24/fs-0.5.24.pom b/vendor/babashka/fs/0.5.24/fs-0.5.24.pom
new file mode 100644
index 0000000..d65db61
--- /dev/null
+++ b/vendor/babashka/fs/0.5.24/fs-0.5.24.pom
@@ -0,0 +1,83 @@
+
+
+ 4.0.0
+ babashka
+ fs
+ jar
+ 0.5.24
+ fs
+ Babashka file system utilities.
+ https://github.com/babashka/fs
+
+
+ Eclipse Public License 1.0
+ http://opensource.org/licenses/eclipse-1.0.php
+
+
+
+ https://github.com/babashka/fs
+ scm:git:git://github.com/babashka/fs.git
+ scm:git:ssh://git@github.com/babashka/fs.git
+ 063e00b2d24f99e77b7c62556eab1930b7b1e2fc
+
+
+ src
+ test
+
+
+ resources
+
+
+
+
+ resources
+
+
+ target
+ target/classes
+
+
+
+
+ central
+ https://repo1.maven.org/maven2/
+
+ false
+
+
+ true
+
+
+
+ clojars
+ https://repo.clojars.org/
+
+ true
+
+
+ true
+
+
+
+
+
+
+
+
+ org.clojure
+ clojure
+ 1.9.0
+
+
+ clj-commons
+ conch
+ 0.9.2
+ test
+
+
+
+
+
diff --git a/vendor/babashka/fs/0.5.24/fs-0.5.24.pom.sha1 b/vendor/babashka/fs/0.5.24/fs-0.5.24.pom.sha1
new file mode 100644
index 0000000..2062283
--- /dev/null
+++ b/vendor/babashka/fs/0.5.24/fs-0.5.24.pom.sha1
@@ -0,0 +1 @@
+698b87f2cd474875a48f6a2c4282c7e5d446a2a1
\ No newline at end of file
diff --git a/vendor/com/github/liquidz/antq/2.11.1276/_remote.repositories b/vendor/com/github/liquidz/antq/2.11.1276/_remote.repositories
new file mode 100644
index 0000000..c5a9d4e
--- /dev/null
+++ b/vendor/com/github/liquidz/antq/2.11.1276/_remote.repositories
@@ -0,0 +1,4 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Fri Apr 11 12:42:32 EDT 2025
+antq-2.11.1276.jar>clojars=
+antq-2.11.1276.pom>clojars=
diff --git a/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.jar.sha1 b/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.jar.sha1
new file mode 100644
index 0000000..76d549a
--- /dev/null
+++ b/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.jar.sha1
@@ -0,0 +1 @@
+e59d97f8497bfa83553b4393576b4db7ebabcaec
\ No newline at end of file
diff --git a/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.pom b/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.pom
new file mode 100644
index 0000000..a4f9acb
--- /dev/null
+++ b/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.pom
@@ -0,0 +1,93 @@
+
+
+ 4.0.0
+ jar
+ com.github.liquidz
+ antq
+ 2.11.1276
+ antq
+
+
+ org.clojure
+ data.json
+ 2.5.1
+
+
+ org.clojure
+ clojure
+ 1.12.0
+
+
+ org.clojure
+ tools.cli
+ 1.1.230
+
+
+ org.clojure
+ data.zip
+ 1.1.0
+
+
+ rewrite-clj
+ rewrite-clj
+ 1.1.49
+
+
+ org.clojure
+ data.xml
+ 0.2.0-alpha9
+
+
+ pogonos
+ pogonos
+ 0.2.1
+
+
+ clj-commons
+ clj-yaml
+ 1.0.29
+
+
+ org.clojure
+ tools.deps
+ 0.23.1512
+
+
+ version-clj
+ version-clj
+ 2.0.3
+
+
+ com.github.liquidz
+ rewrite-indented
+ 0.2.44
+
+
+ org.clojure
+ core.async
+ 1.7.701
+
+
+
+ src
+
+
+
+ clojars
+ https://repo.clojars.org/
+
+
+
+ scm:git:git://github.com/liquidz/antq.git
+ scm:git:ssh://git@github.com/liquidz/antq.git
+ 2.11.1276
+ https://github.com/liquidz/antq
+
+ Point out your outdated dependencies
+
+
+ Eclipse Public License - v 2.0
+ https://www.eclipse.org/legal/epl-2.0/
+
+
+
diff --git a/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.pom.sha1 b/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.pom.sha1
new file mode 100644
index 0000000..4bda8c4
--- /dev/null
+++ b/vendor/com/github/liquidz/antq/2.11.1276/antq-2.11.1276.pom.sha1
@@ -0,0 +1 @@
+1b6d50eba16f8e6d5ccd2c71107e4b2ea27dc789
\ No newline at end of file
diff --git a/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml b/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml
index 402119a..6c2b2b7 100644
--- a/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml
+++ b/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml
@@ -3,7 +3,7 @@
com.github.liquidz
antq
- 2.11.1269
+ 2.11.1276
0.12.0
0.12.1
@@ -89,7 +89,8 @@
2.11.1260
2.11.1264
2.11.1269
+ 2.11.1276
- 20250223221714
+ 20250315015136
diff --git a/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml.sha1 b/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml.sha1
index 418987b..fab2bbb 100644
--- a/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml.sha1
+++ b/vendor/com/github/liquidz/antq/maven-metadata-clojars.xml.sha1
@@ -1 +1 @@
-1214ea103d285c51fbf352af898be19a8ce4f52d
\ No newline at end of file
+6248cbf312ed6c60ee409774476cc028addc3543
\ No newline at end of file
diff --git a/vendor/com/github/liquidz/antq/resolver-status.properties b/vendor/com/github/liquidz/antq/resolver-status.properties
index 60ecc1e..66dc3be 100644
--- a/vendor/com/github/liquidz/antq/resolver-status.properties
+++ b/vendor/com/github/liquidz/antq/resolver-status.properties
@@ -1,5 +1,5 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
-#Fri Mar 14 19:37:39 EDT 2025
+#Fri Apr 11 12:42:31 EDT 2025
maven-metadata-central.xml.error=
-maven-metadata-central.xml.lastUpdated=1741995459679
-maven-metadata-clojars.xml.lastUpdated=1741995459689
+maven-metadata-central.xml.lastUpdated=1744389750995
+maven-metadata-clojars.xml.lastUpdated=1744389751000
diff --git a/vendor/org/clojure/tools.deps/0.23.1512/_remote.repositories b/vendor/org/clojure/tools.deps/0.23.1512/_remote.repositories
new file mode 100644
index 0000000..37fedd9
--- /dev/null
+++ b/vendor/org/clojure/tools.deps/0.23.1512/_remote.repositories
@@ -0,0 +1,4 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Fri Apr 11 12:42:31 EDT 2025
+tools.deps-0.23.1512.jar>central=
+tools.deps-0.23.1512.pom>central=
diff --git a/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.jar.sha1 b/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.jar.sha1
new file mode 100644
index 0000000..74f46d4
--- /dev/null
+++ b/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.jar.sha1
@@ -0,0 +1 @@
+d8945858b805409f82983aa5a23db1e7447f7f4a
\ No newline at end of file
diff --git a/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.pom b/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.pom
new file mode 100644
index 0000000..1b1231a
--- /dev/null
+++ b/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.pom
@@ -0,0 +1,215 @@
+
+ 4.0.0
+ tools.deps
+ 0.23.1512
+ tools.deps
+
+
+ org.clojure
+ pom.contrib
+ 1.2.0
+
+
+
+
+ puredanger
+ Alex Miller
+
+
+
+
+
+ true
+ 1.12.0
+ 1.8.2
+ 3.8.8
+
+
+ 1.12.0
+
+
+
+
+ org.clojure
+ clojure
+ ${clojure.version}
+
+
+ org.apache.maven.resolver
+ maven-resolver-api
+ ${resolverVersion}
+
+
+ org.apache.maven.resolver
+ maven-resolver-spi
+ ${resolverVersion}
+
+
+ org.apache.maven.resolver
+ maven-resolver-impl
+ ${resolverVersion}
+
+
+ org.apache.maven.resolver
+ maven-resolver-util
+ ${resolverVersion}
+
+
+ org.apache.maven.resolver
+ maven-resolver-connector-basic
+ ${resolverVersion}
+
+
+ org.apache.maven.resolver
+ maven-resolver-transport-file
+ ${resolverVersion}
+
+
+ org.apache.maven.resolver
+ maven-resolver-transport-http
+ ${resolverVersion}
+
+
+ org.apache.maven
+ maven-resolver-provider
+ ${mavenVersion}
+
+
+ org.apache.maven
+ maven-core
+ ${mavenVersion}
+
+
+ com.google.guava
+ guava
+
+
+
+
+ org.slf4j
+ slf4j-nop
+ 1.7.36
+ test
+
+
+ org.clojure
+ data.xml
+ 0.2.0-alpha9
+
+
+ org.clojure
+ tools.gitlibs
+ 2.6.206
+
+
+ org.clojure
+ tools.cli
+ 1.1.230
+
+
+ com.cognitect.aws
+ api
+ 0.8.723
+
+
+ org.eclipse.jetty
+ jetty-http
+
+
+ org.eclipse.jetty
+ jetty-client
+
+
+ org.eclipse.jetty
+ jetty-util
+
+
+
+
+ org.eclipse.jetty
+ jetty-http
+ 9.4.56.v20240826
+
+
+ org.eclipse.jetty
+ jetty-client
+ 9.4.56.v20240826
+
+
+ org.eclipse.jetty
+ jetty-client
+ 9.4.56.v20240826
+
+
+ com.cognitect.aws
+ endpoints
+ 871.2.29.39
+
+
+ com.cognitect.aws
+ s3
+ 871.2.29.35
+
+
+ javax.inject
+ javax.inject
+ 1
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.1.0
+
+
+
+ com.theoryinpractise
+ clojure-maven-plugin
+ 1.7.1
+ true
+
+ ${clojure.warnOnReflection}
+ true
+
+
+
+ clojure-compile
+ none
+
+
+ clojure-test
+ test
+
+ test
+
+
+
+
+
+
+
+
+ scm:git:git@github.com:clojure/tools.deps.git
+ scm:git:git@github.com:clojure/tools.deps.git
+ git@github.com:clojure/tools.deps.git
+ v0.23.1512
+
+
+
+
+ clojars
+ https://clojars.org/repo/
+
+
+
diff --git a/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.pom.sha1 b/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.pom.sha1
new file mode 100644
index 0000000..fad27b8
--- /dev/null
+++ b/vendor/org/clojure/tools.deps/0.23.1512/tools.deps-0.23.1512.pom.sha1
@@ -0,0 +1 @@
+2628e81c8120d032b1cb08f049e02c0abb54149c
\ No newline at end of file