release 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+