Skip to content
Snippets Groups Projects
Unverified Commit 2c077888 authored by Daniel Higginbotham's avatar Daniel Higginbotham Committed by GitHub
Browse files

more REPL ergonomics (#10702) (#10744)

parent beff2d32
No related branches found
No related tags found
No related merge requests found
......@@ -62,3 +62,4 @@ target/checksum.txt
/resources/frontend_client/app/locales
*.iml
.idea/
/local/src
(ns dev
"Put everything needed for REPL development within easy reach"
(:require [metabase
[core :as mbc]
[db :as mdb]
[handler :as handler]
[plugins :as pluguns]
[server :as server]
[util :as u]]
[metabase.api.common :as api-common]
[metabase.models.interface :as mi]
[toucan.db :as tdb]))
(defn init!
[]
(mbc/init!))
(defn start!
[]
(metabase.server/start-web-server! #'metabase.handler/app)
(metabase.db/setup-db!)
(metabase.plugins/load-plugins!)
(metabase.core.initialization-status/set-complete!))
(defn stop!
[]
(metabase.server/stop-web-server!))
(defn restart!
[]
(stop!)
(start!))
(defn run-tests
[& ns-names]
(doseq [ns-name ns-names]
(require ns-name :reload))
(expectations/run-tests ns-names))
(defmacro require-model
"Rather than requiring all models inn the ns declaration, make it easy to require the ones you need for your current session"
[model-sym]
`(require [(symbol (str "metabase.models." (quote ~model-sym))) :as (quote ~model-sym)]))
(defmacro with-permissions
[permissions & body]
`(binding [api-common/*current-user-permissions-set* (delay ~permissions)]
~@body))
(ns user)
(defn dev
"Load and switch to the 'dev' namespace."
[]
(require 'dev)
(in-ns 'dev)
:loaded)
(ns user)
......@@ -151,7 +151,9 @@
:profiles
{:dev
{:dependencies
{:source-paths ["dev/src" "local/src"]
:dependencies
[[clj-http-fake "1.0.3" :exclusions [slingshot]] ; Library to mock clj-http responses
[expectations "2.1.10"] ; unit tests
[ring/ring-mock "0.3.2"]]
......@@ -247,7 +249,7 @@
[[jonase/eastwood "0.3.1" :exclusions [org.clojure/clojure]]]
:eastwood
{:exclude-namespaces [:test-paths]
{:exclude-namespaces [:test-paths dev]
:config-files ["./test_resources/eastwood-config.clj"]
:add-linters [:unused-private-vars
:unused-namespaces
......@@ -283,7 +285,7 @@
:check-namespace-decls
[:include-all-drivers
{:plugins [[lein-check-namespace-decls "1.0.2"]]
:source-paths ["test"]
:source-paths ^:replace ["src" "test"]
:check-namespace-decls {:prefix-rewriting true}}]
;; build the uberjar with `lein uberjar`
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment