releaser 0.0.8 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Releaser #
2
2
 
3
- [![Build Status](http://travis-ci.org/dmitriy-kiriyenko/releaser.png)](http://travis-ci.org/dmitriy-kiriyenko/releaser)
3
+ [![Build Status](http://travis-ci.org/dmitriy-kiriyenko/releaser.png)](http://travis-ci.org/dmitriy-kiriyenko/releaser) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dmitriy-kiriyenko/releaser)
4
4
 
5
5
  Very often we need to monitor versions of application. This gem helps to
6
6
  do it.
@@ -1,9 +1,31 @@
1
- unless Capistrano::Configuration.respond_to?(:instance)
2
- abort "Soprano requires Capistrano 2"
3
- end
4
-
5
1
  Capistrano::Configuration.instance(:must_exist).load do
6
- Dir["#{File.dirname(__FILE__)}/capistrano/*.rb"].each do |recipe|
7
- load(recipe)
2
+ namespace :releaser do
3
+ desc "Write current revision to CURRENT_VERSION file."
4
+ task :write_current do
5
+ version = self[:current_revision]
6
+ run "echo \"#{version}\" > #{release_path}/CURRENT_VERSION"
7
+ end
8
+
9
+ task :tag_deploy_commit do
10
+ on_rollback do
11
+ run_locally "bundle exec releaser undo_deploy --push --object=#{real_revision}"
12
+ end
13
+
14
+ run_locally "bundle exec releaser deploy --push --object=#{real_revision}"
15
+ end
16
+ end
17
+
18
+ on :load do
19
+ set :current_revision do
20
+ run_locally("bundle exec releaser info --no-verbose").chomp
21
+ end
22
+
23
+ if fetch(:write_version, true)
24
+ after "deploy:create_symlink", "releaser:write_current"
25
+ end
26
+
27
+ if fetch(:tag_deploy_commit, true)
28
+ before "deploy:update_code", "releaser:tag_deploy_commit"
29
+ end
8
30
  end
9
31
  end
@@ -36,6 +36,10 @@ module Releaser
36
36
  # no actions required
37
37
  end
38
38
 
39
+ def undo_deploy
40
+ delete_tag(version_from_tag_to_release.to_deploy_tagline)
41
+ end
42
+
39
43
  desc "info", "Get current version"
40
44
  method_option :verbose, :type => :boolean, :default => false, :aliases => "-v"
41
45
  def info
@@ -57,7 +61,7 @@ module Releaser
57
61
  end
58
62
 
59
63
  def version_from_tag
60
- tagline = `git describe --match \"v[0-9]*\" --long`.chomp
64
+ tagline = `git describe --match \"v[0-9]*\" --long -- #{options.object}`.chomp
61
65
  Revision.new(tagline)
62
66
  end
63
67
 
@@ -71,5 +75,10 @@ module Releaser
71
75
  run "git push origin #{tag}" if options.push?
72
76
  end
73
77
 
78
+ def delete_tag
79
+ run "git tag --delete -- #{tag}"
80
+ run "git push origin :#{tag}" if options.push?
81
+ end
82
+
74
83
  end
75
84
  end
@@ -1,3 +1,3 @@
1
1
  module Releaser
2
- VERSION = "0.0.8"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -126,7 +126,7 @@ describe Releaser::Revision do
126
126
  })
127
127
  end
128
128
 
129
- it "should correctly return next minor version without codename" do
129
+ it "should correctly return next minor version" do
130
130
  verify_revision(subject.next_minor, {
131
131
  :major => 6,
132
132
  :minor => 2,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: releaser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-06 00:00:00.000000000 Z
12
+ date: 2012-07-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &2205227320 !ruby/object:Gem::Requirement
16
+ requirement: &2195462480 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2205227320
24
+ version_requirements: *2195462480
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &2205226900 !ruby/object:Gem::Requirement
27
+ requirement: &2195462060 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2205226900
35
+ version_requirements: *2195462060
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: thor
38
- requirement: &2205226480 !ruby/object:Gem::Requirement
38
+ requirement: &2195461640 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2205226480
46
+ version_requirements: *2195461640
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activesupport
49
- requirement: &2205226060 !ruby/object:Gem::Requirement
49
+ requirement: &2195461220 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2205226060
57
+ version_requirements: *2195461220
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: railties
60
- requirement: &2205225640 !ruby/object:Gem::Requirement
60
+ requirement: &2195460800 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2205225640
68
+ version_requirements: *2195460800
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: capistrano
71
- requirement: &2205225220 !ruby/object:Gem::Requirement
71
+ requirement: &2195460380 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *2205225220
79
+ version_requirements: *2195460380
80
80
  description: ! "A set of thor scripts for managing application versions.\n Use
81
81
  it to control and even display your application current version."
82
82
  email:
@@ -96,7 +96,6 @@ files:
96
96
  - bin/releaser
97
97
  - lib/releaser.rb
98
98
  - lib/releaser/capistrano.rb
99
- - lib/releaser/capistrano/release_tagging.rb
100
99
  - lib/releaser/cli.rb
101
100
  - lib/releaser/from_file.rb
102
101
  - lib/releaser/revision.rb
@@ -119,7 +118,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
118
  version: '0'
120
119
  segments:
121
120
  - 0
122
- hash: -281005895079798606
121
+ hash: -3634276599179598790
123
122
  required_rubygems_version: !ruby/object:Gem::Requirement
124
123
  none: false
125
124
  requirements:
@@ -128,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
127
  version: '0'
129
128
  segments:
130
129
  - 0
131
- hash: -281005895079798606
130
+ hash: -3634276599179598790
132
131
  requirements: []
133
132
  rubyforge_project: releaser
134
133
  rubygems_version: 1.8.11
@@ -1,25 +0,0 @@
1
- namespace :releaser do
2
- desc "Write current revision to CURRENT_VERSION file."
3
- task :write_current do
4
- version = self[:current_revision]
5
- run "echo \"#{version}\" > #{release_path}/CURRENT_VERSION"
6
- end
7
-
8
- task :tag_deploy_commit do
9
- run_locally "bundle exec releaser deploy --push --object=#{real_revision}"
10
- end
11
- end
12
-
13
- on :load do
14
- set :current_revision do
15
- run_locally("bundle exec releaser info --no-verbose").chomp
16
- end
17
-
18
- if fetch(:write_version, true)
19
- after "deploy:create_symlink", "releaser:write_current"
20
- end
21
-
22
- if fetch(:tag_deploy_commit, true)
23
- before "deploy:update_code", "releaser:tag_deploy_commit"
24
- end
25
- end