Update deploy task
This commit is contained in:
parent
7ff1e2ed43
commit
8baf33ec80
5 changed files with 42 additions and 28 deletions
|
@ -7,7 +7,6 @@
|
||||||
:license {:name "Eclipse Public License"}
|
:license {:name "Eclipse Public License"}
|
||||||
:dependencies [[leiningen-core "2.0.0-SNAPSHOT"]
|
:dependencies [[leiningen-core "2.0.0-SNAPSHOT"]
|
||||||
[clucy "0.2.2"]
|
[clucy "0.2.2"]
|
||||||
[lancet "1.0.1"]
|
|
||||||
[stencil "0.2.0"]
|
[stencil "0.2.0"]
|
||||||
[useful "0.7.6-alpha1"]
|
[useful "0.7.6-alpha1"]
|
||||||
[org.clojars.ninjudd/data.xml "0.0.1-SNAPSHOT"]]
|
[org.clojars.ninjudd/data.xml "0.0.1-SNAPSHOT"]]
|
||||||
|
|
|
@ -103,30 +103,30 @@
|
||||||
;; if any artifacts are not found, Maven Central will still be reported to
|
;; if any artifacts are not found, Maven Central will still be reported to
|
||||||
;; have been checked, even though it was not.
|
;; have been checked, even though it was not.
|
||||||
:omit-default-repositories true
|
:omit-default-repositories true
|
||||||
:repositories {"java.net" "http://download.java.net/maven/2"
|
:repositories [["java.net" "http://download.java.net/maven/2"]
|
||||||
"sonatype"
|
["sonatype"
|
||||||
{:url "http://oss.sonatype.org/content/repositories/releases"
|
{:url "http://oss.sonatype.org/content/repositories/releases"
|
||||||
;; If a repository contains releases only; setting :snapshots
|
;; If a repository contains releases only; setting :snapshots
|
||||||
;; to false will speed up dependency checking.
|
;; to false will speed up dependency checking.
|
||||||
:snapshots false
|
:snapshots false
|
||||||
;; You can also set the policies for how to handle :checksum
|
;; You can also set the policies for how to handle :checksum
|
||||||
;; failures to :fail, :warn, or :ignore. In :releases, :daily,
|
;; failures to :fail, :warn, or :ignore. In :releases, :daily,
|
||||||
;; :always, and :never are supported.
|
;; :always, and :never are supported.
|
||||||
:releases {:checksum :fail
|
:releases {:checksum :fail
|
||||||
:update :always}}
|
:update :always}}]
|
||||||
;; Repositories named "snapshots" and "releases" automatically
|
;; Repositories named "snapshots" and "releases" automatically
|
||||||
;; have their :snapshots and :releases disabled as appropriate.
|
;; have their :snapshots and :releases disabled as appropriate.
|
||||||
"snapshots" {:url "http://blueant.com/archiva/snapshots"
|
["snapshots" {:url "http://blueant.com/archiva/snapshots"
|
||||||
;; Also supports :private-key and :passphrase.
|
;; Also supports :private-key and :passphrase.
|
||||||
:username "milgrim" :password "locative.1"}
|
:username "milgrim" :password "locative.1"}]
|
||||||
"releases" {:url "http://blueant.com/archiva/internal"
|
["releases" {:url "http://blueant.com/archiva/internal"
|
||||||
:username "milgrim" :password "locative.1"}}
|
:username "milgrim" :password "locative.1"}]]
|
||||||
;; the deploy task will give preference to repositories specified in
|
;; the deploy task will give preference to repositories specified in
|
||||||
;; :deploy-repositories, and repos listed there will not be used for
|
;; :deploy-repositories, and repos listed there will not be used for
|
||||||
;; dependency resolution
|
;; dependency resolution
|
||||||
:deploy-repositories {"releases" {:url "http://blueant.com/archiva/internal/releases"
|
:deploy-repositories [["releases" {:url "http://blueant.com/archiva/internal/releases"
|
||||||
:username "milgrim" :password "locative.1"}
|
:username "milgrim" :password "locative.1"}]
|
||||||
"snapshots" "http://blueant.com/archiva/internal/snapshots"}
|
["snapshots" "http://blueant.com/archiva/internal/snapshots"]]
|
||||||
;; If you'd rather use a different directory structure, you can set these.
|
;; If you'd rather use a different directory structure, you can set these.
|
||||||
:source-path ["src" "src/main/clojure"]
|
:source-path ["src" "src/main/clojure"]
|
||||||
:compile-path "target/classes" ; for .class files
|
:compile-path "target/classes" ; for .class files
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
(ns leiningen.deploy
|
(ns leiningen.deploy
|
||||||
"Build and deploy jar to remote repository."
|
"Build and deploy jar to remote repository."
|
||||||
(:require [lancet.core :as lancet])
|
(:require [cemerick.pomegranate.aether :as aether])
|
||||||
(:use [leiningen.core :only [abort repositories-for]]
|
(:use [leiningen.core :only [abort repositories-for]]
|
||||||
[leiningen.jar :only [jar]]
|
[leiningen.jar :only [jar]]
|
||||||
[leiningen.pom :only [pom snapshot?]]
|
[leiningen.pom :only [pom snapshot?]]
|
||||||
|
@ -27,7 +27,25 @@ control:
|
||||||
(def leiningen-auth {\"https://blueant.com/archiva/internal\"
|
(def leiningen-auth {\"https://blueant.com/archiva/internal\"
|
||||||
{:passphrase \"vorpalbunny\"}})
|
{:passphrase \"vorpalbunny\"}})
|
||||||
"
|
"
|
||||||
([project repository-name])
|
([project repository-name]
|
||||||
|
(let [jarfile (jar project)
|
||||||
|
pomfile (pom project)
|
||||||
|
repo-opts (or (get (apply hash-map (flatten (:deploy-repositories project))) repository-name)
|
||||||
|
(get (apply hash-map (flatten (:repositories project))) repository-name))
|
||||||
|
repo (if repo-opts
|
||||||
|
{repository-name repo-opts}
|
||||||
|
{"inline" repository-name})]
|
||||||
|
(if (number? jarfile)
|
||||||
|
;; if we failed to create the jar, return the status code for exit
|
||||||
|
jarfile
|
||||||
|
(do ;; (install-shell-wrappers (JarFile. jarfile))
|
||||||
|
(aether/deploy :coordinates [(symbol (:group project)
|
||||||
|
(:name project))
|
||||||
|
(:version project)]
|
||||||
|
:jar-file (file jarfile)
|
||||||
|
:pom-file (file pomfile)
|
||||||
|
:repository repo)
|
||||||
|
0))))
|
||||||
([project]
|
([project]
|
||||||
(deploy project (if (snapshot? project)
|
(deploy project (if (snapshot? project)
|
||||||
"snapshots"
|
"snapshots"
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
(:use [clojure.test]
|
(:use [clojure.test]
|
||||||
[clojure.java.io :only [file]]
|
[clojure.java.io :only [file]]
|
||||||
[leiningen.deploy]
|
[leiningen.deploy]
|
||||||
[leiningen.core :only [read-project defproject]]
|
|
||||||
[leiningen.test.helper :only [delete-file-recursively
|
[leiningen.test.helper :only [delete-file-recursively
|
||||||
tmp-dir sample-project]]))
|
tmp-dir sample-project]]))
|
||||||
|
|
||||||
|
@ -40,7 +39,5 @@
|
||||||
(testing "preferring repository specified in :deploy-repositories over one specified in :repositories"
|
(testing "preferring repository specified in :deploy-repositories over one specified in :repositories"
|
||||||
(deploy-snapshots (assoc sample-project
|
(deploy-snapshots (assoc sample-project
|
||||||
:deploy-repositories
|
:deploy-repositories
|
||||||
{"snapshots" (-> "deploy-only-repo" repo-path repo-url)})
|
[["snapshots" (-> "deploy-only-repo" repo-path repo-url)]])
|
||||||
"deploy-only-repo")))
|
"deploy-only-repo")))
|
||||||
|
|
||||||
(doseq [[_ var] (ns-publics *ns*)] (alter-meta! var assoc :busted true))
|
|
2
todo.org
2
todo.org
|
@ -58,7 +58,7 @@ See also https://github.com/technomancy/leiningen/issues
|
||||||
- [ ] deps (native-deps and :repositories options)
|
- [ ] deps (native-deps and :repositories options)
|
||||||
- [ ] compile (transitive cleaning)
|
- [ ] compile (transitive cleaning)
|
||||||
- [ ] shell wrappers
|
- [ ] shell wrappers
|
||||||
- [ ] deploy
|
- [X] deploy
|
||||||
- [ ] javac (can we do this without ant?)
|
- [ ] javac (can we do this without ant?)
|
||||||
- [ ] trampoline
|
- [ ] trampoline
|
||||||
* For 1.6.2
|
* For 1.6.2
|
||||||
|
|
Loading…
Reference in a new issue