stickler 2.3.0 → 2.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.
- checksums.yaml +15 -0
- data/CONTRIBUTING.md +5 -4
- data/HISTORY.md +16 -9
- data/LICENSE +1 -1
- data/Manifest.txt +34 -20
- data/README.md +128 -0
- data/Rakefile +10 -9
- data/bin/stickler +9 -6
- data/bin/stickler-passenger-config +8 -8
- data/bin/stickler-server +12 -12
- data/examples/as_middleware.ru +14 -0
- data/examples/auth_repo.ru +1 -1
- data/examples/gemcutter_repo.ru +1 -1
- data/examples/local_repo.ru +1 -1
- data/lib/stickler.rb +3 -1
- data/lib/stickler/client.rb +2 -1
- data/lib/stickler/client/delete.rb +1 -1
- data/lib/stickler/client/latest-version.rb +40 -0
- data/lib/stickler/client/mirror.rb +47 -15
- data/lib/stickler/client/push.rb +1 -1
- data/lib/stickler/client/unyank.rb +1 -1
- data/lib/stickler/client/yank.rb +1 -1
- data/lib/stickler/gem_container.rb +40 -0
- data/lib/stickler/gemfile_lock_parser.rb +47 -0
- data/lib/stickler/middleware.rb +1 -0
- data/lib/stickler/middleware/server.rb +37 -0
- data/lib/stickler/repository/api.rb +16 -0
- data/lib/stickler/repository/index.rb +0 -3
- data/lib/stickler/repository/local.rb +6 -8
- data/lib/stickler/repository/remote.rb +29 -7
- data/lib/stickler/server.rb +2 -6
- data/man/stickler-passenger-config.1 +2 -22
- data/man/stickler-server.1 +9 -99
- data/man/stickler.1 +15 -173
- data/man/stickler.1.ronn +6 -0
- data/tasks/default.rake +16 -18
- data/tasks/man.rake +7 -0
- data/tasks/this.rb +5 -5
- data/test/data/Gemfile.lock.example +56 -0
- data/{spec → test}/data/gemcutter/gems/foo-1.0.0.gem +0 -0
- data/{spec → test}/data/gems/bar-1.0.0.gem +0 -0
- data/{spec → test}/data/gems/baz-3.1.4-java.gem +0 -0
- data/{spec → test}/data/gems/baz-3.1.4.gem +0 -0
- data/{spec → test}/data/gems/foo-1.0.0.gem +0 -0
- data/{spec → test}/data/gems/foo-2.0.0a.gem +0 -0
- data/test/data/specifications/bar-1.0.0.gemspec +31 -0
- data/test/data/specifications/baz-3.1.4-java.gemspec +32 -0
- data/test/data/specifications/baz-3.1.4.gemspec +31 -0
- data/test/data/specifications/foo-1.0.0.gemspec +31 -0
- data/test/data/specifications/foo-2.0.0a.gemspec +32 -0
- data/test/index_test_helpers.rb +75 -0
- data/test/middleware/test_local.rb +75 -0
- data/test/middleware/test_not_found.rb +26 -0
- data/test/repository/test_api.rb +49 -0
- data/test/repository/test_api_behavior.rb +208 -0
- data/test/repository/test_index.rb +48 -0
- data/test/repository/test_local.rb +59 -0
- data/test/repository/test_null.rb +15 -0
- data/test/repository/test_remote.rb +26 -0
- data/test/repository/test_remote_authenticated.rb +39 -0
- data/test/stickler_test_server.rb +35 -0
- data/test/test_gemfile_lock_parser.rb +28 -0
- data/test/test_paths.rb +22 -0
- data/test/test_spec_lite.rb +90 -0
- data/test/test_stickler.rb +49 -0
- metadata +58 -85
- data/README.rdoc +0 -156
- data/spec/index_spec_helpers.rb +0 -73
- data/spec/middleware/local_spec.rb +0 -72
- data/spec/middleware/not_found_spec.rb +0 -25
- data/spec/paths_spec.rb +0 -11
- data/spec/repository/api_behavior.rb +0 -192
- data/spec/repository/api_spec.rb +0 -37
- data/spec/repository/index_spec.rb +0 -46
- data/spec/repository/local_spec.rb +0 -49
- data/spec/repository/null_spec.rb +0 -14
- data/spec/repository/remote_spec.rb +0 -86
- data/spec/spec.opts +0 -2
- data/spec/spec_helper.rb +0 -24
- data/spec/spec_lite_spec.rb +0 -96
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'test_stickler'
|
2
|
+
require 'repository/test_api'
|
3
|
+
|
4
|
+
module Stickler
|
5
|
+
class NullRepoistoryTest < Test
|
6
|
+
include RepositoryApiTests
|
7
|
+
def repo
|
8
|
+
@repo ||= ::Stickler::Repository::Null.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_null_root_dir_is_class_name
|
12
|
+
assert_equal "Stickler::Repository::Null", repo.root_dir
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test_stickler'
|
2
|
+
require 'stickler_test_server'
|
3
|
+
require 'repository/test_api_behavior'
|
4
|
+
|
5
|
+
module Stickler
|
6
|
+
class RemoteRepositoryTest < Test
|
7
|
+
include RepositoryApiBehaviorTests
|
8
|
+
|
9
|
+
attr_reader :repo
|
10
|
+
|
11
|
+
def setup
|
12
|
+
super
|
13
|
+
@repo_uri = "http://localhost:6789/"
|
14
|
+
@repo = ::Stickler::Repository::Remote.new( @repo_uri, :debug => true )
|
15
|
+
@server = SticklerTestServer.new( test_dir, "gemcutter_repo.ru" )
|
16
|
+
@server.start
|
17
|
+
end
|
18
|
+
|
19
|
+
def teardown
|
20
|
+
super
|
21
|
+
@server.stop
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'test_stickler'
|
2
|
+
require 'stickler_test_server'
|
3
|
+
require 'repository/test_api_behavior'
|
4
|
+
|
5
|
+
module Stickler
|
6
|
+
class AuthenticatedRemoteRepositoryTest < Test
|
7
|
+
include RepositoryApiBehaviorTests
|
8
|
+
|
9
|
+
attr_reader :repo
|
10
|
+
|
11
|
+
def setup
|
12
|
+
super
|
13
|
+
@repo_uri = "http://stickler:secret@localhost:6789/"
|
14
|
+
@repo = ::Stickler::Repository::Remote.new( @repo_uri )
|
15
|
+
@server = SticklerTestServer.new( test_dir , "auth_repo.ru" )
|
16
|
+
@server.start
|
17
|
+
end
|
18
|
+
|
19
|
+
def teardown
|
20
|
+
super
|
21
|
+
@server.stop
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_raising_authentication_denied
|
25
|
+
repo = ::Stickler::Repository::Remote.new( "http://localhost:6789/")
|
26
|
+
assert_raises( ::Stickler::Repository::Error ) do
|
27
|
+
repo.get( @foo_spec )
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_authenticates_a_connection
|
32
|
+
repo.push( @foo_gem_local_path )
|
33
|
+
data = repo.get( @foo_spec )
|
34
|
+
sha1 = Digest::SHA1.hexdigest( data )
|
35
|
+
assert_equal @foo_digest, sha1
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class SticklerTestServer
|
2
|
+
def initialize( test_dir, ru_file )
|
3
|
+
@test_dir = test_dir
|
4
|
+
@repo_uri = "http://localhost:6789/"
|
5
|
+
@tmp_dir = File.join( @test_dir , "tmp" )
|
6
|
+
FileUtils.mkdir_p( @tmp_dir )
|
7
|
+
|
8
|
+
@pid_file = File.join( @tmp_dir , "rack.pid" )
|
9
|
+
@ru_file = File.expand_path( File.join( @test_dir , "..", "examples", ru_file ) )
|
10
|
+
@cmd = "rackup --port 6789 --pid #{@pid_file} --daemonize #{@ru_file}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def start
|
14
|
+
system @cmd
|
15
|
+
tries = 0
|
16
|
+
loop do
|
17
|
+
begin
|
18
|
+
Excon.get( @repo_uri + "specs.#{Gem.marshal_version}.gz" )
|
19
|
+
#puts "rackup started with pid #{IO.read( @pid_file )}"
|
20
|
+
break
|
21
|
+
rescue
|
22
|
+
tries += 1
|
23
|
+
sleep tries * 0.1
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def stop
|
29
|
+
pid = IO.read( @pid_file ).to_i
|
30
|
+
Process.kill( 'KILL', pid )
|
31
|
+
#FileUtils.rm_rf( @tmp_dir, :verbose => true )
|
32
|
+
FileUtils.rm_rf( @tmp_dir )
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'test_stickler'
|
2
|
+
require 'stickler/gemfile_lock_parser'
|
3
|
+
|
4
|
+
module Stickler
|
5
|
+
class TestGemfileLockParser < Test
|
6
|
+
def setup
|
7
|
+
@lockfile = File.join( test_dir, 'data', 'Gemfile.lock.example' )
|
8
|
+
@parser = ::Stickler::GemfileLockParser.new( @lockfile )
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_raises_exception_when_file_does_not_exist
|
12
|
+
assert_raises( ::Stickler::Error ) {
|
13
|
+
::Stickler::GemfileLockParser.new( File.join( test_dir, 'data', "Gemfile.dne" ) )
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_parse_gem_dependencies
|
18
|
+
names = %w[ addressable builder excon hpricot json little-plugger logging
|
19
|
+
minitest multi_json mustache rack rack-protection rack-test rake
|
20
|
+
rdiscount rdoc ronn sinatra tilt trollop ]
|
21
|
+
names.each do |n|
|
22
|
+
assert @parser.depends_on?( n ), "fails to depend on #{n}"
|
23
|
+
end
|
24
|
+
|
25
|
+
assert_equal names.size, @parser.gem_dependencies.size
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/test/test_paths.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'test_stickler'
|
2
|
+
require 'pathname'
|
3
|
+
|
4
|
+
module Stickler
|
5
|
+
class TestPaths < Test
|
6
|
+
def setup
|
7
|
+
@root_path = Pathname.new( __FILE__ ).dirname.parent.expand_path
|
8
|
+
end
|
9
|
+
|
10
|
+
def add_trailing_separator( x )
|
11
|
+
x.to_s + ::File::SEPARATOR
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_accessing_the_root_dir_of_the_project
|
15
|
+
assert_equal( add_trailing_separator( @root_path ), Stickler::Paths.root_dir )
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_accessing_the_lib_dir_of_the_project
|
19
|
+
assert_equal( add_trailing_separator( @root_path.join('lib')), Stickler::Paths.lib_path )
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'test_stickler'
|
2
|
+
|
3
|
+
module Stickler
|
4
|
+
class TestSpecLite < Test
|
5
|
+
def setup
|
6
|
+
@specs = {
|
7
|
+
:ruby => Stickler::SpecLite.new( 'foo', '0.4.2' ),
|
8
|
+
:win => Stickler::SpecLite.new( 'bar', '1.0.1', "x86-mswin32" ),
|
9
|
+
:java => Stickler::SpecLite.new( 'jfoo', '0.4.2', 'jruby' )
|
10
|
+
}
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_defaults_to_ruby_platform
|
14
|
+
assert_equal Gem::Platform::RUBY, @specs[:ruby].platform
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_platform_methods
|
18
|
+
{ [:ruby, 'file_name'] => "foo-0.4.2.gem",
|
19
|
+
[:ruby, 'spec_file_name'] => "foo-0.4.2.gemspec" ,
|
20
|
+
[:win , 'file_name'] => "bar-1.0.1-x86-mswin32.gem",
|
21
|
+
[:win , 'spec_file_name'] => "bar-1.0.1-x86-mswin32.gemspec",
|
22
|
+
[:java, 'file_name'] => 'jfoo-0.4.2-jruby.gem',
|
23
|
+
[:java, 'spec_file_name'] => 'jfoo-0.4.2-jruby.gemspec',
|
24
|
+
}.each do |params, result|
|
25
|
+
platform, method = *params
|
26
|
+
assert_equal result, @specs[platform].send(method), "on a #{platform} gem #{method} is #{result}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_array_format
|
31
|
+
assert_equal [ 'bar', '1.0.1', 'x86-mswin32' ], @specs[:win].to_a
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_returns_false_when_not_similar
|
35
|
+
refute_match @specs[:ruby], Object.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_returns_true_when_is_similar
|
39
|
+
o = OpenStruct.new( :name => @specs[:ruby].name,
|
40
|
+
:version => @specs[:ruby].version,
|
41
|
+
:platform_string => @specs[:ruby].platform_string )
|
42
|
+
|
43
|
+
assert_match @specs[:ruby], o
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_compare_to_another_spec
|
47
|
+
refute_match @specs[:ruby], @specs[:win]
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_compare_to_same_name_and_version_different_platform
|
51
|
+
list = []
|
52
|
+
list << r = Stickler::SpecLite.new( 'alib', '4.2' )
|
53
|
+
list << u = Stickler::SpecLite.new( 'alib', '4.2', 'x86-mswin32' )
|
54
|
+
assert_equal [ r, u ], list.sort
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_different_platforms_may_be_compared
|
58
|
+
list = []
|
59
|
+
list << h2 = Stickler::SpecLite.new( 'htimes', '1.1.1', 'x86-mingw32' )
|
60
|
+
list << h1 = Stickler::SpecLite.new( 'htimes', '1.1.1', 'java' )
|
61
|
+
assert_equal [h1, h2], list.sort
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_sorting
|
65
|
+
list = @specs.values
|
66
|
+
alib = Stickler::SpecLite.new( 'alib', '4.2' )
|
67
|
+
list << alib
|
68
|
+
result = [ alib, @specs[:win], @specs[:ruby], @specs[:java] ]
|
69
|
+
assert_equal result, list.sort
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_is_prerelease
|
73
|
+
spec = Stickler::SpecLite.new( 'prerelease', '1.2.3a' )
|
74
|
+
assert_predicate spec, :prerelease?
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_not_prerelease
|
78
|
+
spec = Stickler::SpecLite.new( 'prerelease', '1.2.3' )
|
79
|
+
refute_predicate spec, :prerelease?
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_version_sortable
|
83
|
+
l = []
|
84
|
+
l << a = Stickler::SpecLite.new( "foo", "1.0.3" )
|
85
|
+
l << b = Stickler::SpecLite.new( "foo", "1.0.22" )
|
86
|
+
l << c = Stickler::SpecLite.new( "foo", "1.0.17" )
|
87
|
+
assert_equal [a, c, b], l.sort
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
|
2
|
+
if RUBY_VERSION >= '1.9.2' then
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start if ENV['COVERAGE']
|
5
|
+
end
|
6
|
+
|
7
|
+
gem 'minitest'
|
8
|
+
require 'minitest/autorun'
|
9
|
+
require 'minitest/pride'
|
10
|
+
require 'stickler'
|
11
|
+
require 'index_test_helpers'
|
12
|
+
|
13
|
+
module Stickler
|
14
|
+
class Test < ::Minitest::Test
|
15
|
+
def test_dir
|
16
|
+
File.expand_path( File.dirname( __FILE__ ) )
|
17
|
+
end
|
18
|
+
|
19
|
+
def gem_root
|
20
|
+
File.join( test_dir, 'data' )
|
21
|
+
end
|
22
|
+
|
23
|
+
def specifications_dir
|
24
|
+
File.join( gem_root, "specifications" )
|
25
|
+
end
|
26
|
+
|
27
|
+
def gems_dir
|
28
|
+
File.join( gem_root, "gems" )
|
29
|
+
end
|
30
|
+
|
31
|
+
def teardown
|
32
|
+
::Stickler::Repository::Local.purge
|
33
|
+
end
|
34
|
+
|
35
|
+
def assert_raises_kind_of *exp
|
36
|
+
msg = "#{exp.pop}.\n" if String === exp.last
|
37
|
+
|
38
|
+
begin
|
39
|
+
yield
|
40
|
+
rescue Exception => e
|
41
|
+
expected = exp.any? { |ex| e.kind_of? ex }
|
42
|
+
assert expected, proc {
|
43
|
+
exception_details(e, "#{msg}#{mu_pp(exp)} exception expected, not")
|
44
|
+
}
|
45
|
+
return e
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
metadata
CHANGED
@@ -1,68 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stickler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
5
|
-
prerelease:
|
4
|
+
version: 2.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jeremy Hinegardner
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: sinatra
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
19
|
+
version: '1.4'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
26
|
+
version: '1.4'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: addressable
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 2.3
|
33
|
+
version: '2.3'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 2.3
|
40
|
+
version: '2.3'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: excon
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
47
|
+
version: '0.29'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
54
|
+
version: '0.29'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: trollop
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: logging
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,23 +83,20 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rake
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - ~>
|
100
88
|
- !ruby/object:Gem::Version
|
101
|
-
version: 10.
|
89
|
+
version: '10.1'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - ~>
|
108
95
|
- !ruby/object:Gem::Version
|
109
|
-
version: 10.
|
96
|
+
version: '10.1'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rack-test
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
101
|
- - ~>
|
116
102
|
- !ruby/object:Gem::Version
|
@@ -118,7 +104,6 @@ dependencies:
|
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
108
|
- - ~>
|
124
109
|
- !ruby/object:Gem::Version
|
@@ -126,39 +111,34 @@ dependencies:
|
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: builder
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
115
|
- - ~>
|
132
116
|
- !ruby/object:Gem::Version
|
133
|
-
version: 3.2
|
117
|
+
version: '3.2'
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
122
|
- - ~>
|
140
123
|
- !ruby/object:Gem::Version
|
141
|
-
version: 3.2
|
124
|
+
version: '3.2'
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
|
-
name:
|
126
|
+
name: minitest
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
129
|
- - ~>
|
148
130
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
131
|
+
version: '5.0'
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
136
|
- - ~>
|
156
137
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
138
|
+
version: '5.0'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: rdoc
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
143
|
- - ~>
|
164
144
|
- !ruby/object:Gem::Version
|
@@ -166,7 +146,6 @@ dependencies:
|
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
150
|
- - ~>
|
172
151
|
- !ruby/object:Gem::Version
|
@@ -174,7 +153,6 @@ dependencies:
|
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: ronn
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
157
|
- - ~>
|
180
158
|
- !ruby/object:Gem::Version
|
@@ -182,14 +160,13 @@ dependencies:
|
|
182
160
|
type: :development
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
164
|
- - ~>
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: 0.7.3
|
190
167
|
description: ! 'Stickler is a tool to organize and maintain an internal gem repository.
|
191
168
|
Primarily, you would want to use Stickler if: 1. You have proprietary gems that
|
192
|
-
you want to have available via a gem server so you may
|
169
|
+
you want to have available via a gem server so you may `gem install` them. 2.
|
193
170
|
You would like to have a local mirror of third party gems from either http://rubygems.org
|
194
171
|
or some other gem server. 3. You want both (1) and (2) in the same server.'
|
195
172
|
email: jeremy@copiousfreetime.org
|
@@ -199,18 +176,21 @@ executables:
|
|
199
176
|
- stickler-server
|
200
177
|
extensions: []
|
201
178
|
extra_rdoc_files:
|
179
|
+
- CONTRIBUTING.md
|
180
|
+
- HISTORY.md
|
202
181
|
- Manifest.txt
|
203
|
-
- README.
|
182
|
+
- README.md
|
204
183
|
files:
|
205
184
|
- CONTRIBUTING.md
|
206
185
|
- HISTORY.md
|
207
186
|
- LICENSE
|
208
187
|
- Manifest.txt
|
209
|
-
- README.
|
188
|
+
- README.md
|
210
189
|
- Rakefile
|
211
190
|
- bin/stickler
|
212
191
|
- bin/stickler-passenger-config
|
213
192
|
- bin/stickler-server
|
193
|
+
- examples/as_middleware.ru
|
214
194
|
- examples/auth_repo.ru
|
215
195
|
- examples/config.ru
|
216
196
|
- examples/fetch-a-gem
|
@@ -224,12 +204,15 @@ files:
|
|
224
204
|
- lib/stickler/client/config.rb
|
225
205
|
- lib/stickler/client/config_file.rb
|
226
206
|
- lib/stickler/client/delete.rb
|
207
|
+
- lib/stickler/client/latest-version.rb
|
227
208
|
- lib/stickler/client/list.rb
|
228
209
|
- lib/stickler/client/mirror.rb
|
229
210
|
- lib/stickler/client/push.rb
|
230
211
|
- lib/stickler/client/unyank.rb
|
231
212
|
- lib/stickler/client/yank.rb
|
232
213
|
- lib/stickler/error.rb
|
214
|
+
- lib/stickler/gem_container.rb
|
215
|
+
- lib/stickler/gemfile_lock_parser.rb
|
233
216
|
- lib/stickler/logable.rb
|
234
217
|
- lib/stickler/middleware.rb
|
235
218
|
- lib/stickler/middleware/compression.rb
|
@@ -239,6 +222,7 @@ files:
|
|
239
222
|
- lib/stickler/middleware/local.rb
|
240
223
|
- lib/stickler/middleware/mirror.rb
|
241
224
|
- lib/stickler/middleware/not_found.rb
|
225
|
+
- lib/stickler/middleware/server.rb
|
242
226
|
- lib/stickler/paths.rb
|
243
227
|
- lib/stickler/repository.rb
|
244
228
|
- lib/stickler/repository/api.rb
|
@@ -267,73 +251,62 @@ files:
|
|
267
251
|
- man/stickler-server.1.ronn
|
268
252
|
- man/stickler.1
|
269
253
|
- man/stickler.1.ronn
|
270
|
-
- spec/data/gemcutter/gems/foo-1.0.0.gem
|
271
|
-
- spec/data/gems/bar-1.0.0.gem
|
272
|
-
- spec/data/gems/baz-3.1.4-java.gem
|
273
|
-
- spec/data/gems/baz-3.1.4.gem
|
274
|
-
- spec/data/gems/foo-1.0.0.gem
|
275
|
-
- spec/data/gems/foo-2.0.0a.gem
|
276
|
-
- spec/index_spec_helpers.rb
|
277
|
-
- spec/middleware/local_spec.rb
|
278
|
-
- spec/middleware/not_found_spec.rb
|
279
|
-
- spec/paths_spec.rb
|
280
|
-
- spec/repository/api_behavior.rb
|
281
|
-
- spec/repository/api_spec.rb
|
282
|
-
- spec/repository/index_spec.rb
|
283
|
-
- spec/repository/local_spec.rb
|
284
|
-
- spec/repository/null_spec.rb
|
285
|
-
- spec/repository/remote_spec.rb
|
286
|
-
- spec/spec.opts
|
287
|
-
- spec/spec_helper.rb
|
288
|
-
- spec/spec_lite_spec.rb
|
289
254
|
- tasks/default.rake
|
255
|
+
- tasks/man.rake
|
290
256
|
- tasks/this.rb
|
257
|
+
- test/data/Gemfile.lock.example
|
258
|
+
- test/data/gemcutter/gems/foo-1.0.0.gem
|
259
|
+
- test/data/gems/bar-1.0.0.gem
|
260
|
+
- test/data/gems/baz-3.1.4-java.gem
|
261
|
+
- test/data/gems/baz-3.1.4.gem
|
262
|
+
- test/data/gems/foo-1.0.0.gem
|
263
|
+
- test/data/gems/foo-2.0.0a.gem
|
264
|
+
- test/data/specifications/bar-1.0.0.gemspec
|
265
|
+
- test/data/specifications/baz-3.1.4-java.gemspec
|
266
|
+
- test/data/specifications/baz-3.1.4.gemspec
|
267
|
+
- test/data/specifications/foo-1.0.0.gemspec
|
268
|
+
- test/data/specifications/foo-2.0.0a.gemspec
|
269
|
+
- test/index_test_helpers.rb
|
270
|
+
- test/middleware/test_local.rb
|
271
|
+
- test/middleware/test_not_found.rb
|
272
|
+
- test/repository/test_api.rb
|
273
|
+
- test/repository/test_api_behavior.rb
|
274
|
+
- test/repository/test_index.rb
|
275
|
+
- test/repository/test_local.rb
|
276
|
+
- test/repository/test_null.rb
|
277
|
+
- test/repository/test_remote.rb
|
278
|
+
- test/repository/test_remote_authenticated.rb
|
279
|
+
- test/stickler_test_server.rb
|
280
|
+
- test/test_gemfile_lock_parser.rb
|
281
|
+
- test/test_paths.rb
|
282
|
+
- test/test_spec_lite.rb
|
283
|
+
- test/test_stickler.rb
|
291
284
|
homepage: http://github.com/copiousfreetime/stickler
|
292
285
|
licenses: []
|
286
|
+
metadata: {}
|
293
287
|
post_install_message:
|
294
288
|
rdoc_options:
|
295
289
|
- --main
|
296
|
-
- README.
|
290
|
+
- README.md
|
297
291
|
- --markup
|
298
292
|
- tomdoc
|
299
293
|
require_paths:
|
300
294
|
- lib
|
301
295
|
required_ruby_version: !ruby/object:Gem::Requirement
|
302
|
-
none: false
|
303
296
|
requirements:
|
304
297
|
- - ! '>='
|
305
298
|
- !ruby/object:Gem::Version
|
306
299
|
version: '0'
|
307
300
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
308
|
-
none: false
|
309
301
|
requirements:
|
310
302
|
- - ! '>='
|
311
303
|
- !ruby/object:Gem::Version
|
312
304
|
version: '0'
|
313
305
|
requirements: []
|
314
306
|
rubyforge_project:
|
315
|
-
rubygems_version: 1.
|
307
|
+
rubygems_version: 2.1.5
|
316
308
|
signing_key:
|
317
|
-
specification_version:
|
309
|
+
specification_version: 4
|
318
310
|
summary: ! 'Stickler is a tool to organize and maintain an internal gem repository.
|
319
311
|
Primarily, you would want to use Stickler if:'
|
320
|
-
test_files:
|
321
|
-
- spec/data/gemcutter/gems/foo-1.0.0.gem
|
322
|
-
- spec/data/gems/bar-1.0.0.gem
|
323
|
-
- spec/data/gems/baz-3.1.4-java.gem
|
324
|
-
- spec/data/gems/baz-3.1.4.gem
|
325
|
-
- spec/data/gems/foo-1.0.0.gem
|
326
|
-
- spec/data/gems/foo-2.0.0a.gem
|
327
|
-
- spec/index_spec_helpers.rb
|
328
|
-
- spec/middleware/local_spec.rb
|
329
|
-
- spec/middleware/not_found_spec.rb
|
330
|
-
- spec/paths_spec.rb
|
331
|
-
- spec/repository/api_behavior.rb
|
332
|
-
- spec/repository/api_spec.rb
|
333
|
-
- spec/repository/index_spec.rb
|
334
|
-
- spec/repository/local_spec.rb
|
335
|
-
- spec/repository/null_spec.rb
|
336
|
-
- spec/repository/remote_spec.rb
|
337
|
-
- spec/spec.opts
|
338
|
-
- spec/spec_helper.rb
|
339
|
-
- spec/spec_lite_spec.rb
|
312
|
+
test_files: []
|