KEMBAR78
Clojure cnclojure-meetup | ODP
LifeCycle Management for Clojure Development Clojure 开发的生命周期管理
About Me 孙宁
@Sunng
Tekelec, Nanjing
http://sunng.info/
http://github.com/sunng87
My Clojure Projects Reddit.clj
Lein-control / Clojure-Control
Geohash
Rage Viewer http://rageviewer.cloudfoundry.com/
Agenda 构建工具
版本控制
IDE
开发
发布
部署
Agenda 构建工具
版本控制
IDE
开发
发布
部署
Build Tools Lancet
Leiningen  ['laɪnɪŋən]
Cake
Maven
Gradle
Build - Lancet 基于Ant的Clojure构建工具(库)
build.clj 以clojure语法替代Ant XML
作为Programming Clojure一书的例子
Build Tools - Leiningen 基于Lancet库
基于Maven的依赖管理/共享Maven本地仓库
标准的项目骨架
基于插件的扩展机制 lein-ring 用于web开发 常用Task new/deps/repl/test/install/uberjar
Build Tools - Leiningen (defproject clooj "0.1.18" :description "clooj, a small IDE for clojure" :main clooj.core :dependencies [[clojure "1.2.1"] [clojure-contrib "1.2.0"]])
Build Tools - Leiningen (defproject reddit.clj "0.2.0" :description "A reddit API wrapper for clojure" :dependencies [[org.clojure/clojure "1.2.1"],  [clj-http "0.1.3"], [org.clojure/clojure-contrib "1.2.0"]] :dev-dependencies [[lein-clojars "0.6.0"] [org.clojars.weavejester/autodoc "0.9.0" :exclusions [ org.clojure/clojure-contrib org.clojure/clojure]]])
Build Tools - Leiningen (defproject rageviewer "1.0.0-SNAPSHOT" :description "A rage comic viewer" :dependencies [[org.clojure/clojure "1.2.1"] [org.clojure/clojure-contrib "1.2.0"] [compojure "0.6.5"] [reddit.clj "0.1.1"] [clj-redis "0.0.12"]] :dev-dependencies [[lein-ring "0.4.5"] [lein-control "0.1.1"]] :ring {:handler rageviewer.core/app :init  rageviewer.core/app-init})
Build Tools - Leiningen Lein 与 Maven 的区别 简化的 coordinator
dependencies 和 dev-dependencies
依赖拷贝到项目目录( Ant 方式)
支持可运行的插件(例如 swank-clojure )
Build Tools - Cake 兼容lein的项目框架,兼容lein的project.clj
快速启动 JVM后台进程 / Ruby 命令行客户端 改进的Task定义DSL Explanation on StackOverflow
Build Tools - Maven clojure-quickstart  Archetype Github page clojure-maven-plugin clojure-contrib基于这个插件  pom.xml
Build Tools - Gradle Clojuresque, Gradle的clojure插件 Bitbucket page apply plugin: "clojure" repositories { mavenCentral() clojarsRepo() } dependencies { compile 'org.clojure:clojure:1.2.1' }
Build Tools - Wrap Up 对原生的clojure项目优先选择lein 社区事实标准
大量插件 频繁构建可以考虑cake/lein interactive

Clojure cnclojure-meetup