release 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,133 @@
1
+
2
+ === 0.4.0 / 2009-10-10
3
+
4
+ * Updated history style for markdown
5
+
6
+ === 0.3.7 / 2009-04-08
7
+
8
+ * Removed --trace since commander handles this now
9
+
10
+ === 0.3.6 / 2009-04-08
11
+
12
+ * Added growl notifications of success or failure
13
+ * visionmedia-commander >=3.2.7 for growl notifications
14
+
15
+ === 0.3.5 / 2009-04-08
16
+
17
+ * Added support for multiple version files
18
+
19
+ === 0.3.4 / 2009-03-24
20
+
21
+ * Github build me?
22
+
23
+ === 0.3.3 / 2009-03-24
24
+
25
+ * Updated compatibility with latest commander
26
+ * Removed need for .re directory
27
+ * Fixed config help doc typo
28
+
29
+ === 0.3.2 / 2009-03-14
30
+
31
+ * Github, build me!
32
+
33
+ === 0.3.1 / 2009-03-14
34
+
35
+ * Added replacement of <Commander::Command::Options in configured releases
36
+
37
+ === 0.3.0 / 2009-03-14
38
+
39
+ * Added :bump as the default command
40
+ * Updated visionmedia-commander >=3.1.1
41
+ * Removed commits switch since its not used anymore
42
+
43
+ === 0.2.3 / 2009-03-10
44
+
45
+ * Added better git logging support. Now stores .re/last_version and compares log changes
46
+ since then and HEAD.
47
+
48
+ === 0.2.2 / 2009-03-09
49
+
50
+ * Added raising of error when version file is not found
51
+
52
+ === 0.2.1 / 2009-03-09
53
+
54
+ * Fixed history when using --dry-run, no longer attempts to add git log to the change log
55
+
56
+ === 0.2.0 / 2009-03-06
57
+
58
+ * Forgot gemspec (github build away!)
59
+
60
+ === 0.1.9 / 2009-03-06
61
+
62
+ * Added auto-generation / saving of history
63
+ * Refactored locate_version_file
64
+ * Seperated actions
65
+ * Removed hyphen from default commit message
66
+
67
+ === 0.1.7 / 2009-03-06
68
+
69
+ * Changed #sh (again), /dev/null-ifying stdout
70
+
71
+ === 0.1.5 / 2009-03-06
72
+
73
+ * Added update rake task to fetch latest version of relese ( since release uses release ;) )
74
+
75
+ === 0.1.4 / 2009-03-06
76
+
77
+ * Added -F, --format switch for chaning the git log --pretty format
78
+ * Changed back to #system in #sh
79
+ * Changed log format to "* %s" since most people use the RDoc syntax for history
80
+ * Fixed issue with --config not merging
81
+
82
+ === 0.1.3 / 2009-03-06
83
+
84
+ * Added progress-bar
85
+ * Added -n, --commits switch
86
+ * Changed log format
87
+ * Changed dependency, now requires visionmedia-commander >= 2.5.6
88
+ * Changed #sh, now using sub-shell now to prevent cluttering stdout
89
+
90
+ === 0.1.2 / 2009-03-06
91
+
92
+ * Added #log, using it replacing #say calls
93
+ * Changed -h to -H for history, -h collides with --help from commander gem
94
+ * Fixed bump levels.
95
+ Previously 0.1.2 bumped at the minor level would bump to 0.2.2, this is
96
+ incorrect. It now bumps to 0.2.0, as expected.
97
+
98
+ === 0.1.1 / 2009-03-06
99
+
100
+ * Added --verify-master switch
101
+
102
+ === 0.1.0 / 2009-03-05
103
+
104
+ * Added dependency of visionmedia-commander gem
105
+ * Trapping INT for better abort message
106
+
107
+ === 0.0.8 / 2009-03-05
108
+
109
+ * Better formatting for `re config show`
110
+
111
+ === 0.0.7 / 2009-03-05
112
+
113
+ * Added config sub-command for storing, removing, and viewing configurations
114
+ * Added --config NAME switch to bump sub-command
115
+ * Fixed git log switch preventing --pretty=oneline from working
116
+
117
+ === 0.0.5 / 2009-03-05
118
+
119
+ * Added git log pretty=oneline to take a look at commits while editing history
120
+ * Added --trace switch
121
+
122
+ === 0.0.4 / 2009-03-05
123
+
124
+ * Added --history switch, currently tested with textmate only
125
+
126
+ === 0.0.3 / 2009-03-05
127
+
128
+ * Added --dry-run
129
+ * Fixed --no-rake
130
+
131
+ === 0.0.1 / 2009-03-05
132
+
133
+ * Initial release
@@ -0,0 +1,15 @@
1
+ History.rdoc
2
+ Manifest
3
+ README.rdoc
4
+ Rakefile
5
+ Todo.rdoc
6
+ bin/re
7
+ release.gemspec
8
+ spec/fixtures/bar/version.rb
9
+ spec/fixtures/foo.rb
10
+ spec/release_spec.rb
11
+ spec/spec_helper.rb
12
+ tasks/docs.rake
13
+ tasks/gemspec.rake
14
+ tasks/spec.rake
15
+ tasks/update.rake
@@ -0,0 +1,86 @@
1
+
2
+ = Release
3
+
4
+ Github release management system.
5
+
6
+ == Description
7
+
8
+ Tired of altering versions?, committing, tagging, pushing, and
9
+ pushing tags to Github manually? Never fear, release is here!
10
+
11
+ == Usage
12
+
13
+ In order to use the 're' command, you should be in the root
14
+ directory of your project (ie where .git, lib, etc live) because
15
+ sub-commands execute in context to this directory.
16
+
17
+ == Features
18
+
19
+ * Bump version levels [major, minor, (tiny | patch)]
20
+ * Commit with default release message (or alter)
21
+ * Tag and push to github
22
+ * Run rake-tasks before releasing
23
+ * All in a single command!
24
+
25
+ == Examples
26
+
27
+ View global help
28
+ $ re help
29
+
30
+ View help for the bump sub-command
31
+ $ re help bump
32
+
33
+ Bump patch (tiny), auto-locates version.rb
34
+ $ re bump
35
+
36
+ It is recommended that you do a dry-run to verify that release will work
37
+ $ re bump --dry-run
38
+
39
+ Bump major with custom commit message (VERSION is replaced with release version)
40
+ $ re bump major -m 'Release VERSION, check it out!'
41
+
42
+ Run rake tasks before releasing (defaults to manifest,gemspec)
43
+ $ re bump minor -r manifest,gemspec,email
44
+
45
+ Bump is also the default sub-command, so instead of the previous command you may simply
46
+ $ re minor -r manifest,gemspec,email
47
+
48
+ Specific version file
49
+ $ re bump --file bin/re
50
+
51
+ Edit changelog or history (auto-locates file within the current directory) before releasing.
52
+ This switch currently grabs the last -n commits from git log and places them in your history
53
+ file, which then opens for adjustments. Alter -n, --commits to change the number of commits added.
54
+ $ re bump major --history
55
+
56
+ == Limitations
57
+
58
+ * Currently supports 'n.n.n' format only
59
+ * The --history switch has been tested with textmate only
60
+ * Auto-locates version.rb using glob lib/**/version.rb (specify a specific file with --file switch)
61
+
62
+ == License:
63
+
64
+ (The MIT License)
65
+
66
+ Copyright (c) 2009 TJ Holowaychuk <tj@vision-media.ca>
67
+
68
+ Permission is hereby granted, free of charge, to any person obtaining
69
+ a copy of this software and associated documentation files (the
70
+ 'Software'), to deal in the Software without restriction, including
71
+ without limitation the rights to use, copy, modify, merge, publish,
72
+ distribute, sublicense, an d/or sell copies of the Software, and to
73
+ permit persons to whom the Software is furnished to do so, subject to
74
+ the following conditions:
75
+
76
+ The above copyright notice and this permission notice shall be
77
+ included in all copies or substantial portions of the Software.
78
+
79
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
80
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
81
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
82
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
83
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
84
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
85
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
86
+
@@ -0,0 +1,16 @@
1
+
2
+ require 'rubygems'
3
+ require 'rake'
4
+ require 'echoe'
5
+ load './bin/re'
6
+
7
+ Echoe.new "release", program(:version) do |p|
8
+ p.author = "TJ Holowaychuk"
9
+ p.email = "tj@vision-media.ca"
10
+ p.summary = "Github release management system"
11
+ p.url = "http://github.com/visionmedia/release"
12
+ p.runtime_dependencies = []
13
+ p.runtime_dependencies << "visionmedia-commander >=3.2.7"
14
+ end
15
+
16
+ Dir['tasks/**/*.rake'].sort.each { |f| load f }
@@ -0,0 +1,18 @@
1
+
2
+ == Major:
3
+
4
+ * Adjust gh-pages with screencasts / redo samples without bump ... and better samples with config etc
5
+ * Add ability to do a graceful abort
6
+ * Add option to prevent -a in commit command
7
+ * Better specs
8
+ * When exception is raised revert all alterations made to that point
9
+ * Support init of first tag
10
+ * Refactor
11
+
12
+ == Minor:
13
+
14
+ * Nothing
15
+
16
+ == Brainstorming:
17
+
18
+ * Nothing
data/bin/re ADDED
@@ -0,0 +1,243 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'commander'
5
+ require 'yaml'
6
+
7
+ program :name, 'release'
8
+ program :version, '0.4.0'
9
+ program :description, 'Github release management'
10
+
11
+ default_command :bump
12
+
13
+ CONFIG_FILE = File.expand_path('~/.re-config')
14
+
15
+ trap 'INT' do
16
+ raise "release interrupted"
17
+ end
18
+
19
+ def sh command, nullify = true
20
+ nullify ? `#{command} &> /dev/null` : `#{command}`
21
+ end
22
+
23
+ def extract_version_from file
24
+ raise 'failed to locate version file. Use --file' unless file
25
+ contents = File.read file
26
+ version = $~.captures if contents =~ /(\d+)\.(\d+)\.(\d+)/
27
+ raise "failed to locate version within #{file}. Must be format 'n.n.n'." unless version.length == 3
28
+ version.map { |v| v.to_i }
29
+ end
30
+
31
+ def bump_version file, level
32
+ version = extract_version_from file
33
+ case level.to_sym
34
+ when :tiny, :patch ; version[2] += 1
35
+ when :minor ; version[1] += 1 ; version[2] = 0
36
+ when :major ; version[0] += 1 ; version[1] = 0 ; version[2] = 0
37
+ else raise "invalid bump level '#{level}'"
38
+ end
39
+ version
40
+ end
41
+
42
+ def replace_version file, level
43
+ version = bump_version(file, level).join '.'
44
+ contents = File.read file
45
+ contents.sub! /\d+\.\d+\.\d+/, version
46
+ File.open(file, 'w+') { |f| f.write contents }
47
+ version
48
+ end
49
+
50
+ def locate_version_file
51
+ Dir['lib/**/version.rb'].first
52
+ end
53
+
54
+ def locate_history_file
55
+ Dir['*'].grep(/history|change/i).first
56
+ end
57
+
58
+ def bump_options c
59
+ c.option '-f', '--file FILE', Array, 'File(s) containing the version, otherwise searches lib/ for version.rb'
60
+ c.option '-m', '--message MESSAGE', String, 'Message defaults to \'- Release VERSION\''
61
+ c.option '-r', '--rake TASKS', Array, 'Defaults to manifest,gemspec to build manifest / gemspec before releasing'
62
+ c.option '-R', '--no-rake', 'Disable all rake tasks'
63
+ c.option '-H', '--history', 'Edit history in EDITOR before releasing'
64
+ c.option '-d', '--dry-run', 'Performs a dry run, without releasing'
65
+ c.option '-F', '--format FORMAT', 'Valid git log --pretty format. Defaults to "format:\' * %s\'"'
66
+ c.option '-M', '--verify-master', 'Verify that master is the current branch before releasing'
67
+ end
68
+
69
+ def save_config hash
70
+ File.open(CONFIG_FILE, 'w+') { |f| YAML.dump hash, f }
71
+ end
72
+
73
+ def remove_config name
74
+ if hash = load_config
75
+ hash.delete name
76
+ save_config hash
77
+ end
78
+ end
79
+
80
+ def load_config name = nil
81
+ hash = YAML.load_file CONFIG_FILE rescue false
82
+ return hash unless name and hash
83
+ raise "configuration '#{name}' cannot be found" unless hash.include? name
84
+ hash[name]
85
+ end
86
+
87
+ def master_branch?
88
+ `git branch | grep '*' | awk '{print $2}'`.strip == 'master'
89
+ end
90
+
91
+ def log message
92
+ say "... #{message}"
93
+ end
94
+
95
+ def action title, &block
96
+ (@__actions ||= []) << [title, block]
97
+ end
98
+
99
+ def actions
100
+ @__actions
101
+ end
102
+
103
+ def last_version
104
+ `git tag`.split.last
105
+ end
106
+
107
+ command :bump do |c|
108
+ bump_options c
109
+ c.syntax = 're [bump] [level] [options]'
110
+ c.summary = 'Bump the version <level>, defaults to patch'
111
+ c.description = 'Bump the version by major, minor, or patch (tiny) levels, defaults to patch.'
112
+ c.example 'Bump patch level, running several rake tasks first', 're bump --rake manifest,gemspec'
113
+ c.example 'Custom message, VERSION replaced with actual version', 're bump major --message \'Release of App VERSION\''
114
+ c.option '-c', '--config NAME', 'Load configuration options'
115
+ c.when_called do |args, o|
116
+ begin
117
+
118
+ level = args.shift || 'patch'
119
+ o.message = o.message || 'Release VERSION'
120
+ o.rake = o.rake || %w( manifest gemspec )
121
+ o.file = o.file || [locate_version_file]
122
+ o.format = o.format || "format:' * %s'"
123
+ o.__hash__.merge! load_config(o.config)
124
+
125
+ if o.verify_master
126
+ action 'verifying master branch' do
127
+ raise 'master branch verification failed' unless master_branch?
128
+ end
129
+ end
130
+
131
+ if o.dry_run
132
+ def sh command, nullify = true
133
+ log "`#{command}`"
134
+ end
135
+ log "version file(s) #{o.file.join(', ')}"
136
+ version = o.file.inject false do |version, file|
137
+ version = bump_version(file, level).join '.'
138
+ end
139
+ else
140
+ version = o.file.inject false do |version, file|
141
+ version = replace_version file, level
142
+ end
143
+ end
144
+
145
+ if o.history
146
+ banner = "\n#{version} / #{ Time.now.strftime('%Y-%m-%d') }\n"
147
+ banner += "==================\n"
148
+ changes = sh "git log --pretty=#{o.format} #{last_version}..", false
149
+ unless o.dry_run
150
+ previous = File.read locate_history_file
151
+ File.open(locate_history_file, 'w') do |file|
152
+ file.write [banner, changes, previous].join("\n")
153
+ end
154
+ end
155
+ sh "$EDITOR #{locate_history_file} --wait"
156
+ end
157
+
158
+ unless o.no_rake == false
159
+ action 'running rake tasks' do
160
+ o.rake.each { |task| sh "rake #{task}" }
161
+ end
162
+ end
163
+
164
+ action 'committing' do
165
+ sh "git commit -a -m '#{ o.message.sub('VERSION', version) }'"
166
+ end
167
+
168
+ action 'tagging' do
169
+ sh "git tag #{version}"
170
+ end
171
+
172
+ action 'pushing branch' do
173
+ sh "git push"
174
+ end
175
+
176
+ action 'pushing tags' do
177
+ sh "git push --tags"
178
+ end
179
+
180
+ unless o.dry_run
181
+ options = {
182
+ :complete_message => "Release #{version} complete",
183
+ :format => "Releasing #{version} (:progress_bar) :title ",
184
+ :width => actions.length * 4,
185
+ }
186
+ progress actions, options do |title, proc|
187
+ proc.call
188
+ { :title => title }
189
+ end
190
+ else
191
+ actions.each do |title, proc|
192
+ proc.call
193
+ end
194
+ end
195
+
196
+ rescue Exception => e
197
+ notify_error "Release failed"
198
+ raise
199
+ else
200
+ notify_ok "Release #{version} complete"
201
+ end
202
+ end
203
+ end
204
+
205
+ command :config do |c|
206
+ bump_options c
207
+ c.syntax = 're config <op> <name>'
208
+ c.summary = 'Manage configurations'
209
+ c.description = "Add, remove, or show release configurations."
210
+ c.example 'Create config for myproject. All switches in this command will be stored as the new configuration.',
211
+ 're config add myproject --message "Release myproject VERSION" --file bin/myproject'
212
+ c.example 'Use the config created above', 're bump --config myproject'
213
+ c.example 'Remove myproject config', 're config remove myproject'
214
+ c.example 'Show all configurations', 're config show'
215
+ c.when_called do |args, options|
216
+ op = args.shift
217
+ name = args.shift
218
+
219
+ case op
220
+ when 'add'
221
+ abort 'invalid configuration name' unless name
222
+ if config = load_config
223
+ config[name] = options.__hash__
224
+ else
225
+ config = { name => options.__hash__ }
226
+ end
227
+ save_config config
228
+ log "configuration '#{name}' saved"
229
+ when 'remove'
230
+ abort 'invalid configuration name' unless name
231
+ remove_config name
232
+ log "configuration '#{name}' removed"
233
+ when 'show'
234
+ abort 'no configurations' unless load_config
235
+ load_config.each do |name, config|
236
+ say '%14s: %s' % [name, config.inspect]
237
+ end
238
+ else
239
+ abort 'invalid operation'
240
+ end
241
+
242
+ end
243
+ end
@@ -0,0 +1,35 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{release}
5
+ s.version = "0.4.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["TJ Holowaychuk"]
9
+ s.date = %q{2009-10-10}
10
+ s.default_executable = %q{re}
11
+ s.description = %q{Github release management system}
12
+ s.email = %q{tj@vision-media.ca}
13
+ s.executables = ["re"]
14
+ s.extra_rdoc_files = ["README.rdoc", "bin/re", "tasks/docs.rake", "tasks/gemspec.rake", "tasks/spec.rake", "tasks/update.rake"]
15
+ s.files = ["History.rdoc", "Manifest", "README.rdoc", "Rakefile", "Todo.rdoc", "bin/re", "release.gemspec", "spec/fixtures/bar/version.rb", "spec/fixtures/foo.rb", "spec/release_spec.rb", "spec/spec_helper.rb", "tasks/docs.rake", "tasks/gemspec.rake", "tasks/spec.rake", "tasks/update.rake"]
16
+ s.homepage = %q{http://github.com/visionmedia/release}
17
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Release", "--main", "README.rdoc"]
18
+ s.require_paths = ["lib"]
19
+ s.rubyforge_project = %q{release}
20
+ s.rubygems_version = %q{1.3.5}
21
+ s.summary = %q{Github release management system}
22
+
23
+ if s.respond_to? :specification_version then
24
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
+ s.specification_version = 3
26
+
27
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
+ s.add_runtime_dependency(%q<visionmedia-commander>, [">= 3.2.7"])
29
+ else
30
+ s.add_dependency(%q<visionmedia-commander>, [">= 3.2.7"])
31
+ end
32
+ else
33
+ s.add_dependency(%q<visionmedia-commander>, [">= 3.2.7"])
34
+ end
35
+ end
@@ -0,0 +1,6 @@
1
+
2
+ module Bar
3
+ def version
4
+ '31.0.0'
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+
2
+ module Foo
3
+ def version
4
+ '0.0.1'
5
+ end
6
+ end
@@ -0,0 +1,86 @@
1
+
2
+ describe "bin/re" do
3
+
4
+ before :each do
5
+ @input = StringIO.new
6
+ @output = StringIO.new
7
+ $terminal = HighLine.new @input, @output
8
+ end
9
+
10
+ describe "bump" do
11
+ before :each do
12
+ @previous_version = extract_version_from(locate_version_file)
13
+ @bump = get_command :bump
14
+ end
15
+
16
+ it "should locate version file" do
17
+ locate_version_file.should include('fixtures/bar/version.rb')
18
+ end
19
+
20
+ it "should use default rake tasks manifest and gemspec" do
21
+ @bump.call
22
+ @output.string.should include('rake manifest')
23
+ @output.string.should include('rake gemspec')
24
+ end
25
+
26
+ it "should add a commit message" do
27
+ @bump.call
28
+ @output.string.should include("git commit -a -m")
29
+ end
30
+
31
+ it "should push, tag, and push tags" do
32
+ @bump.call
33
+ @output.string.should include("git tag")
34
+ @output.string.should include("git push")
35
+ @output.string.should include("git push --tags")
36
+ end
37
+
38
+ it "should bump patch level by default" do
39
+ @bump.call
40
+ extract_version_from(locate_version_file)[2].should == @previous_version[2] + 1
41
+ end
42
+
43
+ it "should bump patch level using tiny" do
44
+ @bump.call ['tiny']
45
+ extract_version_from(locate_version_file)[2].should == @previous_version[2] + 1
46
+ end
47
+
48
+ it "should bump patch level using patch" do
49
+ @bump.call ['patch']
50
+ extract_version_from(locate_version_file)[2].should == @previous_version[2] + 1
51
+ end
52
+
53
+ it "should bump minor level" do
54
+ @bump.call ['minor']
55
+ extract_version_from(locate_version_file)[1].should == @previous_version[1] + 1
56
+ extract_version_from(locate_version_file)[2].should == 0
57
+ end
58
+
59
+ it "should bump major level" do
60
+ @bump.call ['major']
61
+ extract_version_from(locate_version_file)[0].should == @previous_version[0] + 1
62
+ extract_version_from(locate_version_file)[1].should == 0
63
+ extract_version_from(locate_version_file)[2].should == 0
64
+ end
65
+
66
+ # it "should allow altering of commit message with --message" do
67
+ # run 'bump', '--message', 'New release of VERSION'
68
+ # @output.string.should include('New release of')
69
+ # end
70
+
71
+ # it "should allow altering rake tasks with --rake" do
72
+ # run 'bump', '--rake', 'foo,bar'
73
+ # @output.string.should include('rake foo')
74
+ # @output.string.should include('rake bar')
75
+ # end
76
+
77
+ # it "should allow you to specify a version file with --file" do
78
+ # foo = File.dirname(__FILE__) + '/fixtures/foo.rb'
79
+ # previous_version = extract_version_from foo
80
+ # run 'bump', '--file', foo
81
+ # extract_version_from(foo)[2].should == previous_version[2] + 1
82
+ # end
83
+
84
+ end
85
+
86
+ end
@@ -0,0 +1,17 @@
1
+
2
+ load File.expand_path(File.dirname(__FILE__) + '/../bin/re')
3
+
4
+ def locate_version_file
5
+ Dir["#{File.dirname(__FILE__)}/*/**/*.rb"].grep(/version/).first
6
+ end
7
+
8
+ def sh command
9
+ say command
10
+ end
11
+
12
+ def run *args
13
+ $command_runner = Commander::Runner.new args
14
+ program :name, 'release'
15
+ program :version, '0.0.1'
16
+ program :description, 'Github release management'
17
+ end
@@ -0,0 +1,13 @@
1
+
2
+ namespace :docs do
3
+
4
+ desc 'Remove rdoc products'
5
+ task :remove => [:clobber_docs]
6
+
7
+ desc 'Build docs, and open in browser for viewing (specify BROWSER)'
8
+ task :open do
9
+ browser = ENV["BROWSER"] || "safari"
10
+ sh "open -a #{browser} doc/index.html"
11
+ end
12
+
13
+ end
@@ -0,0 +1,3 @@
1
+
2
+ desc 'Build gemspec file'
3
+ task :gemspec => [:build_gemspec]
@@ -0,0 +1,22 @@
1
+
2
+ require 'spec/rake/spectask'
3
+
4
+ desc "Run all specifications"
5
+ Spec::Rake::SpecTask.new(:spec) do |t|
6
+ t.spec_opts = ["--color", "--require", "spec/spec_helper.rb"]
7
+ end
8
+
9
+ namespace :spec do
10
+
11
+ desc "Run all specifications verbosely"
12
+ Spec::Rake::SpecTask.new(:verbose) do |t|
13
+ t.spec_opts = ["--color", "--format", "specdoc", "--require", "spec/spec_helper.rb"]
14
+ end
15
+
16
+ desc "Run specific specification verbosely (specify SPEC)"
17
+ Spec::Rake::SpecTask.new(:select) do |t|
18
+ t.spec_files = [ENV["SPEC"]]
19
+ t.spec_opts = ["--color", "--format", "specdoc", "--require", "spec/spec_helper.rb"]
20
+ end
21
+
22
+ end
@@ -0,0 +1,5 @@
1
+
2
+ desc 'Update release gem'
3
+ task :update do
4
+ sh 'sudo gem install visionmedia-release'
5
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: release
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ platform: ruby
6
+ authors:
7
+ - TJ Holowaychuk
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-10 00:00:00 -07:00
13
+ default_executable: re
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: visionmedia-commander
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 3.2.7
24
+ version:
25
+ description: Github release management system
26
+ email: tj@vision-media.ca
27
+ executables:
28
+ - re
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README.rdoc
33
+ - bin/re
34
+ - tasks/docs.rake
35
+ - tasks/gemspec.rake
36
+ - tasks/spec.rake
37
+ - tasks/update.rake
38
+ files:
39
+ - History.rdoc
40
+ - Manifest
41
+ - README.rdoc
42
+ - Rakefile
43
+ - Todo.rdoc
44
+ - bin/re
45
+ - release.gemspec
46
+ - spec/fixtures/bar/version.rb
47
+ - spec/fixtures/foo.rb
48
+ - spec/release_spec.rb
49
+ - spec/spec_helper.rb
50
+ - tasks/docs.rake
51
+ - tasks/gemspec.rake
52
+ - tasks/spec.rake
53
+ - tasks/update.rake
54
+ has_rdoc: true
55
+ homepage: http://github.com/visionmedia/release
56
+ licenses: []
57
+
58
+ post_install_message:
59
+ rdoc_options:
60
+ - --line-numbers
61
+ - --inline-source
62
+ - --title
63
+ - Release
64
+ - --main
65
+ - README.rdoc
66
+ require_paths:
67
+ - lib
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: "0"
73
+ version:
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "1.2"
79
+ version:
80
+ requirements: []
81
+
82
+ rubyforge_project: release
83
+ rubygems_version: 1.3.5
84
+ signing_key:
85
+ specification_version: 3
86
+ summary: Github release management system
87
+ test_files: []
88
+