project.clj от Leiningen определяет переменную project, которая представляет собой не что иное, как карту с ключами, обозначающими параметры проекта (в Clojure идиомой является использование def[name] для создания переменной с именем [name], которое обычно представляет собой карту — самую простую, но очень полезную структуру данных).
См. значения по умолчанию. var в исходном коде Leiningen 2 для значений по умолчанию.
С учетом сказанного, прежде чем вызывать defproject, вы можете делать в файле project.clj все, что хотите — в конце концов, это сценарий Clojure, и ваше воображение (и знакомство с Clojure) — это единственное, что может вас ограничивать. На самом деле, вы можете делать с переменной var все, что захотите, после ее создания. Думайте о project.clj как о приложении Clojure для управления вашим проектом.
Например, до того, как в Leiningen 2 были введены профили, существовала «уловка» — иметь одну переменную с общими зависимостями для атрибутов :dependencies и :dev-dependencies. Просто предупреждаю вас еще раз - в Leiningen 2 в этом больше нет необходимости, поскольку он предлагает возможность профиля. Прочтите статью Тестирование вашего проекта на нескольких версии Clojure, если вам интересно, как это было в прошлом.
person
Jacek Laskowski
schedule
08.11.2012