Как автоматизировать запуск причала/appengine-magic и swank?

StackOverflow https://stackoverflow.com/questions/5310314

Вопрос

С моим проектом Clojure/Appengine-Magic я в настоящее время начинаю так:

lein repl

(doto 'tlog.core require in-ns)
(compile 'tlog.core)
(ae/start tlog-app)
(require 'swank.swank) (swank.swank/start-repl 4005)

tlog.core имеет:

(:require [appengine-magic.core :as ae])

В качестве альтернативы, вместо AE/Start я мог бы использовать, я думаю:

(use 'ring.adapter.jetty)
(run-jetty (var tlog.core/tlog-app-handler) {:port 8080})

Я хотел бы поставить все это за одну команду.

Все попытки справиться с этим через -main используется с lein run или написание плагина Leiningen не удалось из -за проблем пространства имен/пути.

Так как это можно сделать?

Это было полезно?

Решение

Благодаря примеру, приведенному кем -то, кто предпочел не отвечать здесь, у меня теперь довольно хорошее решение.

Дополнение к моему проекту.clj:

:repl-init-script "src/tlog/init_repl.clj"

Будет вызвано при запуске lein repl.

init-repl.clj:

(ns user
  "Init script for Leiningen REPL."
  (:require [appengine-magic.core :as ae])
  (:use [clojure.stacktrace]
        [clojure.contrib.repl-utils :only (show)]
        [tlog.core]))

(defn reload!
  "Force a reload of everything."
  []
  (require 'tlog.core :reload-all))

(compile 'tlog.core)
(ae/serve tlog-app)
(println "Interactive Jetty instance started. To force a reload: (reload!)")

(require 'swank.swank) (swank.swank/start-repl 4005)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top