spitball 0.6.1 → 0.7.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/.travis.yml +6 -0
- data/Gemfile +2 -2
- data/README.md +1 -1
- data/lib/spitball.rb +10 -5
- data/lib/spitball/version.rb +1 -1
- data/spec/spitball_spec.rb +3 -3
- data/spitball-server.gemspec +1 -0
- metadata +22 -23
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gemspec :name => 'spitball-server'
|
3
|
+
gemspec :name => 'spitball-server'
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
## spitball
|
1
|
+
## spitball [](http://travis-ci.org/twitter/spitball) [](https://codeclimate.com/github/twitter/spitball)
|
2
2
|
|
3
3
|
A very simple gem package generation tool built on `bundler`. Pass it a
|
4
4
|
gem file, it spits out a tarball of the generated gem
|
data/lib/spitball.rb
CHANGED
@@ -3,6 +3,8 @@ require 'digest/md5'
|
|
3
3
|
require 'ext/bundler_lockfile_parser'
|
4
4
|
require 'ext/bundler_fake_dsl'
|
5
5
|
|
6
|
+
$pwd = Dir.pwd
|
7
|
+
|
6
8
|
class Spitball
|
7
9
|
require 'spitball/client_common'
|
8
10
|
require 'spitball/digest'
|
@@ -33,7 +35,7 @@ class Spitball
|
|
33
35
|
@gemfile = gemfile
|
34
36
|
@gemfile_lock = gemfile_lock
|
35
37
|
@options = options
|
36
|
-
@without =
|
38
|
+
@without = options[:without].is_a?(Enumerable) ? options[:without].map(&:to_sym) : (options[:without] ? [options[:without].to_sym] : [])
|
37
39
|
@parsed_lockfile, @dsl = Bundler::FakeLockfileParser.new(gemfile_lock), Bundler::FakeDsl.new(gemfile)
|
38
40
|
raise "You need to run bundle install before you can use spitball" unless (@parsed_lockfile.dependencies.map{|d| d.name}.uniq.sort == @dsl.__gem_names.uniq.sort)
|
39
41
|
@groups_to_install = @dsl.__groups.keys - @without
|
@@ -74,7 +76,7 @@ class Spitball
|
|
74
76
|
|
75
77
|
Dir.chdir(Repo.gemcache_path) do
|
76
78
|
@dsl.__gem_names.each do |spec|
|
77
|
-
spec_name = spec
|
79
|
+
spec_name = spec
|
78
80
|
if @groups_to_install.any?{|group| @dsl.__groups[group].include?(spec_name)}
|
79
81
|
if found_spec = @parsed_lockfile.specs.find {|spec| spec.name == spec_name}
|
80
82
|
install_gem(found_spec)
|
@@ -119,7 +121,10 @@ class Spitball
|
|
119
121
|
cache_dir = File.join(Repo.gemcache_path, "#{name}-#{::Digest::MD5.hexdigest([name, version, sources_opt(@parsed_lockfile.sources)].join('/'))}")
|
120
122
|
unless File.exist?(cache_dir)
|
121
123
|
FileUtils.mkdir_p(cache_dir)
|
122
|
-
out =
|
124
|
+
out = ""
|
125
|
+
Dir.chdir($pwd) do
|
126
|
+
out = `#{Spitball.gem_cmd} install #{name} -v'#{version}' --no-rdoc --no-ri --ignore-dependencies -i#{cache_dir} #{sources_opt(@parsed_lockfile.sources)} 2>&1`
|
127
|
+
end
|
123
128
|
if $? == 0
|
124
129
|
puts out
|
125
130
|
else
|
@@ -133,7 +138,7 @@ class Spitball
|
|
133
138
|
end
|
134
139
|
|
135
140
|
def sources_opt(sources)
|
136
|
-
Array(ENV['SOURCE_OVERRIDE'] ||
|
141
|
+
Array(ENV['SOURCE_OVERRIDE'] ||
|
137
142
|
sources.
|
138
143
|
map{|s| s.remotes}.flatten.
|
139
144
|
map{|s| s.to_s}.
|
@@ -160,4 +165,4 @@ class Spitball
|
|
160
165
|
def tarball_path
|
161
166
|
Repo.bundle_path(digest, 'tgz')
|
162
167
|
end
|
163
|
-
end
|
168
|
+
end
|
data/lib/spitball/version.rb
CHANGED
data/spec/spitball_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'spec/spec_helper'
|
1
|
+
require './spec/spec_helper'
|
2
2
|
|
3
3
|
describe Spitball do
|
4
4
|
before do
|
@@ -124,7 +124,7 @@ describe Spitball do
|
|
124
124
|
activerecord
|
125
125
|
end_lockfile
|
126
126
|
end
|
127
|
-
|
127
|
+
|
128
128
|
it "should use without" do
|
129
129
|
@spitball = Spitball.new(@gemfile, @lockfile)
|
130
130
|
mock(@spitball).install_and_copy_spec(anything, anything).times(9)
|
@@ -288,4 +288,4 @@ describe Spitball do
|
|
288
288
|
end
|
289
289
|
end
|
290
290
|
end
|
291
|
-
end
|
291
|
+
end
|
data/spitball-server.gemspec
CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = ['spitball-server', 'spitball-cache-cleanup']
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
+
s.add_dependency 'json'
|
21
22
|
s.add_dependency 'sinatra', '~> 1.2.0'
|
22
23
|
s.add_development_dependency 'rspec', "~> 1.3.0"
|
23
24
|
s.add_development_dependency 'diff-lcs'
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spitball
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 7
|
9
|
+
- 0
|
10
|
+
version: 0.7.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Matt Freels
|
@@ -17,12 +17,10 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date:
|
21
|
-
default_executable:
|
20
|
+
date: 2013-11-12 00:00:00 Z
|
22
21
|
dependencies:
|
23
22
|
- !ruby/object:Gem::Dependency
|
24
|
-
|
25
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
24
|
none: false
|
27
25
|
requirements:
|
28
26
|
- - ~>
|
@@ -33,12 +31,12 @@ dependencies:
|
|
33
31
|
- 3
|
34
32
|
- 0
|
35
33
|
version: 1.3.0
|
36
|
-
requirement: *id001
|
37
34
|
name: rspec
|
35
|
+
prerelease: false
|
38
36
|
type: :development
|
37
|
+
version_requirements: *id001
|
39
38
|
- !ruby/object:Gem::Dependency
|
40
|
-
|
41
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
40
|
none: false
|
43
41
|
requirements:
|
44
42
|
- - ">="
|
@@ -47,12 +45,12 @@ dependencies:
|
|
47
45
|
segments:
|
48
46
|
- 0
|
49
47
|
version: "0"
|
50
|
-
requirement: *id002
|
51
48
|
name: diff-lcs
|
49
|
+
prerelease: false
|
52
50
|
type: :development
|
51
|
+
version_requirements: *id002
|
53
52
|
- !ruby/object:Gem::Dependency
|
54
|
-
|
55
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
54
|
none: false
|
57
55
|
requirements:
|
58
56
|
- - ">="
|
@@ -61,12 +59,12 @@ dependencies:
|
|
61
59
|
segments:
|
62
60
|
- 0
|
63
61
|
version: "0"
|
64
|
-
requirement: *id003
|
65
62
|
name: rr
|
63
|
+
prerelease: false
|
66
64
|
type: :development
|
65
|
+
version_requirements: *id003
|
67
66
|
- !ruby/object:Gem::Dependency
|
68
|
-
|
69
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
68
|
none: false
|
71
69
|
requirements:
|
72
70
|
- - "="
|
@@ -77,12 +75,12 @@ dependencies:
|
|
77
75
|
- 8
|
78
76
|
- 7
|
79
77
|
version: 0.8.7
|
80
|
-
requirement: *id004
|
81
78
|
name: rake
|
79
|
+
prerelease: false
|
82
80
|
type: :development
|
81
|
+
version_requirements: *id004
|
83
82
|
- !ruby/object:Gem::Dependency
|
84
|
-
|
85
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
86
84
|
none: false
|
87
85
|
requirements:
|
88
86
|
- - ">="
|
@@ -91,9 +89,10 @@ dependencies:
|
|
91
89
|
segments:
|
92
90
|
- 0
|
93
91
|
version: "0"
|
94
|
-
requirement: *id005
|
95
92
|
name: phocus
|
93
|
+
prerelease: false
|
96
94
|
type: :development
|
95
|
+
version_requirements: *id005
|
97
96
|
description: Use bundler to generate gem tarball packages.
|
98
97
|
email: freels@twitter.com
|
99
98
|
executables:
|
@@ -104,6 +103,7 @@ extra_rdoc_files:
|
|
104
103
|
- README.md
|
105
104
|
files:
|
106
105
|
- .gitignore
|
106
|
+
- .travis.yml
|
107
107
|
- Gemfile
|
108
108
|
- README.md
|
109
109
|
- Rakefile
|
@@ -124,7 +124,6 @@ files:
|
|
124
124
|
- spec/spitball_spec.rb
|
125
125
|
- spitball-server.gemspec
|
126
126
|
- spitball.gemspec
|
127
|
-
has_rdoc: true
|
128
127
|
homepage: http://rubygems.org/gems/spitball
|
129
128
|
licenses: []
|
130
129
|
|
@@ -154,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
153
|
requirements: []
|
155
154
|
|
156
155
|
rubyforge_project: spitball
|
157
|
-
rubygems_version: 1.
|
156
|
+
rubygems_version: 1.8.3
|
158
157
|
signing_key:
|
159
158
|
specification_version: 3
|
160
159
|
summary: Use bundler to generate gem tarball packages
|