Как организовать, протестировать, документировать и упаковать проект Clojure - PullRequest
9 голосов
/ 14 ноября 2010

Я изучил некоторый Clojure, и в настоящее время у меня есть один .clj файл, который я редактирую в текстовом редакторе и выполняю в командной строке.

Где я могу найти руководство попрактические аспекты масштабирования до больших программ / библиотек?

  • Как мне разместить несколько файлов .clj в файловой системе?
  • Как организовать и выполнить тестовый код?
  • Как мне документировать программу / библиотеку?
  • Как мне ее упаковать?

Я ищу информацию о практических аспектах расширенияот небольших сценариев к чему-то реальному.

Ответы [ 3 ]

11 голосов
/ 14 ноября 2010

Я рекомендую использовать leiningen . Запуск

$ lein new myproject

создаст новую папку с именем myproject внутри вашего текущего рабочего каталога со структурой скелета по умолчанию.

Внутри только что созданной папки myproject вы найдете (среди прочего) папку с именем src для исходного кода clojure и папку с именем test для ваших тестов (leiningen сгенерирует тест по умолчанию, не пройденный). 1012 *

Leiningen позволит вам запускать тесты с lein test.

Вы можете упаковать свой проект как файл jar с помощью lein jar или создать uberjar (исполняемый файл jar со всеми необходимыми зависимостями) с помощью lein uberjar.

Для создания документации я рекомендую autodoc , который прекрасно интегрируется с leiningen.

2 голосов
/ 14 ноября 2010

Если вы используете Netbeans, существует плагин Clojure, который может быть вам полезен.

При создании проекта Clojure с ним создается группа папок: Source Packages, которая содержит пакет по умолчанию com.yourcompany, тестовые пакеты, библиотеки, содержащие JAR-файл для Clojure и ссылку на JDK, и тестовые библиотеки, содержащие JUnit.

1 голос
/ 01 декабря 2010

Я использую комбо из:

  • Intellij Idea с плагином La Clojure
  • Leiningen
  • Clojars
  • Midje , для тестирования / издевательства
  • Гит

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...