Как заставить `lein-repl` использовать` user` вместо `main` в целях разработки - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь настроить версию для разработки и рабочую версию своего приложения, используя leiningen через project.clj.

Как я могу иметь оба? Потому что я должен закомментировать часть :main моего project.clj, чтобы получить доступ к версии для разработки, когда я использую lein repl.

Поэтому я использую stuartsierra / reloaded шаблон leiningen , в котором есть хорошая среда разработки.

Он поставляется без ключа :main, и когда я добавил его, я перестал получать версию для разработки своего проекта.

Вместо того, чтобы видеть

user=>

Когда я набираю lein repl, я в конечном итоге вижу свой main, который находится в jaribu namespace

io.wakamau.jaribu=> ;; my main

Решение, которое, кажется, работает, - закомментировать :main часть project.clj.

(defproject io.wakamau/jaribu "0.1.0-SNAPSHOT"
  :description "trying out pedestal and component"
  :url "https://github.com/kevinmungai/jaribu"
  :license {:name "TODO: Choose a license"
            :url "http://choosealicense.com/"}
  :dependencies [[org.clojure/clojure "1.10.0"]
                 [com.stuartsierra/component "0.3.2"]]
  :profiles {:dev
               {:dependencies [[org.clojure/tools.namespace 0.2.11"]
                               [com.stuartsierra/component.repl "0.2.0"]]
                :source-paths ["dev"]}
             :uberjar {:aot [io.wakamau.jaribu]}}
  :main ^{:skip-aot true} io.wakamau.jaribu
  :min-lein-version "2.0.0")

пробует

lein repl

Результат:

io.wakamau.jaribu=>

когда :main закомментирован:

(defproject io.wakamau/jaribu "0.1.0-SNAPSHOT"
   ...
  ;; :main ^{:skip-aot true} io.wakamau.jaribu
  :min-lein-version "2.0.0")

результат:

user=>

Должен признать, что я мало что знаю об использовании leiningen.

1 Ответ

0 голосов
/ 03 января 2019

Вы можете указать :repl-options {:init-ns io.wakamau.jaribu=>} в project.clj. Вы также можете указать константы для разных сред в profiles.clj, например, :dev {:main io.wakamau.jaribu}. См. Также Как запустить REPL в пользовательском пространстве имен? .

...