dep 1.0.8 → 1.0.9
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 +4 -4
- data/bin/dep +30 -28
- data/test/dep.rb +1 -31
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e524ea44c406b91aee8bd1dd52818bc1cbd9a4d9
|
4
|
+
data.tar.gz: 95272d72184f135265f22263f1eb773b72431fd8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 188c63e82626083d79b8e230141cc6a80813009e3b3fe06eab692dd69fc579d73f21677f88098e1d707b53b39c48b4f08eda761b3c23f7932c0dc08fa94bc9ea
|
7
|
+
data.tar.gz: 65e035c49b90bc187f3a4b8cac9b711d94971b90828f56d58d95543faca01843c9fbdc9bcb339aad139764f6bdc2b3ae0b835b38c56f1c1b13396fe3b902d244
|
data/bin/dep
CHANGED
@@ -2,10 +2,6 @@
|
|
2
2
|
|
3
3
|
require "fileutils"
|
4
4
|
|
5
|
-
def die
|
6
|
-
abort("error: dep --help for more info")
|
7
|
-
end
|
8
|
-
|
9
5
|
module Dep
|
10
6
|
class List
|
11
7
|
attr :path
|
@@ -42,7 +38,7 @@ module Dep
|
|
42
38
|
|
43
39
|
class Lib < Struct.new(:name, :version)
|
44
40
|
def self.[](line)
|
45
|
-
if line.strip =~ /^(\S+)
|
41
|
+
if line.strip =~ /^(\S+) -v (\S+)$/
|
46
42
|
return new($1, $2)
|
47
43
|
else
|
48
44
|
abort("Invalid requirement found: #{line}")
|
@@ -56,7 +52,7 @@ module Dep
|
|
56
52
|
end
|
57
53
|
|
58
54
|
def to_s
|
59
|
-
"#{name}
|
55
|
+
"#{name} -v #{version}"
|
60
56
|
end
|
61
57
|
|
62
58
|
def ==(other)
|
@@ -64,10 +60,12 @@ module Dep
|
|
64
60
|
end
|
65
61
|
end
|
66
62
|
|
67
|
-
|
68
|
-
|
63
|
+
module CLI
|
64
|
+
class << self
|
65
|
+
attr_accessor :prerelease, :list, :file
|
66
|
+
end
|
69
67
|
|
70
|
-
def add(name)
|
68
|
+
def self.add(name)
|
71
69
|
dependency = Gem::Dependency.new(name)
|
72
70
|
fetcher = Gem::SpecFetcher.fetcher
|
73
71
|
|
@@ -89,14 +87,14 @@ module Dep
|
|
89
87
|
puts "dep: added #{lib}"
|
90
88
|
end
|
91
89
|
|
92
|
-
def rm(name)
|
90
|
+
def self.rm(name)
|
93
91
|
@list.remove(Dep::Lib.new(name))
|
94
92
|
@list.save
|
95
93
|
|
96
94
|
puts "dep: removed #{name}"
|
97
95
|
end
|
98
96
|
|
99
|
-
def check
|
97
|
+
def self.check
|
100
98
|
if @list.missing_libraries.empty?
|
101
99
|
puts "dep: all cool"
|
102
100
|
else
|
@@ -110,19 +108,25 @@ module Dep
|
|
110
108
|
end
|
111
109
|
end
|
112
110
|
|
113
|
-
def install
|
111
|
+
def self.install
|
114
112
|
if @list.missing_libraries.empty?
|
115
113
|
puts "dep: nothing to install"
|
116
114
|
exit
|
117
115
|
end
|
118
116
|
|
119
|
-
|
117
|
+
@list.missing_libraries.each do |lib|
|
118
|
+
run "gem install #{lib}"
|
119
|
+
end
|
120
120
|
end
|
121
121
|
|
122
|
-
def run(cmd)
|
122
|
+
def self.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
|
126
130
|
end
|
127
131
|
end
|
128
132
|
|
@@ -136,7 +140,7 @@ private
|
|
136
140
|
when 1 then block.call(ARGV.delete_at(index))
|
137
141
|
when 0 then block.call
|
138
142
|
else
|
139
|
-
|
143
|
+
Dep::CLI.abort
|
140
144
|
end
|
141
145
|
end
|
142
146
|
end
|
@@ -147,17 +151,15 @@ end
|
|
147
151
|
# script, we have to instead rely on a different condition.
|
148
152
|
if File.basename($0) == "dep"
|
149
153
|
|
150
|
-
|
151
|
-
|
152
|
-
cli.file = File.join(Dir.pwd, ".gems")
|
153
|
-
cli.prerelease = false
|
154
|
+
Dep::CLI.file = File.join(Dir.pwd, ".gems")
|
155
|
+
Dep::CLI.prerelease = false
|
154
156
|
|
155
157
|
on("-f") do |file|
|
156
|
-
|
158
|
+
Dep::CLI.file = file
|
157
159
|
end
|
158
160
|
|
159
161
|
on("--pre") do
|
160
|
-
|
162
|
+
Dep::CLI.prerelease = true
|
161
163
|
end
|
162
164
|
|
163
165
|
on("--help") do
|
@@ -169,21 +171,21 @@ if File.basename($0) == "dep"
|
|
169
171
|
exit
|
170
172
|
end
|
171
173
|
|
172
|
-
|
174
|
+
Dep::CLI.list = Dep::List.new(Dep::CLI.file)
|
173
175
|
|
174
|
-
FileUtils.touch(
|
176
|
+
FileUtils.touch(Dep::CLI.list.path) unless File.exist?(Dep::CLI.list.path)
|
175
177
|
|
176
178
|
case ARGV[0]
|
177
179
|
when "add"
|
178
|
-
|
180
|
+
Dep::CLI.add(ARGV[1])
|
179
181
|
when "rm"
|
180
|
-
|
182
|
+
Dep::CLI.rm(ARGV[1])
|
181
183
|
when "install", "i"
|
182
|
-
|
184
|
+
Dep::CLI.install
|
183
185
|
when nil
|
184
|
-
|
186
|
+
Dep::CLI.check
|
185
187
|
else
|
186
|
-
|
188
|
+
Dep::CLI.abort
|
187
189
|
end
|
188
190
|
|
189
191
|
end
|
data/test/dep.rb
CHANGED
@@ -1,12 +1,7 @@
|
|
1
1
|
require "cutest"
|
2
|
-
require "override"
|
3
2
|
|
4
3
|
load File.expand_path("../../bin/dep", __FILE__)
|
5
4
|
|
6
|
-
class Cutest::Scope
|
7
|
-
include Override
|
8
|
-
end
|
9
|
-
|
10
5
|
# Dep::Lib
|
11
6
|
scope do
|
12
7
|
test "parsing" do
|
@@ -28,7 +23,7 @@ scope do
|
|
28
23
|
|
29
24
|
test "to_s" do
|
30
25
|
lib = Dep::Lib.new("cutest", "1.1.3")
|
31
|
-
assert_equal "cutest
|
26
|
+
assert_equal "cutest -v 1.1.3", lib.to_s
|
32
27
|
end
|
33
28
|
end
|
34
29
|
|
@@ -56,28 +51,3 @@ scope do
|
|
56
51
|
assert list.libraries.include?(Dep::Lib.new("cutest", "2.0"))
|
57
52
|
end
|
58
53
|
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
|