tumbler 0.0.6 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/CHANGELOG +18 -26
- data/README.rdoc +64 -34
- data/lib/template/Tumbler.erb +3 -3
- data/lib/template/generic.gemspec.erb +3 -2
- data/lib/tumbler/cli.rb +5 -4
- data/lib/tumbler/gem.rb +7 -5
- data/lib/tumbler/gemspec_helper.rb +1 -1
- data/lib/tumbler/generate.rb +5 -5
- data/lib/tumbler/manager.rb +5 -5
- data/lib/tumbler/manager/version.rb +3 -3
- data/lib/tumbler/updater.rb +1 -1
- data/lib/tumbler/version.rb +2 -2
- data/spec/tasks_spec.rb +1 -1
- data/tumbler.gemspec +1 -0
- metadata +4 -7
- data/test1 +0 -0
- data/thinking.txt +0 -54
- data/thinking2.txt +0 -72
data/.gitignore
CHANGED
data/CHANGELOG
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
== 0.0.8
|
2
|
+
|
3
|
+
* Removed junk (Joshua Hull, 887166c)
|
4
|
+
* Cleanup whitespace (Nathan Esquenazi, 3e9b6c1)
|
5
|
+
* clean up whitespace (Nathan Esquenazi, 536f32e)
|
6
|
+
* reorder methods in gem.rb to put built_gem_path first (Nathan Esquenazi, 5d3f248)
|
7
|
+
|
8
|
+
== 0.0.7
|
9
|
+
|
10
|
+
* Moves successful generation message into CLI (Nathan Esquenazi, 2ce281f)
|
11
|
+
* Output a success message in tumbler binary (Nathan Esquenazi, f6403e6)
|
12
|
+
* Build gems into pkg sub directory and install from there (Nathan Esquenazi, 35140d4)
|
13
|
+
* Ignore files in pkg directory (Nathan Esquenazi, 4c20085)
|
14
|
+
* Tone down Github requirement in README (since its not necessary) (Nathan Esquenazi, 325716a)
|
15
|
+
* Added rubyforge_project to gemspec by default to remove warning (Nathan Esquenazi, 9b35929)
|
16
|
+
* Cleaned up README (Nathan Esquenazi, 02221fe)
|
17
|
+
* removed old changelog crap (Joshua Hull, b8632d4)
|
18
|
+
|
1
19
|
== 0.0.6
|
2
20
|
|
3
21
|
* corrected docs. correct version (Joshua Hull, a3ee9bc)
|
@@ -9,29 +27,3 @@
|
|
9
27
|
|
10
28
|
* remove push task (Joshua Hull, b85b730)
|
11
29
|
|
12
|
-
== 0.0.4
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
== 0.0.3
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
== 0.0.2
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
== 0.0.1
|
25
|
-
|
26
|
-
* added current directory to load path (Joshua Hull, 45c5db5)
|
27
|
-
|
28
|
-
== 0.0.1
|
29
|
-
|
30
|
-
* rollback version (Joshua Hull, 5c14fd9)
|
31
|
-
|
32
|
-
== 0.0.1
|
33
|
-
|
34
|
-
* reset version, changelog (Joshua Hull, 09e19dc)
|
35
|
-
* Updated changelog (Joshua Hull, 161da98)
|
36
|
-
* Bumped version from 0.0.0 to 0.0.1 (Joshua Hull, 654eb14)
|
37
|
-
|
data/README.rdoc
CHANGED
@@ -1,81 +1,111 @@
|
|
1
1
|
= Tumbler
|
2
2
|
|
3
|
-
Let's make gem development fun and
|
4
|
-
useful things with your life.
|
3
|
+
Let's make gem development fun and remove all the repetition! Tumbler provides support for common gem management tasks which helps you spend less time dealing with gem releases and more time focusing on your gem functionality!
|
5
4
|
|
6
|
-
==
|
5
|
+
== Gem Guidelines
|
7
6
|
|
8
|
-
|
7
|
+
Tumbler was built to help developers create and manage gems using a common set of 'best practices' out of the box. Tumbler also makes a number of assumptions about your workflow:
|
8
|
+
|
9
|
+
* Gem uses directly edited dynamic gemspecs
|
10
|
+
* Gem uses Git to manage code source (perhaps on Github)
|
11
|
+
* Git tags are created for each new version
|
12
|
+
* Gem dependencies are defined using a Gemfile through Bundler
|
13
|
+
|
14
|
+
If your gem can follow these guidelines, then Tumbler will automate the entirety of this process for you into rake tasks.
|
9
15
|
|
10
16
|
== Using Tumbler
|
11
17
|
|
12
|
-
===
|
18
|
+
=== Creating Gems
|
13
19
|
|
14
|
-
|
20
|
+
To generate a brand new gem from scratch, execute the following:
|
21
|
+
|
22
|
+
$ tumbler your_gem_name
|
23
|
+
|
24
|
+
This will generate a skeleton of your gem that you can then easily configure and start building awesome.
|
15
25
|
|
16
|
-
|
26
|
+
=== Existing Gems
|
17
27
|
|
18
|
-
|
28
|
+
If you have a pre-existing gem which could benefit from Tumbler, you have to a do a few things. Note that if you are generating a new gem using the tumbler command, this will be done for you automatically.
|
29
|
+
|
30
|
+
For existing projects, you need to instruct Tumbler to manage the gem tasks. This is all handled by a file at the root of your project called <tt>Tumbler</tt>. A typical <tt>Tumbler</tt> file should look something like the following:
|
31
|
+
|
32
|
+
# Names your gem
|
19
33
|
gem_name 'my_awesome_gem'
|
20
34
|
|
21
|
-
# Use this file to track the version
|
35
|
+
# Use this file to track the version number
|
22
36
|
version_file 'lib/my_awesome_gem/version.rb'
|
23
37
|
|
24
|
-
# Use this file
|
38
|
+
# Use this file for your changelog
|
25
39
|
changelog_file 'CHANGELOG'
|
26
40
|
|
27
|
-
Your version number
|
41
|
+
Your version number can be anything parsable by Versionomy. The changelog will be automatically updated when a new version is released.
|
42
|
+
|
43
|
+
The version file should have a constant <tt>VERSION</tt> which is set to the current version for your gem. A typical version file might look like the following:
|
28
44
|
|
29
|
-
|
45
|
+
# lib/awesome_gem/version.rb
|
46
|
+
module AwesomeGem #:nodoc
|
47
|
+
VERSION = '0.0.1'
|
48
|
+
end
|
49
|
+
|
50
|
+
Next, in your +Rakefile+, add the following to get access to Tumbler tasks:
|
30
51
|
|
31
52
|
require 'tumbler'
|
32
53
|
Tumbler.use_rake_tasks
|
33
54
|
|
34
|
-
|
55
|
+
Alternatively, you can have Tumbler do all this work for you. If you install Tumbler into your system gems, you can simply execute:
|
35
56
|
|
36
57
|
tumbler . -u --name gem_name
|
37
58
|
|
38
|
-
From inside
|
39
|
-
|
40
|
-
=== Generating an application from scratch
|
59
|
+
From inside the gem's root directory and this will take care of all these details for you.
|
41
60
|
|
42
|
-
|
43
|
-
|
44
|
-
tumbler your_gem_name
|
45
|
-
|
46
|
-
This will give you a skeleton of an application that you can fill out and make awesome.
|
61
|
+
=== Available Rake Tasks
|
47
62
|
|
48
|
-
|
49
|
-
|
50
|
-
Once you've got Tumbler up and running, you'll have access to the following tasks:
|
63
|
+
Once you've got Tumbler up and running in your gem, you will have access to the following tasks:
|
51
64
|
|
52
65
|
rake gem:build # Build the gem
|
53
66
|
rake gem:install # Install the gem
|
54
67
|
rake gem:push # Push the gem
|
55
68
|
rake version:major:bump # Bump version from 0.2.12 -> 1.0.0
|
56
|
-
rake version:major:release # Bump version from 0.2.12 -> 1.0.0 and push
|
57
69
|
rake version:minor:bump # Bump version from 0.2.12 -> 0.3.0
|
70
|
+
rake version:tiny:bump # Bump version from 0.2.12 -> 0.2.13
|
71
|
+
rake version:major:release # Bump version from 0.2.12 -> 1.0.0 and push
|
58
72
|
rake version:minor:release # Bump version from 0.2.12 -> 0.3.0 and push
|
73
|
+
rake version:tiny:release # Bump version from 0.2.12 -> 0.2.13 and push
|
59
74
|
rake version:push # Push current version into git
|
60
75
|
rake version:tag # Tag current version into git
|
61
|
-
rake version:tiny:bump # Bump version from 0.2.12 -> 0.2.13
|
62
|
-
rake version:tiny:release # Bump version from 0.2.12 -> 0.2.13 and push
|
63
76
|
|
64
|
-
|
65
|
-
|
66
|
-
==== Releasing a new Gem
|
77
|
+
==== Releasing your Gem
|
67
78
|
|
68
79
|
You can either do
|
69
80
|
|
70
81
|
rake version:(tiny|minor|major):release
|
71
82
|
|
72
|
-
|
83
|
+
which will bump the version, tag it in git, regenerate the changelog from your git commits and push the whole thing to rubygems and your remote or you can do it in two separate steps:
|
73
84
|
|
74
85
|
rake version:(tiny|minor|major):bump
|
75
|
-
rake version:
|
86
|
+
rake version:push
|
87
|
+
|
88
|
+
This will give you the chance to review the changelog and do anything else you'd like before taking the final release plunge.
|
89
|
+
|
90
|
+
=== Common Workflow
|
76
91
|
|
77
|
-
|
92
|
+
Here is an example of a common usage for Tumbler. Let's say I want to create a new gem. Let's walk through the process:
|
93
|
+
|
94
|
+
$ tumbler your_gem_name
|
95
|
+
$ cd your_gem_name
|
96
|
+
|
97
|
+
This will generate the basic gem structure. Now we need to configure the 'your_gem_name.gemspec' with gem details and configure 'Gemfile' with the external dependencies. That's all you need to get started! From here, simply implement your gem. When ready for your first release you should first test locally:
|
98
|
+
|
99
|
+
# test your gem locally
|
100
|
+
$ rake gem:install
|
101
|
+
|
102
|
+
When you feel confident and you are ready to push your first version to git and rubygems, simply invoke:
|
103
|
+
|
104
|
+
# releases your gem
|
105
|
+
$ rake version:tiny:release
|
106
|
+
|
107
|
+
and that does it! Your gem is now released onto the world.
|
78
108
|
|
79
109
|
== What's next?
|
80
110
|
|
81
|
-
I'm sure there are bugs and other common workflows that I will add/document, but basically, I just wanna type a lot less when I bump a gem, and get things done.
|
111
|
+
I'm sure there are bugs and other common workflows that I will add and/or document, but basically, I just wanna type a lot less when I bump a gem, and get more things done.
|
data/lib/template/Tumbler.erb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
gem_name
|
1
|
+
gem_name <%= @name.inspect %>
|
2
2
|
|
3
3
|
<% if @version %>
|
4
|
-
version_file 'lib
|
4
|
+
version_file 'lib/<%= @name %>/version.rb'
|
5
5
|
<% end %>
|
6
6
|
|
7
7
|
<% if @changelog %>
|
8
|
-
changelog_file
|
8
|
+
changelog_file <%= @changelog.inspect %>
|
9
9
|
<% end %>
|
@@ -3,16 +3,17 @@
|
|
3
3
|
require 'tumbler/gemspec'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = <%= @name.inspect %>
|
7
7
|
s.version = Tumbler::Gemspec.version
|
8
8
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
10
|
+
s.rubyforge_project = <%= @name.inspect %>
|
10
11
|
s.authors = <%=[git_name].inspect%>
|
11
12
|
s.date = Tumbler::Gemspec.date
|
12
13
|
s.description = %q{Description}
|
13
14
|
s.email = <%=git_email.inspect%>
|
14
15
|
s.files = Tumbler::Gemspec.files
|
15
|
-
# s.homepage = %q{http://github.com/<%=github_user
|
16
|
+
# s.homepage = %q{http://github.com/<%= github_user %>/<%= @name %>}
|
16
17
|
s.rdoc_options = ["--charset=UTF-8"]
|
17
18
|
s.require_paths = ["lib"]
|
18
19
|
s.rubygems_version = %q{1.3.7}
|
data/lib/tumbler/cli.rb
CHANGED
@@ -12,7 +12,7 @@ module Tumbler
|
|
12
12
|
}
|
13
13
|
parser.parse!(args)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def parser
|
17
17
|
OptionParser.new do |opts|
|
18
18
|
opts.banner = "Usage: tumbler name [options]"
|
@@ -47,9 +47,8 @@ module Tumbler
|
|
47
47
|
opts.on_tail("-h", "--help", "Show this help message.") { puts opts; exit }
|
48
48
|
end
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
def run
|
52
|
-
puts @options.inspect
|
53
52
|
app_name = ARGV.first
|
54
53
|
|
55
54
|
if app_name.nil?
|
@@ -62,7 +61,9 @@ module Tumbler
|
|
62
61
|
FileUtils.mkdir_p(app_name)
|
63
62
|
Tumbler::Generate.app(app_name, app_name, @options).write
|
64
63
|
end
|
64
|
+
|
65
|
+
puts "Gem '#{app_name}' generated successfully!"
|
65
66
|
end
|
66
|
-
|
67
|
+
|
67
68
|
end
|
68
69
|
end
|
data/lib/tumbler/gem.rb
CHANGED
@@ -10,18 +10,18 @@ module Tumbler
|
|
10
10
|
@manager.base
|
11
11
|
end
|
12
12
|
|
13
|
+
def built_gem_path
|
14
|
+
"#{@manager.name}-#{@manager.version.to_s}.gem"
|
15
|
+
end
|
16
|
+
|
13
17
|
def push
|
14
18
|
build
|
15
19
|
sh("gem push #{built_gem_path}")
|
16
20
|
end
|
17
21
|
|
18
|
-
def built_gem_path
|
19
|
-
"#{@manager.name}-#{@manager.version.to_s}.gem"
|
20
|
-
end
|
21
|
-
|
22
22
|
def install
|
23
23
|
build
|
24
|
-
exec("sudo gem install
|
24
|
+
exec("sudo gem install pkg/#{built_gem_path}")
|
25
25
|
end
|
26
26
|
|
27
27
|
def spec_path
|
@@ -30,6 +30,8 @@ module Tumbler
|
|
30
30
|
|
31
31
|
def build
|
32
32
|
sh("bundle exec gem build #{spec_path}")
|
33
|
+
sh("mkdir -p pkg")
|
34
|
+
sh("mv -f #{built_gem_path} pkg/")
|
33
35
|
end
|
34
36
|
end
|
35
37
|
end
|
data/lib/tumbler/generate.rb
CHANGED
@@ -3,9 +3,9 @@ require 'erb'
|
|
3
3
|
|
4
4
|
module Tumbler
|
5
5
|
class Generate
|
6
|
-
|
6
|
+
|
7
7
|
include Runner
|
8
|
-
|
8
|
+
|
9
9
|
def self.app(dir, name, opts = {})
|
10
10
|
generator = Generate.new(dir, name)
|
11
11
|
generator.version = opts[:version] if opts[:version]
|
@@ -26,7 +26,7 @@ module Tumbler
|
|
26
26
|
|
27
27
|
attr_reader :development_dependencies, :dependencies, :base
|
28
28
|
attr_accessor :version, :changelog
|
29
|
-
|
29
|
+
|
30
30
|
def initialize(dir, name)
|
31
31
|
@base = dir
|
32
32
|
@name = name
|
@@ -70,11 +70,11 @@ module Tumbler
|
|
70
70
|
FileUtils.mkdir_p(File.dirname(version_path))
|
71
71
|
File.open(version_path, 'w') {|f| f << generate_version(version) }
|
72
72
|
end
|
73
|
-
|
73
|
+
|
74
74
|
def version_path
|
75
75
|
File.join(@base, 'lib', @name, 'version.rb')
|
76
76
|
end
|
77
|
-
|
77
|
+
|
78
78
|
def write_gemfile
|
79
79
|
File.open(gemfile_file, 'w') {|f| f << generate_gemfile }
|
80
80
|
end
|
data/lib/tumbler/manager.rb
CHANGED
@@ -152,10 +152,10 @@ module Tumbler
|
|
152
152
|
end
|
153
153
|
|
154
154
|
private
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
155
|
+
def initialize(base)
|
156
|
+
@base = base
|
157
|
+
reload
|
158
|
+
@noop = true if ENV['DRY'] == '1'
|
159
|
+
end
|
160
160
|
end
|
161
161
|
end
|
@@ -21,7 +21,7 @@ module Tumbler
|
|
21
21
|
|
22
22
|
def reload
|
23
23
|
@version = Versionomy.parse(File.exist?(file) ? extract : '0.0.0')
|
24
|
-
end
|
24
|
+
end
|
25
25
|
|
26
26
|
def extract
|
27
27
|
File.read(@file)[/Version\s*=\s*['"](.*?)['"]/i, 1]
|
@@ -53,11 +53,11 @@ module Tumbler
|
|
53
53
|
reload
|
54
54
|
end
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
def commit(from)
|
58
58
|
sh "git commit #{@basefile} -m'Bumped version from #{from} to #{to_s}'"
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
def base
|
62
62
|
@manager.base
|
63
63
|
end
|
data/lib/tumbler/updater.rb
CHANGED
data/lib/tumbler/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Tumbler
|
2
|
-
VERSION = '0.0.
|
3
|
-
end
|
2
|
+
VERSION = '0.0.8'
|
3
|
+
end
|
data/spec/tasks_spec.rb
CHANGED
data/tumbler.gemspec
CHANGED
@@ -7,6 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Tumbler::Gemspec.version
|
8
8
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
10
|
+
s.rubyforge_project = Tumbler::Gemspec.name
|
10
11
|
s.authors = ["Joshua Hull"]
|
11
12
|
s.date = Tumbler::Gemspec.date
|
12
13
|
s.description = %q{Description}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tumbler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 8
|
10
|
+
version: 0.0.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Joshua Hull
|
@@ -160,9 +160,6 @@ files:
|
|
160
160
|
- spec/tasks_spec.rb
|
161
161
|
- spec/updater_spec.rb
|
162
162
|
- spec/version_spec.rb
|
163
|
-
- test1
|
164
|
-
- thinking.txt
|
165
|
-
- thinking2.txt
|
166
163
|
- tumbler.gemspec
|
167
164
|
has_rdoc: true
|
168
165
|
homepage: http://github.com/joshbuddy/tumbler
|
@@ -193,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
190
|
version: "0"
|
194
191
|
requirements: []
|
195
192
|
|
196
|
-
rubyforge_project:
|
193
|
+
rubyforge_project: tumbler
|
197
194
|
rubygems_version: 1.3.7
|
198
195
|
signing_key:
|
199
196
|
specification_version: 3
|
data/test1
DELETED
File without changes
|
data/thinking.txt
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
I want ...
|
2
|
-
|
3
|
-
* version management
|
4
|
-
* changelog generation
|
5
|
-
* dependancy management from bundler to gemspec
|
6
|
-
|
7
|
-
Tumbler
|
8
|
-
for_version do
|
9
|
-
format "#.#.#"
|
10
|
-
filename "VERSION"
|
11
|
-
end
|
12
|
-
|
13
|
-
for_changelog do
|
14
|
-
filename "CHANGELOG.txt"
|
15
|
-
format "#{line} (#{author})"
|
16
|
-
end
|
17
|
-
|
18
|
-
rake version:bump:patch
|
19
|
-
rake version:bump:minor
|
20
|
-
rake version:bump:major
|
21
|
-
rake version:tag
|
22
|
-
rake changelog:regenerate
|
23
|
-
rake changelog:update
|
24
|
-
rake gem:push
|
25
|
-
rake gem:register
|
26
|
-
rake gem:build
|
27
|
-
rake gem:install
|
28
|
-
rake gemspec:skeleton
|
29
|
-
|
30
|
-
rake patch:release -> version:bump:patch changelog:update version:tag rake gem:push
|
31
|
-
rake minor:release -> version:bump:patch changelog:update version:tag rake gem:push
|
32
|
-
rake major:release -> version:bump:patch changelog:update version:tag rake gem:push
|
33
|
-
|
34
|
-
gemspec ...
|
35
|
-
files from git
|
36
|
-
version from file
|
37
|
-
deps from bundler
|
38
|
-
|
39
|
-
version bump
|
40
|
-
update version file
|
41
|
-
commit result
|
42
|
-
|
43
|
-
version tag
|
44
|
-
create git tag
|
45
|
-
commit result (?)
|
46
|
-
|
47
|
-
changelog update
|
48
|
-
since last release ... get all tags, get all change lines, build file
|
49
|
-
|
50
|
-
gem push
|
51
|
-
gem register
|
52
|
-
|
53
|
-
gemspec skel
|
54
|
-
.gemspec
|
data/thinking2.txt
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
You left the chat by being disconnected from the server.
|
2
|
-
[4:53pm] You were promoted to operator by ChanServ.
|
3
|
-
[4:53pm] You rejoined the room.
|
4
|
-
[4:53pm] nesquena: the issue is that when using :git => "xxx" in gemfile, bundler is relying on the dynamic gemspec directly
|
5
|
-
[4:53pm] nesquena: but its not clear to me why this causes everything to break hard
|
6
|
-
[4:54pm] You left the chat by being disconnected from the server.
|
7
|
-
[4:54pm] calvino.freenode.net: [freenode-info] channel flooding and no channel staff around to help? Please check with freenode support: http://freenode.net/faq.shtml#gettinghelp
|
8
|
-
[4:54pm] You rejoined the room.
|
9
|
-
[4:54pm] You were promoted to operator by ChanServ.
|
10
|
-
[4:55pm] nesquena: joshbuddy: i noticed tumbler relies on a VERSION file similar to jeweler. for some reason i have heard multiple people recommend using a version.rb file with a GemName::Version syntax instead. have you ever heard that before?
|
11
|
-
[4:55pm] nesquena: heres where padrino moved from VERSION to a version.rb: http://github.com/padrino/padrino-framework/issuesearch?state=closed&q=version#issue/88
|
12
|
-
[4:55pm] nesquena: and where sinatra did: http://github.com/sinatra/sinatra/commit/e1638a43ad3a5c5ea70db56944a5230cc86e537a
|
13
|
-
[4:55pm] achiu joined the chat room.
|
14
|
-
[4:55pm] achiu was promoted to operator by ChanServ.
|
15
|
-
[4:55pm] joshbuddy: nesquena: oh, well, i'll just follow that then
|
16
|
-
[4:55pm] joshbuddy: should be easy to change
|
17
|
-
[4:56pm] nesquena: joshbuddy: yea seems like it has partially to do with rip only taking the lib folder
|
18
|
-
[4:56pm] joshbuddy: not sure why its best practice though
|
19
|
-
[4:56pm] nesquena: joshbuddy: so any attempt to read version fails miserably
|
20
|
-
[4:56pm] joshbuddy: oh, i suppose thats valid
|
21
|
-
[4:56pm] joshbuddy: i'll fix that, thanks!
|
22
|
-
[4:56pm] nesquena: joshbuddy: sure, they sort of discuss it in the comments here: http://github.com/sinatra/sinatra/commit/e1638a43ad3a5c5ea70db56944a5230cc86e537a
|
23
|
-
[4:56pm] nesquena: joshbuddy: isnt a big deal but thot id let you know since id like padrino to use tumbler too!
|
24
|
-
[4:57pm] joshbuddy: well, i'd like to follow the current state of the art
|
25
|
-
[4:57pm] nesquena: joshbuddy: yea i figured as much. tumbler is looking awesome
|
26
|
-
[4:58pm] joshbuddy: thanks! just wanna finish it already!
|
27
|
-
[4:58pm] nesquena: joshbuddy: and i would love to put it into padrino for 0.9.12
|
28
|
-
[4:58pm] joshbuddy: uup
|
29
|
-
[4:58pm] joshbuddy: thats the goal
|
30
|
-
[4:58pm] joshbuddy: and raise everyone's boats
|
31
|
-
[4:59pm] nesquena: joshbuddy: yea i can easily see it taking over for jeweler once the kinks are worked out
|
32
|
-
[4:59pm] joshbuddy: yeah, exactly.
|
33
|
-
[4:59pm] joshbuddy: but i don't want to release until it does what it minimially promises
|
34
|
-
[4:59pm] nesquena: joshbuddy: we should definately put it on rubyflow, im even down to write a padrino blog post about it or you are welcome to also
|
35
|
-
[4:59pm] nesquena: joshbuddy: yea definately
|
36
|
-
[4:59pm] joshbuddy: and the key there, is really really good testing
|
37
|
-
[4:59pm] joshbuddy: yup
|
38
|
-
[5:01pm] nesquena: joshbuddy: in padrino the way we update version is just to gsub it into the version.rb file:
|
39
|
-
[5:01pm] nesquena: version_text = File.read(version_path).sub(/VERSION = '[\d\.]+'/, "VERSION = '#{args.version}'")
|
40
|
-
[5:01pm] nesquena: not sure its the best but it gets the job done
|
41
|
-
[5:01pm] joshbuddy: i'll do something like it for now ..
|
42
|
-
[5:02pm] nesquena: joshbuddy: yea you can even keep the sytax
|
43
|
-
[5:03pm] nesquena: use_version do
|
44
|
-
[5:03pm] nesquena: filename 'padrino-core/lib/version.rb'
|
45
|
-
[5:03pm] nesquena: end
|
46
|
-
[5:03pm] joshbuddy: thats exactly what i'm thinkin'
|
47
|
-
[5:03pm] RichGuk: Man you guys talk to quick.
|
48
|
-
[5:03pm] RichGuk: *reads up*
|
49
|
-
[5:03pm] nesquena: joshbuddy: although im not sure thats better than version_file 'padrino-core/lib/version.rb'
|
50
|
-
[5:03pm] nesquena: more dsl declarative
|
51
|
-
[5:04pm] joshbuddy: well, i suspect there are other version options ..
|
52
|
-
[5:04pm] joshbuddy: in fact, there are ..
|
53
|
-
[5:04pm] joshbuddy: its not documented yet, but you can have fields in there..
|
54
|
-
[5:04pm] joshbuddy: to indicate which version fields you want to be able to act one
|
55
|
-
[5:04pm] joshbuddy: on
|
56
|
-
[5:06pm] nesquena: joshbuddy: what do you mean which to act on? like major, tiny, minor?
|
57
|
-
[5:06pm] nesquena: what about something like: joshbuddy: i was
|
58
|
-
[5:06pm] nesquena: http://gist.github.com/441270
|
59
|
-
[5:06pm] joshbuddy: nesquena: exactly
|
60
|
-
[5:06pm] nesquena: joshbuddy: ok not a big deal, works either way
|
61
|
-
[5:06pm] joshbuddy: oh, thats nicer!
|
62
|
-
[5:06pm] joshbuddy: but _file ..
|
63
|
-
[5:07pm] joshbuddy: seems odd ..
|
64
|
-
[5:07pm] nesquena: joshbuddy: yea because i think in the 80% case it will be much cleaner
|
65
|
-
[5:07pm] joshbuddy: when changelog doesn't get it too
|
66
|
-
[5:07pm] nesquena: joshbuddy: ok just version then
|
67
|
-
[5:07pm] joshbuddy: nono, i'm thinking changelog_file
|
68
|
-
[5:07pm] joshbuddy:
|
69
|
-
[5:07pm] nesquena: http://gist.github.com/441270
|
70
|
-
[5:07pm] nesquena: oh
|
71
|
-
[5:07pm] nesquena: haha
|
72
|
-
[5:07pm] nesquena: yea that makes sense. i think that looks pretty clean
|