Skip to content

Commit 946b732

Browse files
committed
Move to a single release script and use profiles.clj
1 parent d8161b1 commit 946b732

File tree

3 files changed

+70
-20
lines changed

3 files changed

+70
-20
lines changed

profiles.clj

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{:dev {:dependencies [[ch.qos.logback/logback-classic "1.0.0"]]}
2+
:slingshot-0.10.1 {:dependencies [[slingshot "0.10.1"]
3+
[org.clojure/clojure "1.2.1"]]}
4+
:clojure-1.2.1 {:dependencies [[slingshot "0.10.1"]
5+
[org.clojure/clojure "1.2.1"]]}
6+
:clojure-1.3.0 {:dependencies [[slingshot "0.10.1"]
7+
[org.clojure/clojure "1.3.0"]]}
8+
:clojure-1.4.0 {:dependencies [[slingshot "0.10.1"]
9+
[org.clojure/clojure "1.4.0-beta1"]]}
10+
:codox {:codox {:writer codox-md.writer/write-docs
11+
:version "0.4"
12+
:output-dir "doc/api/0.4"
13+
:exclude [clj-ssh.agent clj-ssh.reflect clj-ssh.keychain]}
14+
:dependencies [[codox-md "0.1.0" :exclusions [org.clojure/clojure]]]}
15+
:marginalia {:marginalia {:dir "doc/api/0.4"}}
16+
:release
17+
{:plugins [[lein-set-version "0.2.1"]]
18+
:set-version
19+
{:updates [{:path "README.md"
20+
:no-snapshot true
21+
:search-regex #"clj-ssh \"\d+\.\d+\.\d+\""}]}}}

project.clj

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
(defproject clj-ssh "0.4.1-SNAPSHOT"
22
:description "Library for using SSH from clojure."
33
:url "https://github.com/hugoduncan/clj-ssh"
4+
:license {:name "Eclipse Public License"
5+
:url "http://www.eclipse.org/legal/epl-v10.html"}
46
:dependencies [[org.clojure/clojure "1.2.1"]
57
[org.clojure/tools.logging "0.1.2"
68
:exclusions [org.clojure/clojure]]
@@ -9,23 +11,4 @@
911
:exclusions [com.jcraft/jsch-agent-proxy]]
1012
[slingshot "0.10.2"
1113
:exclusions [org.clojure/clojure]]
12-
[com.jcraft/jsch "0.1.48"]]
13-
:dev-dependencies [[ch.qos.logback/logback-classic "1.0.0"]]
14-
:profiles {:dev {:dependencies [[ch.qos.logback/logback-classic "1.0.0"]
15-
[codox-md "0.1.0"
16-
:exclusions [org.clojure/clojure]]]}}
17-
:multi-deps {"slingshot-0.10.1" [[slingshot "0.10.1"]
18-
[org.clojure/clojure "1.2.1"]]
19-
"clojure-1.2.1" [[slingshot "0.10.1"]
20-
[org.clojure/clojure "1.2.1"]]
21-
"clojure-1.3.0" [[slingshot "0.10.1"]
22-
[org.clojure/clojure "1.3.0"]]
23-
"clojure-1.4.0" [[slingshot "0.10.1"]
24-
[org.clojure/clojure "1.4.0-beta1"]]}
25-
:codox {:writer codox-md.writer/write-docs
26-
:version "0.4"
27-
:output-dir "doc/api/0.4"
28-
:exclude [clj-ssh.agent clj-ssh.reflect clj-ssh.keychain]}
29-
:marginalia {:dir "doc/api/0.4"}
30-
:license {:name "Eclipse Public License"
31-
:url "http://www.eclipse.org/legal/epl-v10.html"})
14+
[com.jcraft/jsch "0.1.48"]])

release.sh

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
3+
# start the release
4+
5+
if [[ $# -lt 3 ]]; then
6+
echo "usage: $(basename $0) previous-version new-version next-version" >&2
7+
exit 1
8+
fi
9+
10+
previous_version=$1
11+
version=$2
12+
next_version=$3
13+
14+
echo ""
15+
echo "Start release of $version, previous version is $previous_version"
16+
echo ""
17+
echo ""
18+
19+
lein do clean, test && \
20+
git flow release start $version || exit 1
21+
22+
lein with-profile release set-version ${version} :previous-version ${previous_version} \
23+
|| { echo "set version failed" >&2 ; exit 1; }
24+
25+
echo ""
26+
echo ""
27+
echo "Changes since $previous_version"
28+
git log --pretty=changelog $previous_version..
29+
echo ""
30+
echo ""
31+
echo "Now edit ReleaseNotes, README and project.clj"
32+
33+
$EDITOR ReleaseNotes.md
34+
$EDITOR README.md
35+
$EDITOR project.clj
36+
37+
echo -n "commiting release notes and readme. enter to continue:" && read x \
38+
&& git add ReleaseNotes.md README.md project.clj \
39+
&& git commit -m "Updated version, release notes and readme for $version" \
40+
&& echo -n "Peform release. enter to continue:" && read x \
41+
&& lein with-profile default:clojure-1.2.1:clojure-1.3.0:clojure-1.4.0 test \
42+
&& lein deploy clojars \
43+
&& git flow release finish $version \
44+
&& lein with-profile release set-version ${next_version} \
45+
&& git add project.clj \
46+
&& git commit -m "Updated version for next release cycle"

0 commit comments

Comments
 (0)