librarianp 0.1.2
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 +7 -0
- data/.gitignore +5 -0
- data/.rspec +1 -0
- data/.travis.yml +10 -0
- data/CHANGELOG.md +255 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +235 -0
- data/LICENSE.txt +22 -0
- data/README.md +55 -0
- data/Rakefile +28 -0
- data/VERSION +1 -0
- data/lib/librarian/action/base.rb +24 -0
- data/lib/librarian/action/clean.rb +44 -0
- data/lib/librarian/action/ensure.rb +24 -0
- data/lib/librarian/action/install.rb +95 -0
- data/lib/librarian/action/persist_resolution_mixin.rb +51 -0
- data/lib/librarian/action/resolve.rb +46 -0
- data/lib/librarian/action/update.rb +44 -0
- data/lib/librarian/action.rb +5 -0
- data/lib/librarian/algorithms.rb +133 -0
- data/lib/librarian/cli/manifest_presenter.rb +89 -0
- data/lib/librarian/cli.rb +225 -0
- data/lib/librarian/config/database.rb +205 -0
- data/lib/librarian/config/file_source.rb +47 -0
- data/lib/librarian/config/hash_source.rb +33 -0
- data/lib/librarian/config/source.rb +149 -0
- data/lib/librarian/config.rb +7 -0
- data/lib/librarian/dependency.rb +153 -0
- data/lib/librarian/dsl/receiver.rb +42 -0
- data/lib/librarian/dsl/target.rb +171 -0
- data/lib/librarian/dsl.rb +102 -0
- data/lib/librarian/environment/runtime_cache.rb +101 -0
- data/lib/librarian/environment.rb +230 -0
- data/lib/librarian/error.rb +4 -0
- data/lib/librarian/helpers.rb +29 -0
- data/lib/librarian/linter/source_linter.rb +55 -0
- data/lib/librarian/lockfile/compiler.rb +66 -0
- data/lib/librarian/lockfile/parser.rb +123 -0
- data/lib/librarian/lockfile.rb +29 -0
- data/lib/librarian/logger.rb +46 -0
- data/lib/librarian/manifest.rb +146 -0
- data/lib/librarian/manifest_set.rb +150 -0
- data/lib/librarian/mock/cli.rb +19 -0
- data/lib/librarian/mock/dsl.rb +15 -0
- data/lib/librarian/mock/environment.rb +21 -0
- data/lib/librarian/mock/extension.rb +9 -0
- data/lib/librarian/mock/source/mock/registry.rb +83 -0
- data/lib/librarian/mock/source/mock.rb +80 -0
- data/lib/librarian/mock/source.rb +1 -0
- data/lib/librarian/mock/version.rb +5 -0
- data/lib/librarian/mock.rb +1 -0
- data/lib/librarian/posix.rb +129 -0
- data/lib/librarian/resolution.rb +46 -0
- data/lib/librarian/resolver/implementation.rb +238 -0
- data/lib/librarian/resolver.rb +94 -0
- data/lib/librarian/rspec/support/cli_macro.rb +120 -0
- data/lib/librarian/source/basic_api.rb +45 -0
- data/lib/librarian/source/git/repository.rb +193 -0
- data/lib/librarian/source/git.rb +172 -0
- data/lib/librarian/source/local.rb +54 -0
- data/lib/librarian/source/path.rb +56 -0
- data/lib/librarian/source.rb +2 -0
- data/lib/librarian/spec.rb +13 -0
- data/lib/librarian/spec_change_set.rb +173 -0
- data/lib/librarian/specfile.rb +19 -0
- data/lib/librarian/support/abstract_method.rb +21 -0
- data/lib/librarian/ui.rb +64 -0
- data/lib/librarian/version.rb +3 -0
- data/lib/librarian.rb +11 -0
- data/librarian.gemspec +47 -0
- data/spec/functional/cli_spec.rb +27 -0
- data/spec/functional/posix_spec.rb +32 -0
- data/spec/functional/source/git/repository_spec.rb +199 -0
- data/spec/functional/source/git_spec.rb +174 -0
- data/spec/support/fakefs.rb +37 -0
- data/spec/support/method_patch_macro.rb +30 -0
- data/spec/support/project_path_macro.rb +14 -0
- data/spec/support/with_env_macro.rb +22 -0
- data/spec/unit/action/base_spec.rb +18 -0
- data/spec/unit/action/clean_spec.rb +102 -0
- data/spec/unit/action/ensure_spec.rb +37 -0
- data/spec/unit/action/install_spec.rb +111 -0
- data/spec/unit/algorithms_spec.rb +131 -0
- data/spec/unit/config/database_spec.rb +320 -0
- data/spec/unit/dependency/requirement_spec.rb +12 -0
- data/spec/unit/dependency_spec.rb +212 -0
- data/spec/unit/dsl_spec.rb +173 -0
- data/spec/unit/environment/runtime_cache_spec.rb +73 -0
- data/spec/unit/environment_spec.rb +209 -0
- data/spec/unit/lockfile/parser_spec.rb +162 -0
- data/spec/unit/lockfile_spec.rb +65 -0
- data/spec/unit/manifest/version_spec.rb +11 -0
- data/spec/unit/manifest_set_spec.rb +202 -0
- data/spec/unit/manifest_spec.rb +36 -0
- data/spec/unit/mock/environment_spec.rb +25 -0
- data/spec/unit/mock/source/mock_spec.rb +22 -0
- data/spec/unit/resolver_spec.rb +299 -0
- data/spec/unit/source/git_spec.rb +29 -0
- data/spec/unit/spec_change_set_spec.rb +169 -0
- metadata +257 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 02a5b8a8fefca65597bdf2ead8377293039a73a8
|
4
|
+
data.tar.gz: b9e2a7797f3b19acfc1b7b06cc1247380698f247
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c46e3c05255a2671b969b552d1bc6bf00989dac8748bbbe3a41baeb68ec0071b93d4640e60c73a77979cfb04453276f0fe204605327eb2e7d87ef877bf77d0f6
|
7
|
+
data.tar.gz: 20c6573ed3ba861117641d37abeb2a8f72227278657b1f1b7cf3cbfe202ad461a246b06e0ea04e5fc111b1b2540fe904670a7ef99053c1c8a41db23fa0ab09eb
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,255 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
## 0.1.2
|
4
|
+
|
5
|
+
* \#153. Mark the license in the gemspec.
|
6
|
+
|
7
|
+
* \#158, \#160, \#159. Handle cyclic dependencies for adapters which opt in to
|
8
|
+
cyclic dependencies.
|
9
|
+
|
10
|
+
* \#154. Cache git repository sources which are identical but for their :path
|
11
|
+
attributes (where to look inside the repository for the manifest). Thanks
|
12
|
+
@bcatlin.
|
13
|
+
|
14
|
+
* \#161. Fix JRuby exception in posix run! method. Thanks @justenwalker.
|
15
|
+
|
16
|
+
* \#163. Don't fetch git repositories multiple times per run. Thanks @njam.
|
17
|
+
|
18
|
+
## 0.1.1
|
19
|
+
|
20
|
+
* \#147. Handle the case where HOME is not in the environment. Thanks @bradleyd.
|
21
|
+
|
22
|
+
* \#140. Properly handle the failure to clone a git repository. Avoid wiping out
|
23
|
+
the host project's changes.
|
24
|
+
|
25
|
+
* \#127. Support Rubinius and JRuby, including when shelling out to system
|
26
|
+
commands.
|
27
|
+
|
28
|
+
* \#144. Allow running the test suite with a simple `rake`. Thanks @nickhammond.
|
29
|
+
|
30
|
+
## 0.1.0
|
31
|
+
|
32
|
+
* Extract the chef adapter to its own gem.
|
33
|
+
|
34
|
+
## 0.0.26
|
35
|
+
|
36
|
+
* \#112. Prevent the git source being confused in certain cases by colorized
|
37
|
+
output from git. HT: @ericpp.
|
38
|
+
|
39
|
+
* \#115, \#116. Accommodate cookbook archives generated by `git archive`.
|
40
|
+
HT: @taqtiqa-mark.
|
41
|
+
|
42
|
+
* \#119. Support NO_PROXY, a modifier on HTTP_PROXY and friends. HT: @databus23.
|
43
|
+
|
44
|
+
* \#121. A github pseudosource. HT: @alno.
|
45
|
+
|
46
|
+
* \#122. Follow http redirect responses in the chef site source. HT: @Fleurer.
|
47
|
+
|
48
|
+
* Improve the resolver performance by detecting conflicts earlier and
|
49
|
+
backtracking more quickly. This will help avoid certain cases of long
|
50
|
+
resolutions caused by conflicts; the conflicts will still be there, but will
|
51
|
+
be detected more quickly and the resolution terminated more quickly. This
|
52
|
+
changes the resolution algorithm, and new resolutions may differ from older
|
53
|
+
resolutions.
|
54
|
+
|
55
|
+
## 0.0.25
|
56
|
+
|
57
|
+
* \#71. Fix an error, given certain locale settings, with reading cookbook
|
58
|
+
metadata files.
|
59
|
+
|
60
|
+
* \#89. Fix an error when encountering manifests and dependencies with names of
|
61
|
+
a single letter, such as `"R"`.
|
62
|
+
|
63
|
+
* \#92, \#99. HTTP proxy support via the `HTTP_PROXY` environment variable. Also
|
64
|
+
supports `HTTP_PROXY_USER` and `HTTP_PROXY_PASS` environment variables. Thanks
|
65
|
+
@tknerr.
|
66
|
+
|
67
|
+
* \#97. Enforce that the `:ref` option in the `:git` source may only be given a
|
68
|
+
string.
|
69
|
+
|
70
|
+
* \#98. Fix unpacking chef site-sourced packages where the directory in the
|
71
|
+
tarball does not match the cookbook name.
|
72
|
+
|
73
|
+
## 0.0.24
|
74
|
+
|
75
|
+
* \#15. A remembered configuration system.
|
76
|
+
|
77
|
+
* \#16. Configure, and remember configuration for, chef install paths.
|
78
|
+
|
79
|
+
* \#38. Configure, and remember configuration for, stripping out `.git`
|
80
|
+
directories from git-sources chef dependencies.
|
81
|
+
|
82
|
+
* \#76. Support git annotated tags.
|
83
|
+
|
84
|
+
* \#80. Ignore directories in the `PATH` named `git` when looking for the `git`
|
85
|
+
bin. Thanks @avit.
|
86
|
+
|
87
|
+
* \#85. Provide a helpful message when running the `show` command without a
|
88
|
+
lockfile present.
|
89
|
+
|
90
|
+
## 0.0.23
|
91
|
+
|
92
|
+
* \#41. Build gems with a built gemspec.
|
93
|
+
|
94
|
+
* \#67. Cache remote objects at the latest possible moments, and only when they
|
95
|
+
are needed.
|
96
|
+
|
97
|
+
* \#68. Fix unpacking chef site-sourced packages on Windows by pivoting from a
|
98
|
+
Librarian-managed scratch space, rather than pivoting from Windows' temp
|
99
|
+
directory. There were unexplained problems with using the Windows temp
|
100
|
+
directory in certain cases, possibly related to the temp directory and the
|
101
|
+
Librarian cache directory being on different volumes.
|
102
|
+
|
103
|
+
* \#69. Fix invoking Librarian with git-sourced dependencies from git hooks by
|
104
|
+
unsetting `GIT_DIR` around shelling out to git.
|
105
|
+
|
106
|
+
* Print general environment information when running with `--verbose`.
|
107
|
+
|
108
|
+
## 0.0.22
|
109
|
+
|
110
|
+
* Fix the `outdated` CLI command.
|
111
|
+
|
112
|
+
## 0.0.21
|
113
|
+
|
114
|
+
* \#64. Sources now raise when given unrecognized options in the specfile.
|
115
|
+
|
116
|
+
* A new `show` CLI command.
|
117
|
+
|
118
|
+
* Changed the `clean` CLI command no longer to delete the lockfile.
|
119
|
+
|
120
|
+
* Simplify the architecture of `Librarian::Manifest` vis-a-vis sources. It is no
|
121
|
+
longer a base class for adapters to inherit. Now, sources expose a small
|
122
|
+
interface, which `Librarian::Manifest` can call, for delay-loading attributes.
|
123
|
+
|
124
|
+
* The git source now resolves the `git` binary before `chdir`ing.
|
125
|
+
|
126
|
+
* Test on Rubinius.
|
127
|
+
|
128
|
+
## 0.0.20
|
129
|
+
|
130
|
+
* A command to print outdated dependencies.
|
131
|
+
|
132
|
+
## 0.0.19
|
133
|
+
|
134
|
+
* Fix breakage on 1.8.
|
135
|
+
|
136
|
+
## 0.0.18
|
137
|
+
|
138
|
+
* \#57. Include existing manifests' dependencies in resolution.
|
139
|
+
|
140
|
+
* Permit the update action even with a changed specfile.
|
141
|
+
|
142
|
+
## 0.0.17
|
143
|
+
|
144
|
+
* Use a pure-Ruby implementation of tar/gz. Helps with Windows support, since
|
145
|
+
Windows boxes are less likely than *NIX boxes to have the `tar` executable.
|
146
|
+
|
147
|
+
* Fix an issue where the chef site source considers uncached manifests to be
|
148
|
+
cached, and skips caching them, causing the install action to fail.
|
149
|
+
|
150
|
+
* Fail fast if the resolver produces an inconsistent resolution. It is a known
|
151
|
+
issue that the resolver will sometimes (deterministically, not randomly)
|
152
|
+
produce an inconsistent resolution when performing an update action (#57).
|
153
|
+
Start debugging this by failing fast at this point and spitting out gobs of
|
154
|
+
debug-level log details.
|
155
|
+
|
156
|
+
## 0.0.16
|
157
|
+
|
158
|
+
* Recache site-sourced dependency metadata per each run.
|
159
|
+
|
160
|
+
* \#46. Always install.
|
161
|
+
|
162
|
+
* \#53. Abstract versions & requirements from rubygems.
|
163
|
+
|
164
|
+
* Own the install path. Recreate it on each install.
|
165
|
+
WARNING: If you have your own content in the install path, it will be deleted without mercy.
|
166
|
+
|
167
|
+
## 0.0.15
|
168
|
+
|
169
|
+
* Rewrite the README.
|
170
|
+
|
171
|
+
* \#44, \#49. Better updating of cached git sources without using local merges.
|
172
|
+
|
173
|
+
## 0.0.14
|
174
|
+
|
175
|
+
* \#39 Fixes a regression induced by using `git reset --hard SHA`.
|
176
|
+
|
177
|
+
## 0.0.13
|
178
|
+
|
179
|
+
* \#36 Fixes an issue where, if a dependency has a git source (the upstream), and the upstream is updated,
|
180
|
+
then attempting to update that dependency in the local resolution would not update that dependency so
|
181
|
+
long as that git source were cached (@databus23).
|
182
|
+
|
183
|
+
* More immediate detection of, and better error messages for, cases of blank dependency or manifest names
|
184
|
+
or cases of names that are otherwise insensible, such as names that are untrimmed.
|
185
|
+
|
186
|
+
## 0.0.12
|
187
|
+
|
188
|
+
* Fixes an issue where, if a dependency has a git source with a ref, re-resolving may fail.
|
189
|
+
|
190
|
+
## 0.0.11
|
191
|
+
|
192
|
+
* Fix a regression where the cli command "version" failed.
|
193
|
+
|
194
|
+
## 0.0.10
|
195
|
+
|
196
|
+
This release focuses on refactoring some of the internals. There are no functional changes.
|
197
|
+
|
198
|
+
## 0.0.9
|
199
|
+
|
200
|
+
* \#11 Fixes a problem where, if the repo is in a path where a component has a space, attempting to resolve a
|
201
|
+
site-sourced dependency fails.
|
202
|
+
|
203
|
+
## 0.0.8
|
204
|
+
|
205
|
+
* A `version` task.
|
206
|
+
|
207
|
+
* A change log.
|
208
|
+
|
209
|
+
* \#10 Fixes the problem with bouncing the lockfile when updating, when using a git source with the default ref.
|
210
|
+
|
211
|
+
## 0.0.7
|
212
|
+
|
213
|
+
* \#8 Add highline temporarily as a runtime dependency of `librarian` (@fnichol).
|
214
|
+
When the project is split into `librarian` and `librarian-chef`, the `chef` runtime dependency will
|
215
|
+
be moved to `librarian-chef`. If the project is further split into a knife plugin, the dependency
|
216
|
+
will be moved there.
|
217
|
+
|
218
|
+
## 0.0.6
|
219
|
+
|
220
|
+
* \#7 Show a better error message when a cookbook is missing the required metadata file.
|
221
|
+
|
222
|
+
* Miscellaneous bugfixes.
|
223
|
+
|
224
|
+
## 0.0.5
|
225
|
+
|
226
|
+
* \#4 An `init` task for `librarian-chef`.
|
227
|
+
This task creates a nearly-blank `Cheffile` with just the default Opscode Community Site source.
|
228
|
+
|
229
|
+
* Automatically create the `cookbooks` directory, if it's missing, when running the `install` task.
|
230
|
+
|
231
|
+
* \#3 Add `chef` temporarily as a runtime dependency of `librarian` (@fnichol).
|
232
|
+
When the project is split into `librarian` and `librarian-chef`, the `chef` runtime dependency will
|
233
|
+
be moved to `librarian-chef`.
|
234
|
+
|
235
|
+
## 0.0.4
|
236
|
+
|
237
|
+
* A simple knife integration.
|
238
|
+
This integration allows you to specify a `librarian-chef`-managed tempdir as a `cookbook_path`.
|
239
|
+
This is useful to force knife only to upload the exact cookbooks that `librarian-chef` knows
|
240
|
+
about, rather than whatever happens to be found in the `cookbooks` directory.
|
241
|
+
|
242
|
+
## 0.0.3
|
243
|
+
|
244
|
+
* Miscellaneous bugfixes.
|
245
|
+
|
246
|
+
## 0.0.2
|
247
|
+
|
248
|
+
* An optional `:path` attribute for `:git` sources.
|
249
|
+
This allows you to specify exactly where within a git repository a given cookbook is to be found.
|
250
|
+
|
251
|
+
* A full example of a Cheffile and its usage in the readme.
|
252
|
+
|
253
|
+
## 0.0.1
|
254
|
+
|
255
|
+
* Initial release.
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,235 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
librarianp (0.1.2)
|
5
|
+
highline
|
6
|
+
thor (~> 0.15)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
diff-lcs (1.2.5)
|
12
|
+
fakefs (0.4.2)
|
13
|
+
ffi2-generators (0.1.1)
|
14
|
+
highline (1.7.0)
|
15
|
+
json (1.7.7)
|
16
|
+
rake (10.0.4)
|
17
|
+
rspec (2.99.0)
|
18
|
+
rspec-core (~> 2.99.0)
|
19
|
+
rspec-expectations (~> 2.99.0)
|
20
|
+
rspec-mocks (~> 2.99.0)
|
21
|
+
rspec-core (2.99.2)
|
22
|
+
rspec-expectations (2.99.2)
|
23
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
24
|
+
rspec-mocks (2.99.3)
|
25
|
+
rubysl (2.1.0)
|
26
|
+
rubysl-abbrev (~> 2.0)
|
27
|
+
rubysl-base64 (~> 2.0)
|
28
|
+
rubysl-benchmark (~> 2.0)
|
29
|
+
rubysl-bigdecimal (~> 2.0)
|
30
|
+
rubysl-cgi (~> 2.0)
|
31
|
+
rubysl-cgi-session (~> 2.0)
|
32
|
+
rubysl-cmath (~> 2.0)
|
33
|
+
rubysl-complex (~> 2.0)
|
34
|
+
rubysl-continuation (~> 2.0)
|
35
|
+
rubysl-coverage (~> 2.0)
|
36
|
+
rubysl-csv (~> 2.0)
|
37
|
+
rubysl-curses (~> 2.0)
|
38
|
+
rubysl-date (~> 2.0)
|
39
|
+
rubysl-delegate (~> 2.0)
|
40
|
+
rubysl-digest (~> 2.0)
|
41
|
+
rubysl-drb (~> 2.0)
|
42
|
+
rubysl-e2mmap (~> 2.0)
|
43
|
+
rubysl-english (~> 2.0)
|
44
|
+
rubysl-enumerator (~> 2.0)
|
45
|
+
rubysl-erb (~> 2.0)
|
46
|
+
rubysl-etc (~> 2.0)
|
47
|
+
rubysl-expect (~> 2.0)
|
48
|
+
rubysl-fcntl (~> 2.0)
|
49
|
+
rubysl-fiber (~> 2.0)
|
50
|
+
rubysl-fileutils (~> 2.0)
|
51
|
+
rubysl-find (~> 2.0)
|
52
|
+
rubysl-forwardable (~> 2.0)
|
53
|
+
rubysl-getoptlong (~> 2.0)
|
54
|
+
rubysl-gserver (~> 2.0)
|
55
|
+
rubysl-io-console (~> 2.0)
|
56
|
+
rubysl-io-nonblock (~> 2.0)
|
57
|
+
rubysl-io-wait (~> 2.0)
|
58
|
+
rubysl-ipaddr (~> 2.0)
|
59
|
+
rubysl-irb (~> 2.1)
|
60
|
+
rubysl-logger (~> 2.0)
|
61
|
+
rubysl-mathn (~> 2.0)
|
62
|
+
rubysl-matrix (~> 2.0)
|
63
|
+
rubysl-mkmf (~> 2.0)
|
64
|
+
rubysl-monitor (~> 2.0)
|
65
|
+
rubysl-mutex_m (~> 2.0)
|
66
|
+
rubysl-net-ftp (~> 2.0)
|
67
|
+
rubysl-net-http (~> 2.0)
|
68
|
+
rubysl-net-imap (~> 2.0)
|
69
|
+
rubysl-net-pop (~> 2.0)
|
70
|
+
rubysl-net-protocol (~> 2.0)
|
71
|
+
rubysl-net-smtp (~> 2.0)
|
72
|
+
rubysl-net-telnet (~> 2.0)
|
73
|
+
rubysl-nkf (~> 2.0)
|
74
|
+
rubysl-observer (~> 2.0)
|
75
|
+
rubysl-open-uri (~> 2.0)
|
76
|
+
rubysl-open3 (~> 2.0)
|
77
|
+
rubysl-openssl (~> 2.0)
|
78
|
+
rubysl-optparse (~> 2.0)
|
79
|
+
rubysl-ostruct (~> 2.0)
|
80
|
+
rubysl-pathname (~> 2.0)
|
81
|
+
rubysl-prettyprint (~> 2.0)
|
82
|
+
rubysl-prime (~> 2.0)
|
83
|
+
rubysl-profile (~> 2.0)
|
84
|
+
rubysl-profiler (~> 2.0)
|
85
|
+
rubysl-pstore (~> 2.0)
|
86
|
+
rubysl-pty (~> 2.0)
|
87
|
+
rubysl-rational (~> 2.0)
|
88
|
+
rubysl-resolv (~> 2.0)
|
89
|
+
rubysl-rexml (~> 2.0)
|
90
|
+
rubysl-rinda (~> 2.0)
|
91
|
+
rubysl-rss (~> 2.0)
|
92
|
+
rubysl-scanf (~> 2.0)
|
93
|
+
rubysl-securerandom (~> 2.0)
|
94
|
+
rubysl-set (~> 2.0)
|
95
|
+
rubysl-shellwords (~> 2.0)
|
96
|
+
rubysl-singleton (~> 2.0)
|
97
|
+
rubysl-socket (~> 2.0)
|
98
|
+
rubysl-stringio (~> 2.0)
|
99
|
+
rubysl-strscan (~> 2.0)
|
100
|
+
rubysl-sync (~> 2.0)
|
101
|
+
rubysl-syslog (~> 2.0)
|
102
|
+
rubysl-tempfile (~> 2.0)
|
103
|
+
rubysl-thread (~> 2.0)
|
104
|
+
rubysl-thwait (~> 2.0)
|
105
|
+
rubysl-time (~> 2.0)
|
106
|
+
rubysl-timeout (~> 2.0)
|
107
|
+
rubysl-tmpdir (~> 2.0)
|
108
|
+
rubysl-tsort (~> 2.0)
|
109
|
+
rubysl-un (~> 2.0)
|
110
|
+
rubysl-uri (~> 2.0)
|
111
|
+
rubysl-weakref (~> 2.0)
|
112
|
+
rubysl-webrick (~> 2.0)
|
113
|
+
rubysl-xmlrpc (~> 2.0)
|
114
|
+
rubysl-yaml (~> 2.0)
|
115
|
+
rubysl-zlib (~> 2.0)
|
116
|
+
rubysl-abbrev (2.0.4)
|
117
|
+
rubysl-base64 (2.0.0)
|
118
|
+
rubysl-benchmark (2.0.1)
|
119
|
+
rubysl-bigdecimal (2.0.2)
|
120
|
+
rubysl-cgi (2.0.1)
|
121
|
+
rubysl-cgi-session (2.0.1)
|
122
|
+
rubysl-cmath (2.0.0)
|
123
|
+
rubysl-complex (2.0.0)
|
124
|
+
rubysl-continuation (2.0.0)
|
125
|
+
rubysl-coverage (2.0.3)
|
126
|
+
rubysl-csv (2.0.2)
|
127
|
+
rubysl-english (~> 2.0)
|
128
|
+
rubysl-curses (2.0.1)
|
129
|
+
rubysl-date (2.0.9)
|
130
|
+
rubysl-delegate (2.0.1)
|
131
|
+
rubysl-digest (2.0.3)
|
132
|
+
rubysl-drb (2.0.1)
|
133
|
+
rubysl-e2mmap (2.0.0)
|
134
|
+
rubysl-english (2.0.0)
|
135
|
+
rubysl-enumerator (2.0.0)
|
136
|
+
rubysl-erb (2.0.2)
|
137
|
+
rubysl-etc (2.0.3)
|
138
|
+
ffi2-generators (~> 0.1)
|
139
|
+
rubysl-expect (2.0.0)
|
140
|
+
rubysl-fcntl (2.0.4)
|
141
|
+
ffi2-generators (~> 0.1)
|
142
|
+
rubysl-fiber (2.0.0)
|
143
|
+
rubysl-fileutils (2.0.3)
|
144
|
+
rubysl-find (2.0.1)
|
145
|
+
rubysl-forwardable (2.0.1)
|
146
|
+
rubysl-getoptlong (2.0.0)
|
147
|
+
rubysl-gserver (2.0.0)
|
148
|
+
rubysl-socket (~> 2.0)
|
149
|
+
rubysl-thread (~> 2.0)
|
150
|
+
rubysl-io-console (2.0.0)
|
151
|
+
rubysl-io-nonblock (2.0.0)
|
152
|
+
rubysl-io-wait (2.0.0)
|
153
|
+
rubysl-ipaddr (2.0.0)
|
154
|
+
rubysl-irb (2.1.1)
|
155
|
+
rubysl-e2mmap (~> 2.0)
|
156
|
+
rubysl-mathn (~> 2.0)
|
157
|
+
rubysl-thread (~> 2.0)
|
158
|
+
rubysl-logger (2.1.0)
|
159
|
+
rubysl-mathn (2.0.0)
|
160
|
+
rubysl-matrix (2.1.0)
|
161
|
+
rubysl-e2mmap (~> 2.0)
|
162
|
+
rubysl-mkmf (2.0.1)
|
163
|
+
rubysl-fileutils (~> 2.0)
|
164
|
+
rubysl-shellwords (~> 2.0)
|
165
|
+
rubysl-monitor (2.0.0)
|
166
|
+
rubysl-mutex_m (2.0.0)
|
167
|
+
rubysl-net-ftp (2.0.1)
|
168
|
+
rubysl-net-http (2.0.4)
|
169
|
+
rubysl-cgi (~> 2.0)
|
170
|
+
rubysl-erb (~> 2.0)
|
171
|
+
rubysl-singleton (~> 2.0)
|
172
|
+
rubysl-net-imap (2.0.1)
|
173
|
+
rubysl-net-pop (2.0.1)
|
174
|
+
rubysl-net-protocol (2.0.1)
|
175
|
+
rubysl-net-smtp (2.0.1)
|
176
|
+
rubysl-net-telnet (2.0.0)
|
177
|
+
rubysl-nkf (2.0.1)
|
178
|
+
rubysl-observer (2.0.0)
|
179
|
+
rubysl-open-uri (2.0.0)
|
180
|
+
rubysl-open3 (2.0.0)
|
181
|
+
rubysl-openssl (2.2.1)
|
182
|
+
rubysl-optparse (2.0.1)
|
183
|
+
rubysl-shellwords (~> 2.0)
|
184
|
+
rubysl-ostruct (2.0.4)
|
185
|
+
rubysl-pathname (2.1.0)
|
186
|
+
rubysl-prettyprint (2.0.3)
|
187
|
+
rubysl-prime (2.0.1)
|
188
|
+
rubysl-profile (2.0.0)
|
189
|
+
rubysl-profiler (2.0.1)
|
190
|
+
rubysl-pstore (2.0.0)
|
191
|
+
rubysl-pty (2.0.3)
|
192
|
+
rubysl-rational (2.0.1)
|
193
|
+
rubysl-resolv (2.1.2)
|
194
|
+
rubysl-rexml (2.0.4)
|
195
|
+
rubysl-rinda (2.0.1)
|
196
|
+
rubysl-rss (2.0.0)
|
197
|
+
rubysl-scanf (2.0.0)
|
198
|
+
rubysl-securerandom (2.0.0)
|
199
|
+
rubysl-set (2.0.1)
|
200
|
+
rubysl-shellwords (2.0.0)
|
201
|
+
rubysl-singleton (2.0.0)
|
202
|
+
rubysl-socket (2.0.1)
|
203
|
+
rubysl-stringio (2.0.0)
|
204
|
+
rubysl-strscan (2.0.0)
|
205
|
+
rubysl-sync (2.0.0)
|
206
|
+
rubysl-syslog (2.1.0)
|
207
|
+
ffi2-generators (~> 0.1)
|
208
|
+
rubysl-tempfile (2.0.1)
|
209
|
+
rubysl-thread (2.0.3)
|
210
|
+
rubysl-thwait (2.0.0)
|
211
|
+
rubysl-time (2.0.3)
|
212
|
+
rubysl-timeout (2.0.0)
|
213
|
+
rubysl-tmpdir (2.0.1)
|
214
|
+
rubysl-tsort (2.0.1)
|
215
|
+
rubysl-un (2.0.0)
|
216
|
+
rubysl-fileutils (~> 2.0)
|
217
|
+
rubysl-optparse (~> 2.0)
|
218
|
+
rubysl-uri (2.0.0)
|
219
|
+
rubysl-weakref (2.0.0)
|
220
|
+
rubysl-webrick (2.0.0)
|
221
|
+
rubysl-xmlrpc (2.0.0)
|
222
|
+
rubysl-yaml (2.1.0)
|
223
|
+
rubysl-zlib (2.0.1)
|
224
|
+
thor (0.19.1)
|
225
|
+
|
226
|
+
PLATFORMS
|
227
|
+
ruby
|
228
|
+
|
229
|
+
DEPENDENCIES
|
230
|
+
fakefs
|
231
|
+
json
|
232
|
+
librarianp!
|
233
|
+
rake
|
234
|
+
rspec (~> 2.14)
|
235
|
+
rubysl
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2011 ApplicationsOnline, LLC. and Carlos Sanchez
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
Librarian [](http://travis-ci.org/carlossg/librarian) [](https://codeclimate.com/github/carlossg/librarian)
|
2
|
+
=========
|
3
|
+
|
4
|
+
Librarian is a framework for writing bundlers, which are tools that resolve,
|
5
|
+
fetch, install, and isolate a project's dependencies, in Ruby.
|
6
|
+
|
7
|
+
A bundler written with Librarian will expect you to provide a specfile listing
|
8
|
+
your project's declared dependencies, including any version constraints and
|
9
|
+
including the upstream sources for finding them. Librarian can resolve the spec,
|
10
|
+
write a lockfile listing the full resolution, fetch the resolved dependencies,
|
11
|
+
install them, and isolate them in your project.
|
12
|
+
|
13
|
+
A bundler written with Librarian will be similar in kind to [Bundler](http://gembundler.com),
|
14
|
+
the bundler for Ruby gems that many modern Rails applications use.
|
15
|
+
|
16
|
+
How to Contribute
|
17
|
+
-----------------
|
18
|
+
|
19
|
+
### Running the tests
|
20
|
+
|
21
|
+
Ensure the gem dependencies are installed:
|
22
|
+
|
23
|
+
$ bundle
|
24
|
+
|
25
|
+
Run the tests with the default rake task:
|
26
|
+
|
27
|
+
$ [bundle exec] rake
|
28
|
+
|
29
|
+
or directly with the rspec command:
|
30
|
+
|
31
|
+
$ [bundle exec] rspec spec
|
32
|
+
|
33
|
+
### Installing locally
|
34
|
+
|
35
|
+
Ensure the gem dependencies are installed:
|
36
|
+
|
37
|
+
$ bundle
|
38
|
+
|
39
|
+
Install from the repository:
|
40
|
+
|
41
|
+
$ [bundle exec] rake install
|
42
|
+
|
43
|
+
### Reporting Issues
|
44
|
+
|
45
|
+
Please include a reproducible test case.
|
46
|
+
|
47
|
+
License
|
48
|
+
-------
|
49
|
+
|
50
|
+
Written by Jay Feldblum and Carlos Sanchez.
|
51
|
+
|
52
|
+
Copyright (c) 2011-2013 ApplicationsOnline, LLC. and Carlos Sanchez
|
53
|
+
|
54
|
+
Released under the terms of the MIT License. For further information, please see
|
55
|
+
the file `LICENSE.txt`.
|
data/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
|
4
|
+
module Bundler
|
5
|
+
class GemHelper
|
6
|
+
|
7
|
+
def build_gem_with_built_spec
|
8
|
+
spec = Gem::Specification.load(spec_path)
|
9
|
+
spec_ruby = spec.to_ruby
|
10
|
+
original_spec_path = spec_path + ".original"
|
11
|
+
FileUtils.mv(spec_path, original_spec_path)
|
12
|
+
File.open(spec_path, "wb"){|f| f.write(spec_ruby)}
|
13
|
+
build_gem_without_built_spec
|
14
|
+
ensure
|
15
|
+
FileUtils.mv(original_spec_path, spec_path)
|
16
|
+
end
|
17
|
+
|
18
|
+
alias build_gem_without_built_spec build_gem
|
19
|
+
alias build_gem build_gem_with_built_spec
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
Bundler::GemHelper.install_tasks
|
25
|
+
|
26
|
+
RSpec::Core::RakeTask.new('spec')
|
27
|
+
task :default => :spec
|
28
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.2
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Librarian
|
2
|
+
module Action
|
3
|
+
class Base
|
4
|
+
|
5
|
+
attr_accessor :environment
|
6
|
+
private :environment=
|
7
|
+
|
8
|
+
attr_accessor :options
|
9
|
+
private :options=
|
10
|
+
|
11
|
+
def initialize(environment, options = { })
|
12
|
+
self.environment = environment
|
13
|
+
self.options = options
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def debug(*args, &block)
|
19
|
+
environment.logger.debug(*args, &block)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|