gemstash 1.0.0.pre.1-java → 2.5.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +295 -0
- data/exe/gemstash +3 -0
- data/lib/gemstash/api_key_authorization.rb +32 -0
- data/lib/gemstash/authorization.rb +15 -8
- data/lib/gemstash/cache.rb +42 -2
- data/lib/gemstash/cli/authorize.rb +52 -9
- data/lib/gemstash/cli/base.rb +14 -6
- data/lib/gemstash/cli/setup.rb +67 -39
- data/lib/gemstash/cli/start.rb +6 -2
- data/lib/gemstash/cli/status.rb +3 -1
- data/lib/gemstash/cli/stop.rb +4 -1
- data/lib/gemstash/cli.rb +59 -1
- data/lib/gemstash/config.ru +4 -3
- data/lib/gemstash/configuration.rb +56 -8
- data/lib/gemstash/db/authorization.rb +5 -3
- data/lib/gemstash/db/cached_rubygem.rb +20 -0
- data/lib/gemstash/db/dependency.rb +2 -0
- data/lib/gemstash/db/rubygem.rb +3 -0
- data/lib/gemstash/db/upstream.rb +15 -0
- data/lib/gemstash/db/version.rb +25 -2
- data/lib/gemstash/db.rb +5 -0
- data/lib/gemstash/dependencies.rb +6 -2
- data/lib/gemstash/env.rb +44 -13
- data/lib/gemstash/gem_fetcher.rb +5 -3
- data/lib/gemstash/gem_pusher.rb +25 -18
- data/lib/gemstash/gem_source/dependency_caching.rb +4 -4
- data/lib/gemstash/gem_source/private_source.rb +34 -50
- data/lib/gemstash/gem_source/rack_middleware.rb +3 -0
- data/lib/gemstash/gem_source/upstream_source.rb +71 -27
- data/lib/gemstash/gem_source.rb +4 -2
- data/lib/gemstash/gem_yanker.rb +14 -4
- data/lib/gemstash/health.rb +55 -0
- data/lib/gemstash/http_client.rb +15 -5
- data/lib/gemstash/logging.rb +19 -7
- data/lib/gemstash/man/gemstash-authorize.1 +54 -0
- data/lib/gemstash/man/gemstash-authorize.1.txt +52 -0
- data/lib/gemstash/man/gemstash-configuration.5 +186 -0
- data/lib/gemstash/man/gemstash-configuration.5.txt +208 -0
- data/lib/gemstash/man/gemstash-customize.7 +273 -0
- data/lib/gemstash/man/gemstash-customize.7.txt +184 -0
- data/lib/gemstash/man/gemstash-debugging.7 +30 -0
- data/lib/gemstash/man/gemstash-debugging.7.txt +27 -0
- data/lib/gemstash/man/gemstash-deploy.7 +63 -0
- data/lib/gemstash/man/gemstash-deploy.7.txt +57 -0
- data/lib/gemstash/man/gemstash-mirror.7 +34 -0
- data/lib/gemstash/man/gemstash-mirror.7.txt +31 -0
- data/lib/gemstash/man/gemstash-multiple-sources.7 +131 -0
- data/lib/gemstash/man/gemstash-multiple-sources.7.txt +116 -0
- data/lib/gemstash/man/gemstash-private-gems.7 +191 -0
- data/lib/gemstash/man/gemstash-private-gems.7.txt +154 -0
- data/lib/gemstash/man/gemstash-readme.7 +199 -0
- data/lib/gemstash/man/gemstash-readme.7.txt +177 -0
- data/lib/gemstash/man/gemstash-setup.1 +38 -0
- data/lib/gemstash/man/gemstash-setup.1.txt +38 -0
- data/lib/gemstash/man/gemstash-start.1 +23 -0
- data/lib/gemstash/man/gemstash-start.1.txt +24 -0
- data/lib/gemstash/man/gemstash-status.1 +17 -0
- data/lib/gemstash/man/gemstash-status.1.txt +20 -0
- data/lib/gemstash/man/gemstash-stop.1 +17 -0
- data/lib/gemstash/man/gemstash-stop.1.txt +20 -0
- data/lib/gemstash/man/gemstash-version.1 +17 -0
- data/lib/gemstash/man/gemstash-version.1.txt +19 -0
- data/lib/gemstash/migrations/01_gem_dependencies.rb +11 -9
- data/lib/gemstash/migrations/02_authorizations.rb +4 -2
- data/lib/gemstash/migrations/03_cached_gems.rb +26 -0
- data/lib/gemstash/migrations/04_health_tests.rb +10 -0
- data/lib/gemstash/migrations/05_authorization_names.rb +10 -0
- data/lib/gemstash/puma.rb +5 -3
- data/lib/gemstash/rack_env_rewriter.rb +11 -2
- data/lib/gemstash/specs_builder.rb +25 -15
- data/lib/gemstash/storage.rb +175 -32
- data/lib/gemstash/upstream.rb +43 -8
- data/lib/gemstash/version.rb +4 -2
- data/lib/gemstash/web.rb +13 -8
- data/lib/gemstash.rb +6 -2
- metadata +135 -110
- data/.gitignore +0 -10
- data/.rspec +0 -2
- data/.rubocop-bundler.yml +0 -92
- data/.rubocop-relax.yml +0 -11
- data/.rubocop.yml +0 -8
- data/.travis.yml +0 -20
- data/Gemfile +0 -4
- data/README.md +0 -139
- data/Rakefile +0 -35
- data/bin/console +0 -14
- data/bin/gemstash +0 -3
- data/bin/setup +0 -5
- data/docs/config.md +0 -136
- data/docs/debug.md +0 -24
- data/docs/deploy.md +0 -30
- data/docs/mirror.md +0 -30
- data/docs/multiple_sources.md +0 -68
- data/docs/private_gems.md +0 -140
- data/docs/reference.md +0 -308
- data/gemstash.gemspec +0 -47
- data/gemstash.png +0 -0
- data/lib/gemstash/gem_unyanker.rb +0 -61
@@ -0,0 +1,199 @@
|
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
|
+
.\"
|
4
|
+
.TH "gemstash-readme" "7" "November 30, 2015" "" ""
|
5
|
+
.SH Gemstash
|
6
|
+
.SS What is Gemstash?
|
7
|
+
Gemstash is both a cache for remote servers such as
|
8
|
+
https://rubygems.org, and a private gem source.
|
9
|
+
.PP
|
10
|
+
If you are using bundler (http://bundler.io/) across many machines that
|
11
|
+
have access to a server within your control, you might want to use
|
12
|
+
Gemstash.
|
13
|
+
.PP
|
14
|
+
If you produce gems that you don\[cq]t want everyone in the world to
|
15
|
+
have access to, you might want to use Gemstash.
|
16
|
+
.PP
|
17
|
+
If you frequently bundle the same set of gems across multiple projects,
|
18
|
+
you might want to use Gemstash.
|
19
|
+
.PP
|
20
|
+
Are you only using gems from https://rubygems.org, and don\[cq]t bundle
|
21
|
+
the same gems frequently?
|
22
|
+
Well, maybe you don\[cq]t need Gemstash\&...
|
23
|
+
yet.
|
24
|
+
.PP
|
25
|
+
Gemstash is maintained by Ruby Central (https://rubycentral.org/), a
|
26
|
+
non-profit committed to supporting the critical Ruby infrastructure you
|
27
|
+
rely on.
|
28
|
+
Contribute today as an individual, or even better, as a
|
29
|
+
company (https://rubycentral.org/#/portal/signup), and ensure that
|
30
|
+
Bundler, RubyGems, Gemstash, and other shared tooling is around for
|
31
|
+
years to come.
|
32
|
+
.SS Quickstart Guide
|
33
|
+
.SS Setup
|
34
|
+
Gemstash is designed to be quick and painless to get set up.
|
35
|
+
By the end of this Quickstart Guide, you will be able to bundle stashed
|
36
|
+
gems from public sources against a Gemstash server running on your
|
37
|
+
machine.
|
38
|
+
.PP
|
39
|
+
Install Gemstash to get started:
|
40
|
+
.IP
|
41
|
+
.EX
|
42
|
+
$ gem install gemstash
|
43
|
+
.EE
|
44
|
+
.PP
|
45
|
+
After it is installed, starting Gemstash requires no additional steps.
|
46
|
+
Simply start the Gemstash server with the \f[CR]gemstash\f[R] command:
|
47
|
+
.IP
|
48
|
+
.EX
|
49
|
+
$ gemstash start
|
50
|
+
.EE
|
51
|
+
.PP
|
52
|
+
You may have noticed that the command finished quickly.
|
53
|
+
This is because Gemstash will run the server in the background by
|
54
|
+
default.
|
55
|
+
The server runs on port 9292.
|
56
|
+
.SS Bundling
|
57
|
+
With the server running, you can bundle against it.
|
58
|
+
Tell Bundler that you want to use Gemstash to find gems from
|
59
|
+
RubyGems.org:
|
60
|
+
.IP
|
61
|
+
.EX
|
62
|
+
$ bundle config mirror.https://rubygems.org http://localhost:9292
|
63
|
+
.EE
|
64
|
+
.PP
|
65
|
+
Now you can create a Gemfile and install gems through Gemstash:
|
66
|
+
.IP
|
67
|
+
.EX
|
68
|
+
# ./Gemfile
|
69
|
+
source \[dq]https://rubygems.org\[dq]
|
70
|
+
gem \[dq]rubywarrior\[dq]
|
71
|
+
.EE
|
72
|
+
.PP
|
73
|
+
The gems you include should be gems you don\[cq]t yet have installed,
|
74
|
+
otherwise Gemstash will have nothing to stash.
|
75
|
+
Now bundle:
|
76
|
+
.IP
|
77
|
+
.EX
|
78
|
+
$ bundle install --path .bundle
|
79
|
+
.EE
|
80
|
+
.PP
|
81
|
+
Your Gemstash server has fetched the gems from https://rubygems.org and
|
82
|
+
cached them for you!
|
83
|
+
To prove this, you can disable your Internet connection and try again.
|
84
|
+
Gem files (*.gem) are cached indefinitely.
|
85
|
+
Gem dependencies metadata are cached for 30 minutes, so if you bundle
|
86
|
+
again before that, you can successfully bundle without an Internet
|
87
|
+
connection:
|
88
|
+
.IP
|
89
|
+
.EX
|
90
|
+
$ # Disable your Internet first!
|
91
|
+
$ rm -rf Gemfile.lock .bundle
|
92
|
+
$ bundle
|
93
|
+
.EE
|
94
|
+
.SS Falling back to rubygems.org
|
95
|
+
If you want to make sure that your bundling from https://rubygems.org
|
96
|
+
still works as expected when the Gemstash server is not running, you can
|
97
|
+
easily configure Bundler to fallback to https://rubygems.org.
|
98
|
+
.IP
|
99
|
+
.EX
|
100
|
+
$ bundle config mirror.https://rubygems.org.fallback_timeout true
|
101
|
+
.EE
|
102
|
+
.PP
|
103
|
+
You can also configure this fallback as a number of seconds in case the
|
104
|
+
Gemstash server is simply unresponsive.
|
105
|
+
This example uses a 3 second timeout:
|
106
|
+
.IP
|
107
|
+
.EX
|
108
|
+
$ bundle config mirror.https://rubygems.org.fallback_timeout 3
|
109
|
+
.EE
|
110
|
+
.SS Stopping the Server
|
111
|
+
Once you\[cq]ve finish using your Gemstash server, you can stop it just
|
112
|
+
as easily as you started it:
|
113
|
+
.IP
|
114
|
+
.EX
|
115
|
+
$ gemstash stop
|
116
|
+
.EE
|
117
|
+
.PP
|
118
|
+
You\[cq]ll also want to tell Bundler that it can go back to getting gems
|
119
|
+
from RubyGems.org directly, instead of going through Gemstash:
|
120
|
+
.IP
|
121
|
+
.EX
|
122
|
+
$ bundle config --delete mirror.https://rubygems.org
|
123
|
+
.EE
|
124
|
+
.SS Under the Hood
|
125
|
+
You might wonder where the gems are stored.
|
126
|
+
After running the commands above, you will find a new directory at
|
127
|
+
\f[CR]\[ti]/.gemstash\f[R].
|
128
|
+
This directory holds all the cached and private gems.
|
129
|
+
It also has a server log, the database, and configuration for Gemstash.
|
130
|
+
If you prefer, you can point to a different directory.
|
131
|
+
.PP
|
132
|
+
Gemstash uses SQLite (https://www.sqlite.org/) to store details about
|
133
|
+
private gems.
|
134
|
+
The database will be located in \f[CR]\[ti]/.gemstash\f[R], however you
|
135
|
+
won\[cq]t see the database appear until you start using private gems.
|
136
|
+
If you prefer, you can use a different database.
|
137
|
+
.PP
|
138
|
+
Gemstash temporarily caches things like gem dependencies in memory.
|
139
|
+
Anything cached in memory will last for 30 minutes before being
|
140
|
+
retrieved again.
|
141
|
+
You can use memcached instead of caching in memory.
|
142
|
+
Gem files are always cached permanently, so bundling with a
|
143
|
+
\f[CR]Gemfile.lock\f[R] with all gems cached will never call out to
|
144
|
+
https://rubygems.org.
|
145
|
+
.PP
|
146
|
+
The server you ran is provided via Puma (http://puma.io/) and
|
147
|
+
Rack (http://rack.github.io/), however they are not customizable at this
|
148
|
+
point.
|
149
|
+
.SS Deep Dive
|
150
|
+
Deep dive into more subjects:
|
151
|
+
.IP \[bu] 2
|
152
|
+
Private gems
|
153
|
+
.IP \[bu] 2
|
154
|
+
Multiple gem sources
|
155
|
+
.IP \[bu] 2
|
156
|
+
Using Gemstash as a mirror
|
157
|
+
.IP \[bu] 2
|
158
|
+
Customizing the server (database, storage, caching, and more)
|
159
|
+
.IP \[bu] 2
|
160
|
+
Deploying Gemstash
|
161
|
+
.IP \[bu] 2
|
162
|
+
Debugging Gemstash
|
163
|
+
.SS Reference
|
164
|
+
An anatomy of various configuration and commands:
|
165
|
+
.IP \[bu] 2
|
166
|
+
Configuration
|
167
|
+
.IP \[bu] 2
|
168
|
+
Authorize
|
169
|
+
.IP \[bu] 2
|
170
|
+
Start
|
171
|
+
.IP \[bu] 2
|
172
|
+
Stop
|
173
|
+
.IP \[bu] 2
|
174
|
+
Status
|
175
|
+
.IP \[bu] 2
|
176
|
+
Setup
|
177
|
+
.IP \[bu] 2
|
178
|
+
Version
|
179
|
+
.PP
|
180
|
+
To see what has changed in recent versions of Gemstash, see the
|
181
|
+
CHANGELOG (https://github.com/rubygems/gemstash/blob/master/CHANGELOG.md).
|
182
|
+
.SS Development
|
183
|
+
After checking out the repo, run \f[CR]bin/setup\f[R] to install
|
184
|
+
dependencies.
|
185
|
+
Then, run \f[CR]rake\f[R] to run RuboCop and the tests.
|
186
|
+
While developing, you can run \f[CR]bin/gemstash\f[R] to run Gemstash.
|
187
|
+
You can also run \f[CR]bin/console\f[R] for an interactive prompt that
|
188
|
+
will allow you to experiment.
|
189
|
+
.SS Contributing
|
190
|
+
Bug reports and pull requests are welcome on GitHub at
|
191
|
+
https://github.com/rubygems/gemstash.
|
192
|
+
This project is intended to be a safe, welcoming space for
|
193
|
+
collaboration, and contributors are expected to adhere to the
|
194
|
+
Contributor
|
195
|
+
Covenant (https://github.com/rubygems/gemstash/blob/master/CODE_OF_CONDUCT.md)
|
196
|
+
code of conduct.
|
197
|
+
.SS License
|
198
|
+
The gem is available as open source under the terms of the MIT
|
199
|
+
License (http://opensource.org/licenses/MIT).
|
@@ -0,0 +1,177 @@
|
|
1
|
+
4mgemstash-readme24m(7) 4mgemstash-readme24m(7)
|
2
|
+
|
3
|
+
<!-- Automatically generated by Pandoc -->
|
4
|
+
|
5
|
+
1mGemstash0m
|
6
|
+
1mWhat is Gemstash?0m
|
7
|
+
Gemstash is both a cache for remote servers such as
|
8
|
+
https://rubygems.org, and a private gem source.
|
9
|
+
|
10
|
+
If you are using bundler (http://bundler.io/) across many machines that
|
11
|
+
have access to a server within your control, you might want to use Gem-
|
12
|
+
stash.
|
13
|
+
|
14
|
+
If you produce gems that you don't want everyone in the world to have
|
15
|
+
access to, you might want to use Gemstash.
|
16
|
+
|
17
|
+
If you frequently bundle the same set of gems across multiple projects,
|
18
|
+
you might want to use Gemstash.
|
19
|
+
|
20
|
+
Are you only using gems from https://rubygems.org, and don't bundle the
|
21
|
+
same gems frequently? Well, maybe you don't need Gemstash... yet.
|
22
|
+
|
23
|
+
Gemstash is maintained by Ruby Central (https://rubycentral.org/), a
|
24
|
+
non-profit committed to supporting the critical Ruby infrastructure you
|
25
|
+
rely on. Contribute today as an individual, or even better, as a com-
|
26
|
+
pany (https://rubycentral.org/#/portal/signup), and ensure that
|
27
|
+
Bundler, RubyGems, Gemstash, and other shared tooling is around for
|
28
|
+
years to come.
|
29
|
+
|
30
|
+
1mQuickstart Guide0m
|
31
|
+
1mSetup0m
|
32
|
+
Gemstash is designed to be quick and painless to get set up. By the
|
33
|
+
end of this Quickstart Guide, you will be able to bundle stashed gems
|
34
|
+
from public sources against a Gemstash server running on your machine.
|
35
|
+
|
36
|
+
Install Gemstash to get started:
|
37
|
+
|
38
|
+
$ gem install gemstash
|
39
|
+
|
40
|
+
After it is installed, starting Gemstash requires no additional steps.
|
41
|
+
Simply start the Gemstash server with the gemstash command:
|
42
|
+
|
43
|
+
$ gemstash start
|
44
|
+
|
45
|
+
You may have noticed that the command finished quickly. This is be-
|
46
|
+
cause Gemstash will run the server in the background by default. The
|
47
|
+
server runs on port 9292.
|
48
|
+
|
49
|
+
1mBundling0m
|
50
|
+
With the server running, you can bundle against it. Tell Bundler that
|
51
|
+
you want to use Gemstash to find gems from RubyGems.org:
|
52
|
+
|
53
|
+
$ bundle config mirror.https://rubygems.org http://localhost:9292
|
54
|
+
|
55
|
+
Now you can create a Gemfile and install gems through Gemstash:
|
56
|
+
|
57
|
+
# ./Gemfile
|
58
|
+
source "https://rubygems.org"
|
59
|
+
gem "rubywarrior"
|
60
|
+
|
61
|
+
The gems you include should be gems you don't yet have installed, oth-
|
62
|
+
erwise Gemstash will have nothing to stash. Now bundle:
|
63
|
+
|
64
|
+
$ bundle install --path .bundle
|
65
|
+
|
66
|
+
Your Gemstash server has fetched the gems from https://rubygems.org and
|
67
|
+
cached them for you! To prove this, you can disable your Internet con-
|
68
|
+
nection and try again. Gem files (*.gem) are cached indefinitely. Gem
|
69
|
+
dependencies metadata are cached for 30 minutes, so if you bundle again
|
70
|
+
before that, you can successfully bundle without an Internet connec-
|
71
|
+
tion:
|
72
|
+
|
73
|
+
$ # Disable your Internet first!
|
74
|
+
$ rm -rf Gemfile.lock .bundle
|
75
|
+
$ bundle
|
76
|
+
|
77
|
+
1mFalling back to rubygems.org0m
|
78
|
+
If you want to make sure that your bundling from https://rubygems.org
|
79
|
+
still works as expected when the Gemstash server is not running, you
|
80
|
+
can easily configure Bundler to fallback to https://rubygems.org.
|
81
|
+
|
82
|
+
$ bundle config mirror.https://rubygems.org.fallback_timeout true
|
83
|
+
|
84
|
+
You can also configure this fallback as a number of seconds in case the
|
85
|
+
Gemstash server is simply unresponsive. This example uses a 3 second
|
86
|
+
timeout:
|
87
|
+
|
88
|
+
$ bundle config mirror.https://rubygems.org.fallback_timeout 3
|
89
|
+
|
90
|
+
1mStopping the Server0m
|
91
|
+
Once you've finish using your Gemstash server, you can stop it just as
|
92
|
+
easily as you started it:
|
93
|
+
|
94
|
+
$ gemstash stop
|
95
|
+
|
96
|
+
You'll also want to tell Bundler that it can go back to getting gems
|
97
|
+
from RubyGems.org directly, instead of going through Gemstash:
|
98
|
+
|
99
|
+
$ bundle config --delete mirror.https://rubygems.org
|
100
|
+
|
101
|
+
1mUnder the Hood0m
|
102
|
+
You might wonder where the gems are stored. After running the commands
|
103
|
+
above, you will find a new directory at ~/.gemstash. This directory
|
104
|
+
holds all the cached and private gems. It also has a server log, the
|
105
|
+
database, and configuration for Gemstash. If you prefer, you can point
|
106
|
+
to a different directory.
|
107
|
+
|
108
|
+
Gemstash uses SQLite (https://www.sqlite.org/) to store details about
|
109
|
+
private gems. The database will be located in ~/.gemstash, however you
|
110
|
+
won't see the database appear until you start using private gems. If
|
111
|
+
you prefer, you can use a different database.
|
112
|
+
|
113
|
+
Gemstash temporarily caches things like gem dependencies in memory.
|
114
|
+
Anything cached in memory will last for 30 minutes before being re-
|
115
|
+
trieved again. You can use memcached instead of caching in memory.
|
116
|
+
Gem files are always cached permanently, so bundling with a Gem-
|
117
|
+
file.lock with all gems cached will never call out to
|
118
|
+
https://rubygems.org.
|
119
|
+
|
120
|
+
The server you ran is provided via Puma (http://puma.io/) and Rack
|
121
|
+
(http://rack.github.io/), however they are not customizable at this
|
122
|
+
point.
|
123
|
+
|
124
|
+
1mDeep Dive0m
|
125
|
+
Deep dive into more subjects:
|
126
|
+
|
127
|
+
o Private gems
|
128
|
+
|
129
|
+
o Multiple gem sources
|
130
|
+
|
131
|
+
o Using Gemstash as a mirror
|
132
|
+
|
133
|
+
o Customizing the server (database, storage, caching, and more)
|
134
|
+
|
135
|
+
o Deploying Gemstash
|
136
|
+
|
137
|
+
o Debugging Gemstash
|
138
|
+
|
139
|
+
1mReference0m
|
140
|
+
An anatomy of various configuration and commands:
|
141
|
+
|
142
|
+
o Configuration
|
143
|
+
|
144
|
+
o Authorize
|
145
|
+
|
146
|
+
o Start
|
147
|
+
|
148
|
+
o Stop
|
149
|
+
|
150
|
+
o Status
|
151
|
+
|
152
|
+
o Setup
|
153
|
+
|
154
|
+
o Version
|
155
|
+
|
156
|
+
To see what has changed in recent versions of Gemstash, see the
|
157
|
+
CHANGELOG (https://github.com/rubygems/gemstash/blob/mas-
|
158
|
+
ter/CHANGELOG.md).
|
159
|
+
|
160
|
+
1mDevelopment0m
|
161
|
+
After checking out the repo, run bin/setup to install dependencies.
|
162
|
+
Then, run rake to run RuboCop and the tests. While developing, you can
|
163
|
+
run bin/gemstash to run Gemstash. You can also run bin/console for an
|
164
|
+
interactive prompt that will allow you to experiment.
|
165
|
+
|
166
|
+
1mContributing0m
|
167
|
+
Bug reports and pull requests are welcome on GitHub at
|
168
|
+
https://github.com/rubygems/gemstash. This project is intended to be a
|
169
|
+
safe, welcoming space for collaboration, and contributors are expected
|
170
|
+
to adhere to the Contributor Covenant (https://github.com/rubygems/gem-
|
171
|
+
stash/blob/master/CODE_OF_CONDUCT.md) code of conduct.
|
172
|
+
|
173
|
+
1mLicense0m
|
174
|
+
The gem is available as open source under the terms of the MIT License
|
175
|
+
(http://opensource.org/licenses/MIT).
|
176
|
+
|
177
|
+
November 30, 2015 4mgemstash-readme24m(7)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
|
+
.\"
|
4
|
+
.TH "gemstash-setup" "1" "October 9, 2015" "" ""
|
5
|
+
.SH Name
|
6
|
+
gemstash-setup - Customize your Gemstash configuration interactively
|
7
|
+
.SH Synopsis
|
8
|
+
\f[CR]gemstash setup [--redo] [--debug] [--config-file FILE]\f[R]
|
9
|
+
.SH Description
|
10
|
+
Customize your Gemstash configuration interactively.
|
11
|
+
This will save your config file, but only if a few checks pass after
|
12
|
+
you\[cq]ve provided your answers.
|
13
|
+
.SS Usage
|
14
|
+
.IP
|
15
|
+
.EX
|
16
|
+
gemstash setup
|
17
|
+
gemstash setup --redo
|
18
|
+
gemstash setup --config-file <file>
|
19
|
+
.EE
|
20
|
+
.SH Options
|
21
|
+
.IP \[bu] 2
|
22
|
+
\f[CR]--redo\f[R]: Redo the configuration.
|
23
|
+
This does nothing the first time \f[CR]gemstash setup\f[R] is run.
|
24
|
+
If you want to change your configuration using \f[CR]gemstash setup\f[R]
|
25
|
+
after you\[cq]ve run it before, you must provide this option, otherwise
|
26
|
+
Gemstash will simply indicate your setup is complete.
|
27
|
+
.IP \[bu] 2
|
28
|
+
\f[CR]--debug\f[R]: Output additional information if one of the checks
|
29
|
+
at the end of setup fails.
|
30
|
+
This will do nothing if all checks pass.
|
31
|
+
.IP \[bu] 2
|
32
|
+
\f[CR]--config-file FILE\f[R]: Specify the config file to write to.
|
33
|
+
Without this option, your configuration will be written to
|
34
|
+
\f[CR]\[ti]/.gemstash/config.yml\f[R].
|
35
|
+
If you write to a custom location, you will need to pass the
|
36
|
+
\f[CR]--config-file\f[R] option to all Gemstash commands.
|
37
|
+
If you plan to use ERB in your config file, you might want to use
|
38
|
+
\f[CR]\[ti]/.gemstash/config.yml.erb\f[R].
|
@@ -0,0 +1,38 @@
|
|
1
|
+
4mgemstash-setup24m(1) 4mgemstash-setup24m(1)
|
2
|
+
|
3
|
+
<!-- Automatically generated by Pandoc -->
|
4
|
+
|
5
|
+
1mName0m
|
6
|
+
gemstash-setup - Customize your Gemstash configuration interactively
|
7
|
+
|
8
|
+
1mSynopsis0m
|
9
|
+
gemstash setup [--redo] [--debug] [--config-file FILE]
|
10
|
+
|
11
|
+
1mDescription0m
|
12
|
+
Customize your Gemstash configuration interactively. This will save
|
13
|
+
your config file, but only if a few checks pass after you've provided
|
14
|
+
your answers.
|
15
|
+
|
16
|
+
1mUsage0m
|
17
|
+
gemstash setup
|
18
|
+
gemstash setup --redo
|
19
|
+
gemstash setup --config-file <file>
|
20
|
+
|
21
|
+
1mOptions0m
|
22
|
+
o --redo: Redo the configuration. This does nothing the first time
|
23
|
+
gemstash setup is run. If you want to change your configuration us-
|
24
|
+
ing gemstash setup after you've run it before, you must provide this
|
25
|
+
option, otherwise Gemstash will simply indicate your setup is com-
|
26
|
+
plete.
|
27
|
+
|
28
|
+
o --debug: Output additional information if one of the checks at the
|
29
|
+
end of setup fails. This will do nothing if all checks pass.
|
30
|
+
|
31
|
+
o --config-file FILE: Specify the config file to write to. Without
|
32
|
+
this option, your configuration will be written to ~/.gemstash/con-
|
33
|
+
fig.yml. If you write to a custom location, you will need to pass
|
34
|
+
the --config-file option to all Gemstash commands. If you plan to
|
35
|
+
use ERB in your config file, you might want to use ~/.gemstash/con-
|
36
|
+
fig.yml.erb.
|
37
|
+
|
38
|
+
October 9, 2015 4mgemstash-setup24m(1)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
|
+
.\"
|
4
|
+
.TH "gemstash-start" "1" "October 9, 2015" "" ""
|
5
|
+
.SH Name
|
6
|
+
gemstash-start - Starts the Gemstash server
|
7
|
+
.SH Synopsis
|
8
|
+
\f[CR]gemstash start [--no-daemonize] [--config-file FILE]\f[R]
|
9
|
+
.SH Description
|
10
|
+
Starts the Gemstash server.
|
11
|
+
.SH Options
|
12
|
+
.IP \[bu] 2
|
13
|
+
\f[CR]--config-file FILE\f[R]: Specify the config file to use.
|
14
|
+
If you aren\[cq]t using the default config file at
|
15
|
+
\f[CR]\[ti]/.gemstash/config.yml\f[R] or
|
16
|
+
\f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
|
17
|
+
config file via this option.
|
18
|
+
.IP \[bu] 2
|
19
|
+
\f[CR]--no-daemonize\f[R]: The Gemstash server daemonizes itself by
|
20
|
+
default.
|
21
|
+
Provide this option to instead run the server until \f[CR]Ctrl-C\f[R] is
|
22
|
+
typed.
|
23
|
+
When not daemonized, the log will be output to standard out.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
4mgemstash-start24m(1) 4mgemstash-start24m(1)
|
2
|
+
|
3
|
+
<!-- Automatically generated by Pandoc -->
|
4
|
+
|
5
|
+
1mName0m
|
6
|
+
gemstash-start - Starts the Gemstash server
|
7
|
+
|
8
|
+
1mSynopsis0m
|
9
|
+
gemstash start [--no-daemonize] [--config-file FILE]
|
10
|
+
|
11
|
+
1mDescription0m
|
12
|
+
Starts the Gemstash server.
|
13
|
+
|
14
|
+
1mOptions0m
|
15
|
+
o --config-file FILE: Specify the config file to use. If you aren't
|
16
|
+
using the default config file at ~/.gemstash/config.yml or ~/.gem-
|
17
|
+
stash/config.yml.erb, then you must specify the config file via this
|
18
|
+
option.
|
19
|
+
|
20
|
+
o --no-daemonize: The Gemstash server daemonizes itself by default.
|
21
|
+
Provide this option to instead run the server until Ctrl-C is typed.
|
22
|
+
When not daemonized, the log will be output to standard out.
|
23
|
+
|
24
|
+
October 9, 2015 4mgemstash-start24m(1)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
|
+
.\"
|
4
|
+
.TH "gemstash-status" "1" "October 28, 2015" "" ""
|
5
|
+
.SH Name
|
6
|
+
gemstash-status - Checks status of the Gemstash server
|
7
|
+
.SH Synopsis
|
8
|
+
\f[CR]gemstash status [--config-file FILE]\f[R]
|
9
|
+
.SH Description
|
10
|
+
Checks status of the Gemstash server.
|
11
|
+
.SH Options
|
12
|
+
.IP \[bu] 2
|
13
|
+
\f[CR]--config-file FILE\f[R]: Specify the config file to use.
|
14
|
+
If you aren\[cq]t using the default config file at
|
15
|
+
\f[CR]\[ti]/.gemstash/config.yml\f[R] or
|
16
|
+
\f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
|
17
|
+
config file via this option.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
4mgemstash-status24m(1) 4mgemstash-status24m(1)
|
2
|
+
|
3
|
+
<!-- Automatically generated by Pandoc -->
|
4
|
+
|
5
|
+
1mName0m
|
6
|
+
gemstash-status - Checks status of the Gemstash server
|
7
|
+
|
8
|
+
1mSynopsis0m
|
9
|
+
gemstash status [--config-file FILE]
|
10
|
+
|
11
|
+
1mDescription0m
|
12
|
+
Checks status of the Gemstash server.
|
13
|
+
|
14
|
+
1mOptions0m
|
15
|
+
o --config-file FILE: Specify the config file to use. If you aren't
|
16
|
+
using the default config file at ~/.gemstash/config.yml or ~/.gem-
|
17
|
+
stash/config.yml.erb, then you must specify the config file via this
|
18
|
+
option.
|
19
|
+
|
20
|
+
October 28, 2015 4mgemstash-status24m(1)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
|
+
.\"
|
4
|
+
.TH "gemstash-stop" "1" "October 9, 2015" "" ""
|
5
|
+
.SH Name
|
6
|
+
gemstash-stop - Stops the Gemstash server
|
7
|
+
.SH Synopsis
|
8
|
+
\f[CR]gemstash stop [--config-file FILE]\f[R]
|
9
|
+
.SH Description
|
10
|
+
Stops the Gemstash server.
|
11
|
+
.SH Options
|
12
|
+
.IP \[bu] 2
|
13
|
+
\f[CR]--config-file FILE\f[R]: Specify the config file to use.
|
14
|
+
If you aren\[cq]t using the default config file at
|
15
|
+
\f[CR]\[ti]/.gemstash/config.yml\f[R] or
|
16
|
+
\f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
|
17
|
+
config file via this option.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
4mgemstash-stop24m(1) 4mgemstash-stop24m(1)
|
2
|
+
|
3
|
+
<!-- Automatically generated by Pandoc -->
|
4
|
+
|
5
|
+
1mName0m
|
6
|
+
gemstash-stop - Stops the Gemstash server
|
7
|
+
|
8
|
+
1mSynopsis0m
|
9
|
+
gemstash stop [--config-file FILE]
|
10
|
+
|
11
|
+
1mDescription0m
|
12
|
+
Stops the Gemstash server.
|
13
|
+
|
14
|
+
1mOptions0m
|
15
|
+
o --config-file FILE: Specify the config file to use. If you aren't
|
16
|
+
using the default config file at ~/.gemstash/config.yml or ~/.gem-
|
17
|
+
stash/config.yml.erb, then you must specify the config file via this
|
18
|
+
option.
|
19
|
+
|
20
|
+
October 9, 2015 4mgemstash-stop24m(1)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
|
+
.\"
|
4
|
+
.TH "gemstash-version" "1" "December 14, 2015" "" ""
|
5
|
+
.SH Name
|
6
|
+
gemstash-version - Show what version of Gemstash you are using
|
7
|
+
.SH Synopsis
|
8
|
+
\f[CR]gemstash version\f[R]
|
9
|
+
.SH Description
|
10
|
+
Show what version of Gemstash you are using.
|
11
|
+
.SS Usage
|
12
|
+
.IP
|
13
|
+
.EX
|
14
|
+
gemstash version
|
15
|
+
gemstash --version
|
16
|
+
gemstash -v
|
17
|
+
.EE
|
@@ -0,0 +1,19 @@
|
|
1
|
+
4mgemstash-version24m(1) 4mgemstash-version24m(1)
|
2
|
+
|
3
|
+
<!-- Automatically generated by Pandoc -->
|
4
|
+
|
5
|
+
1mName0m
|
6
|
+
gemstash-version - Show what version of Gemstash you are using
|
7
|
+
|
8
|
+
1mSynopsis0m
|
9
|
+
gemstash version
|
10
|
+
|
11
|
+
1mDescription0m
|
12
|
+
Show what version of Gemstash you are using.
|
13
|
+
|
14
|
+
1mUsage0m
|
15
|
+
gemstash version
|
16
|
+
gemstash --version
|
17
|
+
gemstash -v
|
18
|
+
|
19
|
+
December 14, 2015 4mgemstash-version24m(1)
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
Sequel.migration do
|
2
4
|
change do
|
3
5
|
create_table :rubygems do
|
4
6
|
primary_key :id
|
5
|
-
String :name, :size =>
|
7
|
+
String :name, :size => 191, :null => false
|
6
8
|
DateTime :created_at, :null => false
|
7
9
|
DateTime :updated_at, :null => false
|
8
10
|
index [:name], :unique => true
|
@@ -11,17 +13,17 @@ Sequel.migration do
|
|
11
13
|
create_table :versions do
|
12
14
|
primary_key :id
|
13
15
|
Integer :rubygem_id, :null => false
|
14
|
-
String :storage_id, :size =>
|
15
|
-
String :number, :size =>
|
16
|
-
String :platform, :size =>
|
17
|
-
String :full_name, :size =>
|
16
|
+
String :storage_id, :size => 191, :null => false
|
17
|
+
String :number, :size => 191, :null => false
|
18
|
+
String :platform, :size => 191, :null => false
|
19
|
+
String :full_name, :size => 191, :null => false
|
18
20
|
TrueClass :indexed, :default => true, :null => false
|
19
21
|
TrueClass :prerelease, :null => false
|
20
22
|
DateTime :created_at, :null => false
|
21
23
|
DateTime :updated_at, :null => false
|
22
|
-
index [
|
24
|
+
index %i[rubygem_id number platform], :unique => true
|
23
25
|
index [:indexed]
|
24
|
-
index [
|
26
|
+
index %i[indexed prerelease]
|
25
27
|
index [:number]
|
26
28
|
index [:full_name], :unique => true
|
27
29
|
index [:storage_id], :unique => true
|
@@ -30,8 +32,8 @@ Sequel.migration do
|
|
30
32
|
create_table :dependencies do
|
31
33
|
primary_key :id
|
32
34
|
Integer :version_id, :null => false
|
33
|
-
String :rubygem_name, :size =>
|
34
|
-
String :requirements, :size =>
|
35
|
+
String :rubygem_name, :size => 191, :null => false
|
36
|
+
String :requirements, :size => 191, :null => false
|
35
37
|
DateTime :created_at, :null => false
|
36
38
|
DateTime :updated_at, :null => false
|
37
39
|
index [:version_id]
|
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
Sequel.migration do
|
2
4
|
change do
|
3
5
|
create_table :authorizations do
|
4
6
|
primary_key :id
|
5
|
-
String :auth_key, :size =>
|
6
|
-
String :permissions, :size =>
|
7
|
+
String :auth_key, :size => 191, :null => false
|
8
|
+
String :permissions, :size => 191, :null => false
|
7
9
|
DateTime :created_at, :null => false
|
8
10
|
DateTime :updated_at, :null => false
|
9
11
|
index [:auth_key], :unique => true
|