dep_check 0.1.0 → 0.2.0
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/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
|