project.clj понимание некоторых частей

Я создаю веб-приложение с duct шаблоном.

Теперь я смотрю на project.clj, чтобы посмотреть, как это работает.

Но я не знаю, правильно ли я понял эту конкретную часть:

 {:dev  [:project/dev  :profiles/dev]
   :test [:project/test :profiles/test]
   :uberjar {:aot :all}
   :profiles/dev  {}
   :profiles/test {}
   :project/dev   {:dependencies [[duct/generate "0.6.1"]
                                  [reloaded.repl "0.2.1"]
                                  [org.clojure/tools.namespace "0.2.11"]
                                  [org.clojure/tools.nrepl "0.2.12"]
                                  [eftest "0.1.1"]
                                  [kerodon "0.7.0"]]
                   :source-paths ["dev"]
                   :repl-options {:init-ns user}
                   :env {:port "3000"}}

Например:

Что это [:project/dev :profiles/dev] означает? и почему у меня ключ :dev и ключ :project/dev. Я знаю, что это, вероятно, о файле profiles.clj. Но я не совсем правильно понял.

Может быть, мой вопрос покажется немного глупым, но я надеюсь, что я ясно выразился.


person Édipo Féderle    schedule 25.05.2016    source источник


Ответы (1)


Это описано в составных профилях:

Иногда полезно определить профиль как комбинацию других профилей. Для этого просто используйте вектор вместо карты в качестве значения профиля. Это можно использовать, чтобы избежать дублирования:

{:shared {:port 9229, :protocol "https"}
 :qa [:shared {:servers ["qa.mycorp.com"]}]
 :stage [:shared {:servers ["stage.mycorp.com"]}]
 :production [:shared {:servers ["prod1.mycorp.com", "prod1.mycorp.com"]}]}
person ClojureMostly    schedule 25.05.2016