stickler 2.2.4 → 2.3.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/CONTRIBUTING.md +48 -0
- data/{HISTORY.asciidoc → HISTORY.md} +8 -2
- data/Manifest.txt +86 -0
- data/{README.asciidoc → README.rdoc} +18 -20
- data/Rakefile +25 -59
- data/bin/stickler +10 -3
- data/examples/gemcutter_repo.ru +1 -2
- data/lib/stickler.rb +6 -2
- data/lib/stickler/client.rb +5 -4
- data/lib/stickler/client/delete.rb +50 -0
- data/lib/stickler/client/unyank.rb +50 -0
- data/lib/stickler/middleware.rb +7 -0
- data/lib/stickler/middleware/compression.rb +0 -2
- data/lib/stickler/middleware/gemcutter.rb +16 -7
- data/lib/stickler/middleware/helpers.rb +1 -3
- data/lib/stickler/middleware/index.rb +0 -8
- data/lib/stickler/middleware/local.rb +1 -5
- data/lib/stickler/middleware/mirror.rb +0 -4
- data/lib/stickler/middleware/not_found.rb +0 -1
- data/lib/stickler/repository.rb +9 -5
- data/lib/stickler/repository/index.rb +0 -1
- data/lib/stickler/repository/local.rb +12 -4
- data/lib/stickler/repository/null.rb +0 -1
- data/lib/stickler/repository/remote.rb +40 -20
- data/lib/stickler/repository/remote_mirror.rb +1 -1
- data/lib/stickler/server.rb +1 -9
- data/lib/stickler/server/public/css/blueprint/ie.css +35 -0
- data/lib/stickler/server/public/css/blueprint/screen.css +266 -0
- data/lib/stickler/server/public/css/style.css +19 -0
- data/man/stickler-passenger-config.1 +83 -0
- data/man/stickler-passenger-config.1.ronn +70 -0
- data/man/stickler-server.1 +168 -0
- data/man/stickler-server.1.ronn +84 -0
- data/man/stickler.1 +321 -0
- data/man/stickler.1.ronn +144 -0
- data/spec/data/gemcutter/gems/foo-1.0.0.gem +0 -0
- data/spec/middleware/local_spec.rb +1 -4
- data/spec/middleware/not_found_spec.rb +1 -2
- data/spec/paths_spec.rb +1 -3
- data/spec/repository/api_behavior.rb +34 -4
- data/spec/repository/api_spec.rb +2 -3
- data/spec/repository/index_spec.rb +10 -11
- data/spec/repository/local_spec.rb +10 -12
- data/spec/repository/null_spec.rb +2 -5
- data/spec/repository/remote_spec.rb +3 -5
- data/spec/spec_helper.rb +7 -2
- data/spec/spec_lite_spec.rb +1 -3
- data/tasks/default.rake +274 -0
- data/tasks/this.rb +209 -0
- metadata +142 -85
- data/.bnsignore +0 -14
- data/.gitignore +0 -23
- data/TODO.asciidoc +0 -6
- data/lib/stickler/version.rb +0 -36
- data/man/asciidoc.conf +0 -25
- data/man/stickler-passenger-config.asciidoc +0 -74
- data/man/stickler-server.asciidoc +0 -87
- data/man/stickler.asciidoc +0 -150
- data/tasks/asciidoc.rake +0 -32
- data/tasks/bundler.rake +0 -13
- data/tasks/contribute.rake +0 -36
- data/tasks/man.rake +0 -19
data/.bnsignore
DELETED
data/.gitignore
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
*~
|
2
|
-
pkg
|
3
|
-
log
|
4
|
-
doc
|
5
|
-
coverage
|
6
|
-
*.swp
|
7
|
-
*.swo
|
8
|
-
.*.swp
|
9
|
-
announcement.txt
|
10
|
-
spec/tmp
|
11
|
-
version.txt
|
12
|
-
*.pid
|
13
|
-
tmp
|
14
|
-
*.html
|
15
|
-
man/*.xml
|
16
|
-
man/*.1
|
17
|
-
*.gemspec
|
18
|
-
work/
|
19
|
-
*.css
|
20
|
-
Gemfile*
|
21
|
-
.rvmrc
|
22
|
-
spec/data/mirror
|
23
|
-
spec/data/gemcutter
|
data/TODO.asciidoc
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
* Add in a full transparent proxy for automatically pullilng gems from an
|
2
|
-
upstream gem server if the local gem server does not have the gem in question
|
3
|
-
* There appears to be something different about evaling the specification off
|
4
|
-
disk, and the loading the specification from the yaml in the .gem file. They
|
5
|
-
are different. It appears that @original_platform is not set when the Ruby
|
6
|
-
specification is eval'd but it is when the yaml is loaded.
|
data/lib/stickler/version.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2008 Jeremy Hinegardner
|
3
|
-
# All rights reserved. Licensed under the same terms as Ruby. No warranty is
|
4
|
-
# provided. See LICENSE and COPYING for details.
|
5
|
-
#++
|
6
|
-
|
7
|
-
module Stickler
|
8
|
-
|
9
|
-
# Version access in every possibly way that people might want to get it.
|
10
|
-
#
|
11
|
-
module Version
|
12
|
-
|
13
|
-
MAJOR = 2
|
14
|
-
MINOR = 2
|
15
|
-
BUILD = 4
|
16
|
-
|
17
|
-
def self.to_ary
|
18
|
-
[ MAJOR, MINOR, BUILD ]
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.to_s
|
22
|
-
self.to_ary.join(".")
|
23
|
-
end
|
24
|
-
|
25
|
-
def self.to_hash
|
26
|
-
{ :major => MAJOR, :minor => MINOR, :build => BUILD }
|
27
|
-
end
|
28
|
-
|
29
|
-
# Version string constant
|
30
|
-
STRING = Version.to_s
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
# Version string constant
|
35
|
-
VERSION = Version.to_s
|
36
|
-
end
|
data/man/asciidoc.conf
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
## linkstick: macro
|
2
|
-
#
|
3
|
-
# Usage: linkstick:command[manpage-section]
|
4
|
-
#
|
5
|
-
# Modelled after the linkgit macro
|
6
|
-
#
|
7
|
-
# {0} is the manpage section, {target} is the command
|
8
|
-
#
|
9
|
-
##
|
10
|
-
|
11
|
-
[macros]
|
12
|
-
(?su)[\\]?(?P<name>linkstick):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
|
13
|
-
|
14
|
-
ifdef::backend-docbook[]
|
15
|
-
[linkstick-inlinemacro]
|
16
|
-
{0%{target}}
|
17
|
-
{0#<citerefentry>}
|
18
|
-
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
|
19
|
-
{0#</citerefentry>}
|
20
|
-
endif::backend-docbook[]
|
21
|
-
|
22
|
-
ifdef::backend-xhtml11[]
|
23
|
-
[linkstick-inlinemacro]
|
24
|
-
<strong><a href="{target}.html">{target}{0?({0})}</a></strong>
|
25
|
-
endif::backend-xhtml11[]
|
@@ -1,74 +0,0 @@
|
|
1
|
-
STICKLER-PASSENGER-CONFIG(1)
|
2
|
-
============================
|
3
|
-
|
4
|
-
NAME
|
5
|
-
----
|
6
|
-
stickler-passenger-config - output a Phusion Passenger config for stickler
|
7
|
-
|
8
|
-
|
9
|
-
SYNOPSIS
|
10
|
-
--------
|
11
|
-
*stickler-passenger-config* ['--help'] ['COMMAND'] ['COMMAND_OPTIONS'] /path/to/stickler/root
|
12
|
-
|
13
|
-
|
14
|
-
DESCRIPTION
|
15
|
-
-----------
|
16
|
-
*stickler-passenger-config* will create a stickler web application directory,
|
17
|
-
including the config.ru file for use with link:http://modrails.com/[Phusion
|
18
|
-
Passenger]. It will then output the stanza to be incorporated into an
|
19
|
-
link:http://httpd.apache.org/[Apache] or link:http://nginx.net[Nginx]
|
20
|
-
configuration.
|
21
|
-
|
22
|
-
|
23
|
-
COMMANDS
|
24
|
-
--------
|
25
|
-
[horizontal]
|
26
|
-
*apache2*:: Output an Apache config.
|
27
|
-
|
28
|
-
*nginx*:: Output an Nginx config.
|
29
|
-
|
30
|
-
|
31
|
-
OPTIONS
|
32
|
-
-------
|
33
|
-
*-h, --help*::
|
34
|
-
Show the help message
|
35
|
-
|
36
|
-
*-v, --version*::
|
37
|
-
Output the version.
|
38
|
-
|
39
|
-
|
40
|
-
EXAMPLES
|
41
|
-
--------
|
42
|
-
Output a passenger config for use with apache.
|
43
|
-
|
44
|
-
---------------------------------------------------
|
45
|
-
stickler-passenger-config apache2 /var/lib/stickler
|
46
|
-
---------------------------------------------------
|
47
|
-
|
48
|
-
|
49
|
-
Output a pasenger a config to be integrated with an nginx config.
|
50
|
-
-------------------------------------------------
|
51
|
-
stickler-passenger-config nginx /var/lib/stickler
|
52
|
-
-------------------------------------------------
|
53
|
-
|
54
|
-
|
55
|
-
SEE ALSO
|
56
|
-
--------
|
57
|
-
linkstick:stickler[1], linkstick:stickler-server[1]
|
58
|
-
|
59
|
-
|
60
|
-
AUTHOR
|
61
|
-
------
|
62
|
-
Written by Jeremy Hinegardner <jeremy@hinegardner.org>
|
63
|
-
|
64
|
-
|
65
|
-
RESOURCES
|
66
|
-
---------
|
67
|
-
GitHub project: http://www.github.com/copiousfreetime/stickler
|
68
|
-
|
69
|
-
|
70
|
-
BUGS
|
71
|
-
----
|
72
|
-
Please report bugs to the github issue tracker
|
73
|
-
http://github.com/copiousfreetime/stickler/issues
|
74
|
-
|
@@ -1,87 +0,0 @@
|
|
1
|
-
STICKLER-SERVER(1)
|
2
|
-
==================
|
3
|
-
|
4
|
-
NAME
|
5
|
-
----
|
6
|
-
stickler-server - start and stop the stickler server process
|
7
|
-
|
8
|
-
|
9
|
-
SYNOPSIS
|
10
|
-
--------
|
11
|
-
*stickler-server* ['--help'] ['COMMAND'] ['COMMAND_OPTIONS'] /path/to/stickler/root
|
12
|
-
|
13
|
-
|
14
|
-
DESCRIPTION
|
15
|
-
-----------
|
16
|
-
stickler-server is the daemon process that houses the repositories of
|
17
|
-
proprietary gems and/or mirrors of third party gems.
|
18
|
-
|
19
|
-
|
20
|
-
COMMANDS
|
21
|
-
--------
|
22
|
-
[horizontal]
|
23
|
-
*start*:: Start the stickler server process
|
24
|
-
|
25
|
-
*stop*:: Stop the stickler server process
|
26
|
-
|
27
|
-
|
28
|
-
OPTIONS
|
29
|
-
-------
|
30
|
-
*-d, --daemonize*::
|
31
|
-
Daemonize the server
|
32
|
-
|
33
|
-
*--help*::
|
34
|
-
Show the help message
|
35
|
-
|
36
|
-
*-h, --host*='HOST'::
|
37
|
-
The host address to bind to (default: 0.0.0.0)
|
38
|
-
|
39
|
-
*-o, --port*='PORT'::
|
40
|
-
The port to bind to (default: 6789)
|
41
|
-
|
42
|
-
*-p, --pid*='PID_FILE'::
|
43
|
-
Path to wriate a pid file to after daemonizing
|
44
|
-
|
45
|
-
*-s, --server*='SERVER'::
|
46
|
-
The rack handler to use: thin, mongrel, webrick, etc.
|
47
|
-
|
48
|
-
*-v, --version*::
|
49
|
-
Output the version.
|
50
|
-
|
51
|
-
|
52
|
-
EXAMPLES
|
53
|
-
--------
|
54
|
-
Start the server, daemonized, using /var/lib/stickler as the root directory of
|
55
|
-
all the repositories.
|
56
|
-
|
57
|
-
---------------------------------------------------
|
58
|
-
stickler-server start --daemonize /var/lib/stickler
|
59
|
-
---------------------------------------------------
|
60
|
-
|
61
|
-
Stop the server that is using /var/lib/stickler as its root directory.
|
62
|
-
|
63
|
-
--------------------------------------
|
64
|
-
stickler-server stop /var/lib/stickler
|
65
|
-
--------------------------------------
|
66
|
-
|
67
|
-
|
68
|
-
SEE ALSO
|
69
|
-
--------
|
70
|
-
linkstick:stickler[1], linkstick:stickler-passenger-config[1]
|
71
|
-
|
72
|
-
|
73
|
-
AUTHOR
|
74
|
-
------
|
75
|
-
Written by Jeremy Hinegardner <jeremy@hinegardner.org>
|
76
|
-
|
77
|
-
|
78
|
-
RESOURCES
|
79
|
-
---------
|
80
|
-
GitHub project: http://www.github.com/copiousfreetime/stickler
|
81
|
-
|
82
|
-
|
83
|
-
BUGS
|
84
|
-
----
|
85
|
-
Please report bugs to the github issue tracker
|
86
|
-
http://github.com/copiousfreetime/stickler/issues
|
87
|
-
|
data/man/stickler.asciidoc
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
STICKLER(1)
|
2
|
-
===========
|
3
|
-
|
4
|
-
NAME
|
5
|
-
----
|
6
|
-
stickler - command line program to interact with a stickler-server
|
7
|
-
|
8
|
-
|
9
|
-
SYNOPSIS
|
10
|
-
--------
|
11
|
-
*stickler* ['--help'] ['COMMAND'] ['COMMAND_OPTIONS'] ['gemfile(s)']
|
12
|
-
|
13
|
-
|
14
|
-
DESCRIPTION
|
15
|
-
-----------
|
16
|
-
Stickler is a tool to organize and maintain an internal gem repository of
|
17
|
-
proprietary gems and/or a mirror of third party gems.
|
18
|
-
|
19
|
-
The linkstick:stickler[1] command interacts with an instance of
|
20
|
-
linkstick:stickler-server[1] to control the publishing and mirroring of ruby
|
21
|
-
gems.
|
22
|
-
|
23
|
-
|
24
|
-
COMMANDS
|
25
|
-
--------
|
26
|
-
[horizontal]
|
27
|
-
*push*:: Push one or more gems to a gemserver. This works the same as `gem
|
28
|
-
push` although there is no authorization mechanism.
|
29
|
-
|
30
|
-
*yank*:: Remove a gem from the gemserver's index. It will still be available
|
31
|
-
from direct download. This works the same as `gem yank`.
|
32
|
-
|
33
|
-
*mirror*:: Pull a specific version of a gem from an upstream gem server and
|
34
|
-
store it in a linkstick:stickler-server[1]
|
35
|
-
|
36
|
-
*config*:: Access or update the stickler client configuration.
|
37
|
-
|
38
|
-
*list*:: List all the gems in the remote repository
|
39
|
-
|
40
|
-
|
41
|
-
OPTIONS
|
42
|
-
-------
|
43
|
-
These are the options for all commands. Not all options apply to all commands.
|
44
|
-
|
45
|
-
*-a, --add*::
|
46
|
-
Add the `--server` or `--upstream` items to the config file when using the
|
47
|
-
`config` command.
|
48
|
-
|
49
|
-
*-d, --debug*::
|
50
|
-
Output debug information
|
51
|
-
|
52
|
-
*-g, --gem-version*='VERSION'::
|
53
|
-
The version of the gem to yank from `--server` or to mirror from
|
54
|
-
`--upstream`.
|
55
|
-
|
56
|
-
*-h, --help*::
|
57
|
-
Show the help message
|
58
|
-
|
59
|
-
*-l, --list*::
|
60
|
-
Display the current configuration when using the `config` command.
|
61
|
-
|
62
|
-
*-p, --platform*='PLATFORM'::
|
63
|
-
The platform of the gem to yank from `--server` or to mirror from
|
64
|
-
`--upstream` (e.g. ruby, java, mswin32)
|
65
|
-
|
66
|
-
*-s, --server*='SERVER'::
|
67
|
-
The gem server or linkstick:stickler-server[1] URL. This is used by all the commands.
|
68
|
-
|
69
|
-
*-u, --upstream*='SERVER'::
|
70
|
-
The upstream server from which to mirror a gem when using the `mirror` command.
|
71
|
-
|
72
|
-
*-v, --version*::
|
73
|
-
Output the version.
|
74
|
-
|
75
|
-
|
76
|
-
CONFIGURATION
|
77
|
-
-------------
|
78
|
-
Stickler uses the `.gem/stickler` file to hold its configuration. It is a yaml
|
79
|
-
file and Currently there are two options. These are altered using the `stickler
|
80
|
-
config` command.
|
81
|
-
|
82
|
-
[horizontal]
|
83
|
-
*upstream*:: The default upstream server from which to mirror gems.
|
84
|
-
*server*:: The default linkstick:stickler-server[1] to interact with.
|
85
|
-
|
86
|
-
An example config file
|
87
|
-
|
88
|
-
------------------------------------
|
89
|
-
---
|
90
|
-
:server: http://stickler.example.com
|
91
|
-
:upstream: https://rubygems.org
|
92
|
-
------------------------------------
|
93
|
-
|
94
|
-
|
95
|
-
EXAMPLES
|
96
|
-
--------
|
97
|
-
Push the local `my_gem-1.0.0.gem` file to the linkstick:stickler-server[1] at
|
98
|
-
*stickler.example.com*
|
99
|
-
|
100
|
-
----------------------------------------------------------------------
|
101
|
-
stickler push ./my_gem-1.0.0.gem --server http://stickler.example.com/
|
102
|
-
----------------------------------------------------------------------
|
103
|
-
|
104
|
-
Push all the gems in the `pkg` directory to the linkstick:stickler-server[1] at
|
105
|
-
*stickler.example.com*
|
106
|
-
|
107
|
-
----------------------------------------------------------------------
|
108
|
-
stickler push --server http://stickler.example.com/ ./pkg/*.gem
|
109
|
-
----------------------------------------------------------------------
|
110
|
-
|
111
|
-
Yank vesion 1.0.0 of my_gem from the gem index on sticker.example.com
|
112
|
-
|
113
|
-
--------------------------------------------------------------------------
|
114
|
-
stickler yank my_gem --version 1.0.0 --server http://stickler.example.com/
|
115
|
-
--------------------------------------------------------------------------
|
116
|
-
|
117
|
-
Take the +third_party+ gem, version +1.4.2+ that is on *rubygems.org* and mirror it
|
118
|
-
on *stickler.example.com*
|
119
|
-
|
120
|
-
-----------------------------------------------------------------------------------------------------------------
|
121
|
-
stickler mirror third_party_gem --gem-version 0.4.2 --upstream http://rubygems.org/ --server http://stickler.example.com/
|
122
|
-
stickler mirror --help
|
123
|
-
-----------------------------------------------------------------------------------------------------------------
|
124
|
-
|
125
|
-
Set the `server` and `upstream` configration values in the `.gem/stickler` file.
|
126
|
-
|
127
|
-
------------------------------------------------------------------------------------------
|
128
|
-
stickler config --add --server http://stickler.example.com --upstream http://rubygems.org/
|
129
|
-
------------------------------------------------------------------------------------------
|
130
|
-
|
131
|
-
|
132
|
-
SEE ALSO
|
133
|
-
--------
|
134
|
-
linkstick:stickler-server[1], linkstick:stickler-passenger-config[1]
|
135
|
-
|
136
|
-
|
137
|
-
AUTHOR
|
138
|
-
------
|
139
|
-
Written by Jeremy Hinegardner <jeremy@hinegardner.org>
|
140
|
-
|
141
|
-
|
142
|
-
RESOURCES
|
143
|
-
---------
|
144
|
-
GitHub project: http://www.github.com/copiousfreetime/stickler
|
145
|
-
|
146
|
-
|
147
|
-
BUGS
|
148
|
-
----
|
149
|
-
Please report bugs to the github issue tracker
|
150
|
-
http://github.com/copiousfreetime/stickler/issues
|
data/tasks/asciidoc.rake
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
namespace :asciidoc do
|
2
|
-
|
3
|
-
rule '.html' => '.asciidoc' do |t|
|
4
|
-
sh "a2x --no-xmllint --format xhtml #{t.source}"
|
5
|
-
end
|
6
|
-
|
7
|
-
src = FileList["*.asciidoc", "man/*.asciidoc"]
|
8
|
-
html = src.collect{ |f| f.ext( "html" ) }
|
9
|
-
|
10
|
-
desc "Create html pages"
|
11
|
-
task :create => html
|
12
|
-
|
13
|
-
task :clobber_asciidoc do
|
14
|
-
rm_f FileList["man/*.{html,xml,css}", "*.{html,xml,css}"]
|
15
|
-
rm_rf FileList["asciidoc-output"]
|
16
|
-
end
|
17
|
-
|
18
|
-
desc "Deploy the asciidoc"
|
19
|
-
task :deploy => html do
|
20
|
-
FileUtils.cp "README.html", "index.html"
|
21
|
-
%w[ . man ].each do |d|
|
22
|
-
dest_d = File.expand_path( "asciidoc-output/#{d}" )
|
23
|
-
FileUtils.mkdir dest_d unless File.directory?( dest_d )
|
24
|
-
FileUtils.cp FileList["#{d}/*.{css,html}"], dest_d
|
25
|
-
end
|
26
|
-
sh "rsync -ravz asciidoc-output/* #{ENV['DEST_DIR']}" if ENV['DEST_DIR']
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
desc "Alias to asciidoc:create"
|
31
|
-
task :asciidoc => "asciidoc:create"
|
32
|
-
task :clobber => %w[ asciidoc:clobber_asciidoc]
|