dep 1.0.6 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dep +29 -31
- data/test/dep.rb +31 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17dd7631845fb1eb16af43d99d96f1810f1eaf70
|
4
|
+
data.tar.gz: 9ab140c32d7bd7d61192935a20342ed032c98d8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e25a239fab4ebd9a18e0eeb60095a08b99dd3064195674416bbb8b419b9424d1237e96ee54d1ebbffac458026343b18810b479b327f0dcf4597ac130356ba7a6
|
7
|
+
data.tar.gz: 159bae56a23174e18fd696083306d2ee7b5d13e04cf712f7621e5c6a8b78e670dfd0cb60724b5a307d41d4ed78cd0efd31d20a15692c882f58f114204915cc62
|
data/bin/dep
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
require "fileutils"
|
4
4
|
|
5
|
+
def die
|
6
|
+
abort("error: dep --help for more info")
|
7
|
+
end
|
8
|
+
|
5
9
|
module Dep
|
6
10
|
class List
|
7
11
|
attr :path
|
@@ -52,7 +56,7 @@ module Dep
|
|
52
56
|
end
|
53
57
|
|
54
58
|
def to_s
|
55
|
-
"#{name}
|
59
|
+
"#{name}:#{version}"
|
56
60
|
end
|
57
61
|
|
58
62
|
def ==(other)
|
@@ -60,12 +64,10 @@ module Dep
|
|
60
64
|
end
|
61
65
|
end
|
62
66
|
|
63
|
-
|
64
|
-
|
65
|
-
attr_accessor :prerelease, :list, :file
|
66
|
-
end
|
67
|
+
class CLI
|
68
|
+
attr_accessor :prerelease, :list, :file
|
67
69
|
|
68
|
-
def
|
70
|
+
def add(name)
|
69
71
|
dependency = Gem::Dependency.new(name)
|
70
72
|
fetcher = Gem::SpecFetcher.fetcher
|
71
73
|
|
@@ -87,14 +89,14 @@ module Dep
|
|
87
89
|
puts "dep: added #{lib}"
|
88
90
|
end
|
89
91
|
|
90
|
-
def
|
92
|
+
def rm(name)
|
91
93
|
@list.remove(Dep::Lib.new(name))
|
92
94
|
@list.save
|
93
95
|
|
94
96
|
puts "dep: removed #{name}"
|
95
97
|
end
|
96
98
|
|
97
|
-
def
|
99
|
+
def check
|
98
100
|
if @list.missing_libraries.empty?
|
99
101
|
puts "dep: all cool"
|
100
102
|
else
|
@@ -108,25 +110,19 @@ module Dep
|
|
108
110
|
end
|
109
111
|
end
|
110
112
|
|
111
|
-
def
|
113
|
+
def install
|
112
114
|
if @list.missing_libraries.empty?
|
113
115
|
puts "dep: nothing to install"
|
114
116
|
exit
|
115
117
|
end
|
116
118
|
|
117
|
-
@list.missing_libraries.
|
118
|
-
run "gem install #{lib}"
|
119
|
-
end
|
119
|
+
run "gem install #{@list.missing_libraries.join(" ")}"
|
120
120
|
end
|
121
121
|
|
122
|
-
def
|
122
|
+
def run(cmd)
|
123
123
|
puts " #{cmd}"
|
124
124
|
`#{cmd}`
|
125
125
|
end
|
126
|
-
|
127
|
-
def self.abort
|
128
|
-
abort("error: dep --help for more info")
|
129
|
-
end
|
130
126
|
end
|
131
127
|
end
|
132
128
|
|
@@ -140,7 +136,7 @@ private
|
|
140
136
|
when 1 then block.call(ARGV.delete_at(index))
|
141
137
|
when 0 then block.call
|
142
138
|
else
|
143
|
-
|
139
|
+
die
|
144
140
|
end
|
145
141
|
end
|
146
142
|
end
|
@@ -151,41 +147,43 @@ end
|
|
151
147
|
# script, we have to instead rely on a different condition.
|
152
148
|
if File.basename($0) == "dep"
|
153
149
|
|
154
|
-
Dep::CLI.
|
155
|
-
|
150
|
+
cli = Dep::CLI.new
|
151
|
+
|
152
|
+
cli.file = File.join(Dir.pwd, ".gems")
|
153
|
+
cli.prerelease = false
|
156
154
|
|
157
155
|
on("-f") do |file|
|
158
|
-
|
156
|
+
cli.file = file
|
159
157
|
end
|
160
158
|
|
161
159
|
on("--pre") do
|
162
|
-
|
160
|
+
cli.prerelease = true
|
163
161
|
end
|
164
162
|
|
165
163
|
on("--help") do
|
166
|
-
|
167
|
-
#
|
164
|
+
|
165
|
+
# We can't use DATA.read because rubygems does a wrapper script.
|
168
166
|
help = File.read(__FILE__).split(/^__END__/)[1]
|
169
167
|
|
170
168
|
IO.popen("less", "w") { |f| f.write(help) }
|
171
169
|
exit
|
172
170
|
end
|
173
171
|
|
174
|
-
|
172
|
+
cli.list = Dep::List.new(cli.file)
|
175
173
|
|
176
|
-
FileUtils.touch(
|
174
|
+
FileUtils.touch(cli.list.path) unless File.exist?(cli.list.path)
|
177
175
|
|
178
176
|
case ARGV[0]
|
179
177
|
when "add"
|
180
|
-
|
178
|
+
cli.add(ARGV[1])
|
181
179
|
when "rm"
|
182
|
-
|
180
|
+
cli.rm(ARGV[1])
|
183
181
|
when "install", "i"
|
184
|
-
|
182
|
+
cli.install
|
185
183
|
when nil
|
186
|
-
|
184
|
+
cli.check
|
187
185
|
else
|
188
|
-
|
186
|
+
die
|
189
187
|
end
|
190
188
|
|
191
189
|
end
|
data/test/dep.rb
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
require "cutest"
|
2
|
+
require "override"
|
2
3
|
|
3
4
|
load File.expand_path("../../bin/dep", __FILE__)
|
4
5
|
|
6
|
+
class Cutest::Scope
|
7
|
+
include Override
|
8
|
+
end
|
9
|
+
|
5
10
|
# Dep::Lib
|
6
11
|
scope do
|
7
12
|
test "parsing" do
|
@@ -23,7 +28,7 @@ scope do
|
|
23
28
|
|
24
29
|
test "to_s" do
|
25
30
|
lib = Dep::Lib.new("cutest", "1.1.3")
|
26
|
-
assert_equal "cutest
|
31
|
+
assert_equal "cutest:1.1.3", lib.to_s
|
27
32
|
end
|
28
33
|
end
|
29
34
|
|
@@ -51,3 +56,28 @@ scope do
|
|
51
56
|
assert list.libraries.include?(Dep::Lib.new("cutest", "2.0"))
|
52
57
|
end
|
53
58
|
end
|
59
|
+
|
60
|
+
# Dep::CLI
|
61
|
+
scope do
|
62
|
+
setup do
|
63
|
+
list = Dep::List.new("/dev/null")
|
64
|
+
|
65
|
+
list.add(Dep::Lib.new("foo", "2.0"))
|
66
|
+
list.add(Dep::Lib.new("bar", "1.1"))
|
67
|
+
|
68
|
+
commands = []
|
69
|
+
|
70
|
+
cli = Dep::CLI.new
|
71
|
+
cli.list = list
|
72
|
+
|
73
|
+
override(cli, run: -> args { commands << args })
|
74
|
+
|
75
|
+
[cli, commands]
|
76
|
+
end
|
77
|
+
|
78
|
+
test "install" do |cli, commands|
|
79
|
+
cli.install
|
80
|
+
|
81
|
+
assert_equal ["gem install foo:2.0 bar:1.1"], commands
|
82
|
+
end
|
83
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril David
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Specify your project's dependencies in one file.
|
15
15
|
email:
|
@@ -31,17 +31,17 @@ require_paths:
|
|
31
31
|
- lib
|
32
32
|
required_ruby_version: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- -
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: '0'
|
37
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
requirements: []
|
43
43
|
rubyforge_project:
|
44
|
-
rubygems_version: 2.
|
44
|
+
rubygems_version: 2.2.2
|
45
45
|
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: Dependencies manager
|