depcheck 0.4.0 → 0.5.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/Gemfile.lock +1 -1
- data/lib/depcheck.rb +12 -0
- data/lib/depcheck/command/analyze_command.rb +1 -8
- data/lib/depcheck/command/graph_command.rb +3 -9
- data/lib/depcheck/command/usage_command.rb +1 -8
- data/lib/depcheck/finder.rb +4 -2
- data/lib/depcheck/output/graph_output.rb +7 -5
- data/lib/depcheck/version.rb +1 -1
- data/spec/finder_spec.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: c558e2904326c13fd7718ecd80cd37175758ce54
|
4
|
+
data.tar.gz: 572d6f5de9aa9c05ad1e29f692a5ac97dabacbd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c0f4d9824285f6c3142caea66c8567f7200c55c814e127082173d11d56ff621ee40b06caa48cfbd958695d81e3c6a7e0363c2daeec3f023cbd0311579d190cc
|
7
|
+
data.tar.gz: fb7bd2bd10a28215cc2408acc00db37c9162350352a3ce4e68c5f49863d16988b37873b9dba1a8c163409417e8986aa4ae566354c8f9a6979ed11c2971e51490
|
data/Gemfile.lock
CHANGED
data/lib/depcheck.rb
CHANGED
@@ -3,8 +3,20 @@ require 'depcheck/analyzer'
|
|
3
3
|
require 'depcheck/dependency_info'
|
4
4
|
require 'depcheck/output/simple_output'
|
5
5
|
require 'depcheck/output/graph_output'
|
6
|
+
require 'depcheck/version'
|
6
7
|
|
7
8
|
module Depcheck
|
8
9
|
Encoding.default_external = 'utf-8'
|
9
10
|
|
11
|
+
def self.run(project, workspace, scheme)
|
12
|
+
|
13
|
+
unless project || (workspace && scheme)
|
14
|
+
raise StandardError, 'Must provide project path or workspace path with scheme.'
|
15
|
+
end
|
16
|
+
|
17
|
+
swiftdeps = Depcheck::Finder.find_swiftdeps(project, workspace, scheme)
|
18
|
+
analyzer = Depcheck::Analyzer.new
|
19
|
+
results = analyzer.generate_dependencies(swiftdeps)
|
20
|
+
end
|
21
|
+
|
10
22
|
end
|
@@ -5,14 +5,7 @@ class AnalyzeCommand < Clamp::Command
|
|
5
5
|
option ["--verbose", "-v"], :flag, "Enable verbose mode"
|
6
6
|
|
7
7
|
def execute
|
8
|
-
|
9
|
-
unless project || (workspace && scheme)
|
10
|
-
raise StandardError, 'Must provide project path or workspace path with scheme.'
|
11
|
-
end
|
12
|
-
|
13
|
-
swiftdeps = Depcheck::Finder.find_swiftdeps(project, workspace, scheme)
|
14
|
-
analyzer = Depcheck::Analyzer.new
|
15
|
-
results = analyzer.generate_dependencies(swiftdeps)
|
8
|
+
results = Depcheck.run(project, workspace, scheme)
|
16
9
|
Depcheck::SimpleOutput.post(results, verbose?)
|
17
10
|
end
|
18
11
|
|
@@ -3,18 +3,12 @@ class GraphCommand < Clamp::Command
|
|
3
3
|
option ['--scheme'], 'SCHEME', 'The scheme that the project was built in'
|
4
4
|
option ['--workspace'], 'WORKSPACE', 'Path to the workspace'
|
5
5
|
option ["--include"], "INCLUDE", "Regexp of classes that will be shown on graph"
|
6
|
+
option ["--dot", "-d"], :flag, "Export dot file"
|
6
7
|
|
7
8
|
def execute
|
8
|
-
|
9
|
-
unless project || (workspace && scheme)
|
10
|
-
raise StandardError, 'Must provide project path or workspace path with scheme.'
|
11
|
-
end
|
12
|
-
|
13
|
-
swiftdeps = Depcheck::Finder.find_swiftdeps(project, workspace, scheme)
|
14
|
-
analyzer = Depcheck::Analyzer.new
|
15
|
-
results = analyzer.generate_dependencies(swiftdeps)
|
9
|
+
results = Depcheck.run(project, workspace, scheme)
|
16
10
|
output = Depcheck::GraphOutput.new
|
17
|
-
output.post(results, include)
|
11
|
+
output.post(results, include, dot?)
|
18
12
|
end
|
19
13
|
|
20
14
|
end
|
@@ -4,14 +4,7 @@ class UsageCommand < Clamp::Command
|
|
4
4
|
option ['--workspace'], 'WORKSPACE', 'Path to the workspace'
|
5
5
|
|
6
6
|
def execute
|
7
|
-
|
8
|
-
unless project || (workspace && scheme)
|
9
|
-
raise StandardError, 'Must provide project path or workspace path with scheme.'
|
10
|
-
end
|
11
|
-
|
12
|
-
swiftdeps = Depcheck::Finder.find_swiftdeps(project, workspace, scheme)
|
13
|
-
analyzer = Depcheck::Analyzer.new
|
14
|
-
results = analyzer.generate_dependencies(swiftdeps)
|
7
|
+
results = Depcheck.run(project, workspace, scheme)
|
15
8
|
Depcheck::SimpleOutput.post_usage(results)
|
16
9
|
end
|
17
10
|
|
data/lib/depcheck/finder.rb
CHANGED
@@ -5,9 +5,11 @@ module Depcheck
|
|
5
5
|
arg = if project
|
6
6
|
"-project \"#{project}\""
|
7
7
|
else
|
8
|
-
"-workspace \"#{workspace}\"
|
8
|
+
"-workspace \"#{workspace}\""
|
9
9
|
end
|
10
10
|
|
11
|
+
arg+= " -scheme \"#{scheme}\"" if scheme
|
12
|
+
|
11
13
|
build_settings = `xcodebuild #{arg} -showBuildSettings build CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO`
|
12
14
|
raise StandardError until $?.success?
|
13
15
|
|
@@ -15,7 +17,7 @@ module Depcheck
|
|
15
17
|
project_name = build_settings.match(/ PROJECT_NAME = (.+)/)[1]
|
16
18
|
target_name = build_settings.match(/ TARGET_NAME = (.+)/)[1]
|
17
19
|
|
18
|
-
"#{derived_data_path}/#{project_name}.build/**/#{target_name}
|
20
|
+
"#{derived_data_path}/#{project_name}.build/**/#{target_name}*.build"
|
19
21
|
end
|
20
22
|
|
21
23
|
def self.find_swiftdeps(project, workspace, scheme)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Depcheck
|
2
2
|
class GraphOutput
|
3
3
|
|
4
|
-
def post(objs, include)
|
4
|
+
def post(objs, include, dot)
|
5
5
|
|
6
6
|
# installs graphviz if needed
|
7
7
|
system 'brew install graphviz' unless graphviz_installed?
|
@@ -21,10 +21,12 @@ module Depcheck
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# run dot command
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
if dot
|
25
|
+
`dot -T png #{file_name}.dot`
|
26
|
+
elsif
|
27
|
+
`dot -T png #{file_name}.dot > #{file_name}.png && open #{file_name}.png`
|
28
|
+
File.delete("#{file_name}.dot")
|
29
|
+
end
|
28
30
|
end
|
29
31
|
|
30
32
|
def generate_graph_description(objs, include)
|
data/lib/depcheck/version.rb
CHANGED
data/spec/finder_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: depcheck
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wojciech Lukaszuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|