dep_check 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/depcheck +1 -2
- data/lib/dep_check/DepChecker.rb +25 -15
- data/lib/dep_check/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2dfae36246fb3711d7b53c99280fd6917b923244
|
4
|
+
data.tar.gz: 2029685901f3de4e2950c7230864e34e459d54a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1333b140a1b0dd1bd7928eee5c87311f4c158c74cea5edb76d49d7d9075c82b5aa65586697bb2ad85ed0fae29c1f89a287d2622a4e2af702e19b0146cd56f11
|
7
|
+
data.tar.gz: f280257f0ad8aca6dfbc7de321b6dde620c491d6751962841defcfd947bda99ef81e46d18ddbfb09349b3b60780d859495ff2302396f1214fba6df35e65ae923
|
data/bin/depcheck
CHANGED
data/lib/dep_check/DepChecker.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
module DepCheck
|
11
11
|
class DepChecker < CLAide::Command
|
12
12
|
|
13
|
-
self.abstract_command =
|
13
|
+
self.abstract_command = false
|
14
14
|
|
15
15
|
self.description = <<-DESC
|
16
16
|
cocoapods依赖关系校验. 查找循环依赖路径/构建模块依赖关系图.
|
@@ -21,7 +21,6 @@ module DepCheck
|
|
21
21
|
|
22
22
|
def self.options
|
23
23
|
[
|
24
|
-
['--repo=[master|other_repo_name]', 'Use a cocoapods spec repo to run the check, defaults to master'],
|
25
24
|
['--repo-update', 'Fetch external podspecs and run `pod repo update` before calculating the dependency graph'],
|
26
25
|
['--graphviz', 'Outputs the dependency graph in Graphviz format to <podspec name>.gv or Podfile.gv'],
|
27
26
|
['--image', 'Outputs the dependency graph as an image to <podsepc name>.png or Podfile.png'],
|
@@ -30,45 +29,54 @@ module DepCheck
|
|
30
29
|
|
31
30
|
def self.arguments
|
32
31
|
[
|
33
|
-
CLAide::Argument.new('
|
32
|
+
CLAide::Argument.new('PODSPEC_NAME', true),
|
33
|
+
CLAide::Argument.new('REPO_NAME', false)
|
34
34
|
].concat(super)
|
35
35
|
end
|
36
36
|
|
37
37
|
def initialize(argv)
|
38
|
+
puts "initialize in checker"
|
38
39
|
@podspec_name = argv.shift_argument
|
39
|
-
@repo_name = argv.
|
40
|
+
@repo_name = argv.shift_argument
|
40
41
|
@repo_update = argv.flag?('repo-update', false)
|
41
42
|
@produce_graphviz_output = argv.flag?('graphviz', false)
|
42
43
|
@produce_image_output = argv.flag?('image', false)
|
44
|
+
if @repo_name
|
45
|
+
@repo = Pod::SourcesManager.sources([@repo_name]).first
|
46
|
+
else
|
47
|
+
@repo = Pod::SourcesManager.sources(['master']).first
|
48
|
+
end
|
43
49
|
super
|
44
50
|
end
|
45
51
|
|
46
52
|
def validate!
|
47
|
-
super
|
53
|
+
super
|
48
54
|
if @podspec_name
|
49
55
|
require 'pathname'
|
50
56
|
path = Pathname.new(@podspec_name)
|
51
57
|
if path.exist?
|
52
|
-
@podspec = Specification.from_file(path)
|
58
|
+
@podspec = Pod::Specification.from_file(path)
|
53
59
|
else
|
54
|
-
@podspec = SourcesManager.
|
55
|
-
search(Dependency.new(@podspec_name)).
|
56
|
-
specification.
|
57
|
-
subspec_by_name(@podspec_name)
|
60
|
+
@podspec = Pod::SourcesManager.search(Pod::Dependency.new(@podspec_name)).specification.subspec_by_name(@podspec_name)
|
58
61
|
end
|
62
|
+
Pod::UI.puts "Analyzing #{@podspec} (in repo #{@repo})..."
|
63
|
+
else
|
64
|
+
raise 'Nothing to check. '
|
59
65
|
end
|
60
|
-
if (@produce_image_output || @produce_graphviz_output) && Executable.which('dot').nil?
|
66
|
+
if (@produce_image_output || @produce_graphviz_output) && Pod::Executable.which('dot').nil?
|
61
67
|
raise Informative, 'GraphViz must be installed and `dot` must be in ' \
|
62
68
|
'$PATH to produce image or graphviz output.'
|
63
69
|
end
|
70
|
+
|
64
71
|
end
|
65
72
|
|
66
73
|
|
67
74
|
def run
|
75
|
+
puts "run in checker"
|
68
76
|
builded = []
|
69
77
|
Pod::UI.puts "1. Buiding dependency graph for #{@podspec_name}... \n ".green
|
70
78
|
Pod::UI.puts "All dependencies : \n".blue
|
71
|
-
dep_graph_build(@
|
79
|
+
Pod::UI.puts dep_graph_build(@repo,@podspec,builded,[])
|
72
80
|
Pod::UI.puts "Done! \n".blue
|
73
81
|
|
74
82
|
|
@@ -88,9 +96,9 @@ module DepCheck
|
|
88
96
|
if @produce_image_output || @produce_graphviz_output
|
89
97
|
Pod::UI.puts "3. Visualizing graph for #{@podspec_name}... \n".green
|
90
98
|
end
|
91
|
-
|
99
|
+
graph_image_out(graphviz_data(builded,@podspec_name),@podspec_name) if @produce_image_output
|
92
100
|
graph_dot_output(graphviz_data(builded,@podspec_name),@podspec_name) if @produce_graphviz_output
|
93
|
-
|
101
|
+
Pod::UI.puts "Done. \n".blue
|
94
102
|
end
|
95
103
|
|
96
104
|
|
@@ -188,16 +196,18 @@ module DepCheck
|
|
188
196
|
# 以.png格式输出一个依赖关系图
|
189
197
|
def graph_image_out(graph, output_file_basename)
|
190
198
|
graph.output( :png => "#{output_file_basename}.png")
|
199
|
+
Pod::UI.puts "Graph file: #{output_file_basename}.png... \n"
|
191
200
|
end
|
192
201
|
|
193
202
|
|
194
203
|
# 以.gv格式输出一个依赖关系图
|
195
204
|
def graph_dot_output(graph, output_file_basename)
|
196
205
|
graph.output( :dot => "#{output_file_basename}.gv")
|
206
|
+
Pod::UI.puts "Graph file: #{output_file_basename}.gv... \n"
|
197
207
|
end
|
198
208
|
|
199
209
|
end
|
200
210
|
end
|
201
211
|
|
202
|
-
|
212
|
+
# DepCheck::DepChecker.run(['APShareKit','alipay'])
|
203
213
|
|
data/lib/dep_check/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dep_check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 卡迩
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|