hoe-bundler 1.1.0 → 1.2.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.
- data/lib/hoe/bundler.rb +36 -18
- data/test/fixture_project/Gemfile +2 -2
- data/test/test_hoe_bundler.rb +23 -2
- metadata +63 -100
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -2
data/lib/hoe/bundler.rb
CHANGED
@@ -5,31 +5,49 @@ class Hoe #:nodoc:
|
|
5
5
|
# * <tt>bundler:gemfile</tt>
|
6
6
|
#
|
7
7
|
module Bundler
|
8
|
-
VERSION = "1.
|
8
|
+
VERSION = "1.2.0" #:nodoc:
|
9
9
|
|
10
10
|
def define_bundler_tasks
|
11
11
|
desc "generate a bundler Gemfile from your Hoe.spec dependencies"
|
12
12
|
task "bundler:gemfile" do
|
13
13
|
File.open("Gemfile","w") do |gemfile|
|
14
|
-
gemfile.
|
15
|
-
gemfile.puts
|
16
|
-
gemfile.puts "# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`."
|
17
|
-
gemfile.puts
|
18
|
-
gemfile.puts "source :gemcutter"
|
19
|
-
gemfile.puts
|
20
|
-
self.extra_deps.each do |name, version|
|
21
|
-
version ||= ">=0"
|
22
|
-
gemfile.puts %Q{gem "#{name}", "#{version.gsub(/ /,'')}"}
|
23
|
-
end
|
24
|
-
gemfile.puts
|
25
|
-
self.extra_dev_deps.each do |name, version|
|
26
|
-
version ||= ">=0"
|
27
|
-
gemfile.puts %Q{gem "#{name}", "#{version.gsub(/ /,'')}", :group => [:development, :test]}
|
28
|
-
end
|
29
|
-
gemfile.puts
|
30
|
-
gemfile.puts "# vim: syntax=ruby"
|
14
|
+
gemfile.print hoe_bundler_contents
|
31
15
|
end
|
32
16
|
end
|
33
17
|
end
|
18
|
+
|
19
|
+
def hoe_bundler_contents
|
20
|
+
gemfile = StringIO.new
|
21
|
+
gemfile.puts "# -*- ruby -*-"
|
22
|
+
gemfile.puts
|
23
|
+
gemfile.puts "# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`."
|
24
|
+
gemfile.puts
|
25
|
+
gemfile.puts "source \"https://rubygems.org/\""
|
26
|
+
gemfile.puts
|
27
|
+
|
28
|
+
extra_deps = {}
|
29
|
+
self.extra_deps.each do |name, version|
|
30
|
+
version ||= ">=0"
|
31
|
+
extra_deps[name] = version unless extra_deps.key?(name)
|
32
|
+
end
|
33
|
+
extra_deps.each do |name, version|
|
34
|
+
gemfile.puts %Q{gem "#{name}", "#{version.gsub(/ /,'')}"}
|
35
|
+
end
|
36
|
+
gemfile.puts
|
37
|
+
|
38
|
+
extra_dev_deps = {}
|
39
|
+
self.extra_dev_deps.each do |name, version|
|
40
|
+
version ||= ">=0"
|
41
|
+
extra_dev_deps[name] = version unless extra_dev_deps.key?(name)
|
42
|
+
end
|
43
|
+
extra_dev_deps.each do |name, version|
|
44
|
+
gemfile.puts %Q{gem "#{name}", "#{version.gsub(/ /,'')}", :group => [:development, :test]}
|
45
|
+
end
|
46
|
+
gemfile.puts
|
47
|
+
gemfile.puts "# vim: syntax=ruby"
|
48
|
+
|
49
|
+
gemfile.rewind
|
50
|
+
gemfile.read
|
51
|
+
end
|
34
52
|
end
|
35
53
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
|
4
4
|
|
5
|
-
source
|
5
|
+
source "https://rubygems.org/"
|
6
6
|
|
7
7
|
gem "xxx", ">=0"
|
8
8
|
gem "yyy", ">=0"
|
@@ -11,6 +11,6 @@ gem "zzz", "<1.5.0"
|
|
11
11
|
gem "aaa", ">=0", :group => [:development, :test]
|
12
12
|
gem "bbb", ">=2.2.0", :group => [:development, :test]
|
13
13
|
gem "ccc", ">=0", :group => [:development, :test]
|
14
|
-
gem "hoe", "
|
14
|
+
gem "hoe", "~>2.12", :group => [:development, :test]
|
15
15
|
|
16
16
|
# vim: syntax=ruby
|
data/test/test_hoe_bundler.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require "test/unit"
|
2
2
|
require "fileutils"
|
3
3
|
|
4
|
+
require "hoe"
|
5
|
+
Hoe.plugin :bundler
|
6
|
+
|
4
7
|
class TestHoeBundler < Test::Unit::TestCase
|
5
8
|
def test_output
|
6
9
|
gemfile = nil
|
@@ -14,14 +17,32 @@ class TestHoeBundler < Test::Unit::TestCase
|
|
14
17
|
|
15
18
|
assert_match %r{^# -\*- ruby -\*-$}, gemfile
|
16
19
|
assert_match %r{^# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.}, gemfile
|
17
|
-
assert_match %r{^source
|
20
|
+
assert_match %r{^source "https://rubygems.org/"$}, gemfile
|
18
21
|
assert_match %r{^gem "xxx", ">=0"$}, gemfile
|
19
22
|
assert_match %r{^gem "yyy", ">=0"$}, gemfile
|
20
23
|
assert_match %r{^gem "zzz", "<1.5.0"$}, gemfile
|
21
24
|
assert_match %r{^gem "aaa", ">=0", :group => \[:development, :test\]$}, gemfile
|
22
25
|
assert_match %r{^gem "bbb", ">=2.2.0", :group => \[:development, :test\]$}, gemfile
|
23
26
|
assert_match %r{^gem "ccc", ">=0", :group => \[:development, :test\]$}, gemfile
|
24
|
-
assert_match %r{^gem "hoe",
|
27
|
+
assert_match %r{^gem "hoe", .* :group => \[:development, :test\]$}, gemfile
|
25
28
|
assert_match %r{^# vim: syntax=ruby$}, gemfile
|
26
29
|
end
|
30
|
+
|
31
|
+
def test_handles_duplicate_dependencies_like_gemspec
|
32
|
+
Dir.chdir(File.join(File.dirname(__FILE__), "fixture_project")) do
|
33
|
+
hoe = Hoe.spec "foo" do
|
34
|
+
developer("MCA","mca@example.com")
|
35
|
+
extra_deps << ["yyy", ">=0"]
|
36
|
+
extra_deps << ["yyy", ">=1"]
|
37
|
+
extra_dev_deps << ["bbb", ">= 1"]
|
38
|
+
extra_dev_deps << ["bbb", ">= 0"]
|
39
|
+
end
|
40
|
+
|
41
|
+
lines = hoe.hoe_bundler_contents.split("\n")
|
42
|
+
assert_equal 1, lines.grep(/yyy/).length
|
43
|
+
assert_match(/>=0/, lines.grep(/yyy/).first)
|
44
|
+
assert_equal 1, lines.grep(/bbb/).length
|
45
|
+
assert_match(/>=1/, lines.grep(/bbb/).first)
|
46
|
+
end
|
47
|
+
end
|
27
48
|
end
|
metadata
CHANGED
@@ -1,102 +1,74 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoe-bundler
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 1.1.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Mike Dalessio
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
|
-
cert_chain:
|
17
|
-
-
|
18
|
-
|
19
|
-
|
20
|
-
LmRhbGVzc2lvMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
|
21
|
-
FgNjb20wHhcNMDkwODExMDU0MjQ5WhcNMTAwODExMDU0MjQ5WjBEMRYwFAYDVQQD
|
22
|
-
DA1taWtlLmRhbGVzc2lvMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
|
23
|
-
k/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDANjr7
|
24
|
-
lZ1DKtK8YvNp+5kBzIpwrpClHRrosqo01qmWfGBxZckQUtrJUwGPxpzvIHVq1VKp
|
25
|
-
a9FXU/QWYek/1S0vhkOf9XGmFBnVCtbJhwGeyzsQFFSoQIfs2hd5gO0dSRpuKdi3
|
26
|
-
slfJAXzFKg1u/7OCVPgrY/mkdh34MzL5p0gSDzPt7vLPibctHg0GoepYT5Fh1tMQ
|
27
|
-
luzgrN0weTw/QoEWTMQcNk6CyUpzv0pOe7d0qEPQ9Lx7Lz64gIym3f0pKFpWLfME
|
28
|
-
l7PFLeR95zw2zsuZQwCR5ma5zjXD3mo2jk1mVqiI8qplOL1u30FU7hRhTV5n/Qe9
|
29
|
-
elDQoZW9Xz0R5JGDAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
|
30
|
-
A1UdDgQWBBRXWlUJZXcR1jkZPE24+mjUTCqNxjANBgkqhkiG9w0BAQUFAAOCAQEA
|
31
|
-
jDh5M41sg1MZKG1DXzQmo/IADeWRmXyb3EZaED9lhFFpoQqaralgpgmvuc0GswvO
|
32
|
-
QIZijh03tPQz8lgp1U1OFZod2ZwbEVTtVZpxs1ssjMraOA6KzlsNROH0XonIiy6j
|
33
|
-
r2Q0UF35ax8pvr3D5Y6AKzIW1F3aeiREylUDJlb/i1dPQ2PVK0yRrSQoK2epwM9E
|
34
|
-
zoczlHTTJc/tRvH5Up3Agcv9y+J0U9a1Af9NRsnHPVBdo2H32MsJ99x5NRDWJmJg
|
35
|
-
ohH37UR7njcc6j4fo22IwTqXaaXJdtVdAWjXP/xs5B3cPYSP6uqFnR46Jf86Iqj1
|
36
|
-
FlqnTjy13J3nD30uxy9a1g==
|
37
|
-
-----END CERTIFICATE-----
|
38
|
-
|
39
|
-
date: 2011-03-20 00:00:00 -04:00
|
40
|
-
default_executable:
|
41
|
-
dependencies:
|
42
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-09-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
43
15
|
name: hoe
|
44
|
-
|
45
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
46
17
|
none: false
|
47
|
-
requirements:
|
48
|
-
- -
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
hash: 7
|
51
|
-
segments:
|
52
|
-
- 2
|
53
|
-
- 2
|
54
|
-
- 0
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
55
21
|
version: 2.2.0
|
56
22
|
type: :runtime
|
57
|
-
version_requirements: *id001
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: rake
|
60
23
|
prerelease: false
|
61
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.2.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rdoc
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
62
33
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
|
67
|
-
segments:
|
68
|
-
- 0
|
69
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.10'
|
70
38
|
type: :development
|
71
|
-
version_requirements: *id002
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: hoe
|
74
39
|
prerelease: false
|
75
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
76
41
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.10'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
86
54
|
type: :development
|
87
|
-
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
88
62
|
description: Generate a Gemfile based on a Hoe spec's declared dependencies.
|
89
|
-
email:
|
63
|
+
email:
|
90
64
|
- mike.dalessio@gmail.com
|
91
65
|
executables: []
|
92
|
-
|
93
66
|
extensions: []
|
94
|
-
|
95
|
-
extra_rdoc_files:
|
96
|
-
- Manifest.txt
|
67
|
+
extra_rdoc_files:
|
97
68
|
- CHANGELOG.rdoc
|
69
|
+
- Manifest.txt
|
98
70
|
- README.rdoc
|
99
|
-
files:
|
71
|
+
files:
|
100
72
|
- .autotest
|
101
73
|
- CHANGELOG.rdoc
|
102
74
|
- Manifest.txt
|
@@ -112,40 +84,31 @@ files:
|
|
112
84
|
- test/fixture_project/test/test_fixture_project.rb
|
113
85
|
- test/test_hoe_bundler.rb
|
114
86
|
- .gemtest
|
115
|
-
has_rdoc: true
|
116
87
|
homepage: http://github.com/flavorjones/hoe-bundler
|
117
88
|
licenses: []
|
118
|
-
|
119
89
|
post_install_message:
|
120
|
-
rdoc_options:
|
90
|
+
rdoc_options:
|
121
91
|
- --main
|
122
92
|
- README.rdoc
|
123
|
-
require_paths:
|
93
|
+
require_paths:
|
124
94
|
- lib
|
125
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
126
96
|
none: false
|
127
|
-
requirements:
|
128
|
-
- -
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
|
131
|
-
|
132
|
-
- 0
|
133
|
-
version: "0"
|
134
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ! '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
102
|
none: false
|
136
|
-
requirements:
|
137
|
-
- -
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
|
140
|
-
segments:
|
141
|
-
- 0
|
142
|
-
version: "0"
|
103
|
+
requirements:
|
104
|
+
- - ! '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
143
107
|
requirements: []
|
144
|
-
|
145
108
|
rubyforge_project: hoe-bundler
|
146
|
-
rubygems_version: 1.
|
109
|
+
rubygems_version: 1.8.24
|
147
110
|
signing_key:
|
148
111
|
specification_version: 3
|
149
112
|
summary: Generate a Gemfile based on a Hoe spec's declared dependencies.
|
150
|
-
test_files:
|
113
|
+
test_files:
|
151
114
|
- test/test_hoe_bundler.rb
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED