6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/depcheck/analyzer.rb', line 6
def self.generate_dependencies(swiftdeps)
results = []
usage = {}
swiftdeps.each do |my_text_file|
begin
dependencies = YAML.load_file(my_text_file)
rescue
next
end
provides = dependencies['provides-top-level']
nominals = dependencies['provides-nominal']
depends = dependencies['depends-top-level'] || []
depends_member = dependencies['depends-member'] || []
if provides.nil? || nominals.nil? || provides.count != nominals.count
next
end
provides.zip(nominals).each do |name, nominal|
dependencies = []
depends_member.each do |d|
if d[0] == nominal && depends.include?(d[1]) && valid_dep?(d[1])
dependencies << d[1]
usage[d[1]] = usage[d[1]].to_i + 1
end
end
results << DependencyInfo.new(name, nominal, dependencies)
end
end
results.each do |r|
value = usage[r.name]
r.usage = value if value
end
results
end
|