depcheck 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +50 -0
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock +37 -0
  5. data/LICENSE +21 -0
  6. data/README.md +48 -0
  7. data/Rakefile +6 -0
  8. data/bin/depcheck +16 -0
  9. data/depcheck.gemspec +25 -0
  10. data/example/Example.xcodeproj/project.pbxproj +323 -0
  11. data/example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  12. data/example/Example.xcodeproj/project.xcworkspace/xcuserdata/wojtek.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  13. data/example/Example.xcodeproj/xcuserdata/wojtek.xcuserdatad/xcschemes/Example.xcscheme +91 -0
  14. data/example/Example.xcodeproj/xcuserdata/wojtek.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
  15. data/example/Example/AppDelegate.swift +16 -0
  16. data/example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +73 -0
  17. data/example/Example/Base.lproj/LaunchScreen.storyboard +27 -0
  18. data/example/Example/Base.lproj/Main.storyboard +26 -0
  19. data/example/Example/Info.plist +47 -0
  20. data/example/Example/Models/Model1.swift +14 -0
  21. data/example/Example/Models/Model2.swift +13 -0
  22. data/example/Example/Models/Model3.swift +13 -0
  23. data/example/Example/Models/Model4.swift +13 -0
  24. data/example/Example/Models/Model5.swift +15 -0
  25. data/example/Example/ViewController.swift +19 -0
  26. data/example/analyze.png +0 -0
  27. data/example/usage.png +0 -0
  28. data/lib/depcheck.rb +9 -0
  29. data/lib/depcheck/analyzer.rb +59 -0
  30. data/lib/depcheck/command/analyze_command.rb +17 -0
  31. data/lib/depcheck/command/usage_command.rb +17 -0
  32. data/lib/depcheck/command/version_command.rb +6 -0
  33. data/lib/depcheck/dependency_info.rb +13 -0
  34. data/lib/depcheck/finder.rb +33 -0
  35. data/lib/depcheck/output/simple_output.rb +21 -0
  36. data/lib/depcheck/version.rb +3 -0
  37. metadata +136 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 931b0aa1d777842d8b1b92f97ab9e03e13fdb0b9
4
+ data.tar.gz: b19e7d76509d680c1edd90423dcf5af05791a0ff
5
+ SHA512:
6
+ metadata.gz: f4caa08393f8ffefaea97e3847204c9cd19471120b26340e73348964657db8b6b022ad915d9c62bcfb963b60e2a5705fbe147a5e66533e2d44cbf82719d23156
7
+ data.tar.gz: 224759b1d0d5d15881193fed02cefbf4ee7d5f1e3f573f47845e85659acc983971e3de5993a20e793c4cb0fc1f87ba33a10ea822a835b42848f1453c3be97b0e
data/.gitignore ADDED
@@ -0,0 +1,50 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ ## Specific to RubyMotion:
17
+ .dat*
18
+ .repl_history
19
+ build/
20
+ *.bridgesupport
21
+ build-iPhoneOS/
22
+ build-iPhoneSimulator/
23
+
24
+ ## Specific to RubyMotion (use of CocoaPods):
25
+ #
26
+ # We recommend against adding the Pods directory to your .gitignore. However
27
+ # you should judge for yourself, the pros and cons are mentioned at:
28
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
29
+ #
30
+ # vendor/Pods/
31
+
32
+ ## Documentation cache and generated files:
33
+ /.yardoc/
34
+ /_yardoc/
35
+ /doc/
36
+ /rdoc/
37
+
38
+ ## Environment normalization:
39
+ /.bundle/
40
+ /vendor/bundle
41
+ /lib/bundler/man/
42
+
43
+ # for a library or gem, you might want to ignore these files since the code is
44
+ # intended to run in multiple environments; otherwise, check them in:
45
+ # Gemfile.lock
46
+ # .ruby-version
47
+ # .ruby-gemset
48
+
49
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
+ .rvmrc
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'rspec', '~> 3.4'
data/Gemfile.lock ADDED
@@ -0,0 +1,37 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ depcheck (0.1.0)
5
+ clamp (~> 0.6)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ clamp (0.6.5)
11
+ diff-lcs (1.2.5)
12
+ rake (10.5.0)
13
+ rspec (3.5.0)
14
+ rspec-core (~> 3.5.0)
15
+ rspec-expectations (~> 3.5.0)
16
+ rspec-mocks (~> 3.5.0)
17
+ rspec-core (3.5.1)
18
+ rspec-support (~> 3.5.0)
19
+ rspec-expectations (3.5.0)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.5.0)
22
+ rspec-mocks (3.5.0)
23
+ diff-lcs (>= 1.2.0, < 2.0)
24
+ rspec-support (~> 3.5.0)
25
+ rspec-support (3.5.0)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ bundler (~> 1.6)
32
+ depcheck!
33
+ rake (~> 10.4)
34
+ rspec (~> 3.4)
35
+
36
+ BUNDLED WITH
37
+ 1.11.2
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2016 Wojtek Lukaszuk
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # Depcheck
2
+
3
+ `Depcheck` is a dependency analyzer tool for Swift projects. `Depcheck` reports dependencies per class, allowing you to easily detect classes that have too many dependencies. `Depcheck` can also report how many dependants a class have. Therefore you can spot the most used and unused classes.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'depcheck'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```sh
16
+ $ bundle
17
+ ```
18
+
19
+ Or install the gem:
20
+
21
+ ```sh
22
+ gem install depcheck
23
+ ```
24
+
25
+ ## Usage
26
+
27
+ `Analyze` command reports dependencies per classes. `Usage` command reports how many dependants a class have.
28
+
29
+ Build your project, and then run:
30
+
31
+ ```sh
32
+ $ depcheck analyze --project path/to/project.xcodeproj
33
+
34
+ ```
35
+
36
+ If you use a workspace in Xcode you need to specify it:
37
+
38
+ ```sh
39
+ $ depcheck analyze --workspace path/to/workspace.xcworkspace --scheme YourXcodeSchemeName
40
+ ```
41
+
42
+ ## Contributing
43
+
44
+ I’d love to see your ideas for improving this library! The best way to contribute is by submitting a pull request. I’ll do our best to respond to your patch as soon as possible. You can also submit a [new GitHub issue](https://github.com/wojteklu/depcheck/issues/new) if you find bugs or have questions.
45
+
46
+ ## License
47
+
48
+ This project is licensed under the terms of the MIT license. See the LICENSE file.
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
data/bin/depcheck ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ require 'clamp'
3
+ require 'yaml'
4
+ require_relative '../lib/depcheck'
5
+ require_relative '../lib/depcheck/command/analyze_command'
6
+ require_relative '../lib/depcheck/command/usage_command'
7
+ require_relative '../lib/depcheck/command/version_command'
8
+
9
+ class MainCommand < Clamp::Command
10
+
11
+ subcommand 'analyze', 'Reports dependencies per class', AnalyzeCommand
12
+ subcommand 'usage', 'Reports how many dependants a class have', UsageCommand
13
+ subcommand 'version', 'Prints depcheck version', VersionCommand
14
+ end
15
+
16
+ MainCommand.run
data/depcheck.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'depcheck/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'depcheck'
8
+ spec.version = Depcheck::VERSION
9
+ spec.authors = ['Wojciech Lukaszuk']
10
+ spec.email = ['wojciech.lukaszuk@icloud.com']
11
+ spec.summary = 'Dependency analyzer tool for Swift projects'
12
+ spec.homepage = 'https://github.com/wojteklu/depcheck'
13
+ spec.license = 'MIT'
14
+ spec.files = `git ls-files -z`.split("\x0")
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ['lib']
18
+
19
+ spec.add_development_dependency 'bundler', '~> 1.6'
20
+ spec.add_development_dependency 'rake', '~> 10.4'
21
+ spec.add_development_dependency 'rspec', '~> 3.4'
22
+
23
+ spec.add_dependency 'clamp', '~> 0.6'
24
+
25
+ end
@@ -0,0 +1,323 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 2E845E1A1D638EFE0040B44C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E191D638EFE0040B44C /* AppDelegate.swift */; };
11
+ 2E845E1C1D638EFE0040B44C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E1B1D638EFE0040B44C /* ViewController.swift */; };
12
+ 2E845E1F1D638EFE0040B44C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2E845E1D1D638EFE0040B44C /* Main.storyboard */; };
13
+ 2E845E211D638EFE0040B44C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2E845E201D638EFE0040B44C /* Assets.xcassets */; };
14
+ 2E845E241D638EFE0040B44C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2E845E221D638EFE0040B44C /* LaunchScreen.storyboard */; };
15
+ 2E845E331D638FD20040B44C /* Model1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E2E1D638FD20040B44C /* Model1.swift */; };
16
+ 2E845E341D638FD20040B44C /* Model2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E2F1D638FD20040B44C /* Model2.swift */; };
17
+ 2E845E351D638FD20040B44C /* Model3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E301D638FD20040B44C /* Model3.swift */; };
18
+ 2E845E361D638FD20040B44C /* Model4.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E311D638FD20040B44C /* Model4.swift */; };
19
+ 2E845E371D638FD20040B44C /* Model5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E845E321D638FD20040B44C /* Model5.swift */; };
20
+ /* End PBXBuildFile section */
21
+
22
+ /* Begin PBXFileReference section */
23
+ 2E845E161D638EFE0040B44C /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
24
+ 2E845E191D638EFE0040B44C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
25
+ 2E845E1B1D638EFE0040B44C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
26
+ 2E845E1E1D638EFE0040B44C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
27
+ 2E845E201D638EFE0040B44C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
28
+ 2E845E231D638EFE0040B44C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
29
+ 2E845E251D638EFE0040B44C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
30
+ 2E845E2E1D638FD20040B44C /* Model1.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Model1.swift; path = Models/Model1.swift; sourceTree = "<group>"; };
31
+ 2E845E2F1D638FD20040B44C /* Model2.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Model2.swift; path = Models/Model2.swift; sourceTree = "<group>"; };
32
+ 2E845E301D638FD20040B44C /* Model3.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Model3.swift; path = Models/Model3.swift; sourceTree = "<group>"; };
33
+ 2E845E311D638FD20040B44C /* Model4.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Model4.swift; path = Models/Model4.swift; sourceTree = "<group>"; };
34
+ 2E845E321D638FD20040B44C /* Model5.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Model5.swift; path = Models/Model5.swift; sourceTree = "<group>"; };
35
+ /* End PBXFileReference section */
36
+
37
+ /* Begin PBXFrameworksBuildPhase section */
38
+ 2E845E131D638EFE0040B44C /* Frameworks */ = {
39
+ isa = PBXFrameworksBuildPhase;
40
+ buildActionMask = 2147483647;
41
+ files = (
42
+ );
43
+ runOnlyForDeploymentPostprocessing = 0;
44
+ };
45
+ /* End PBXFrameworksBuildPhase section */
46
+
47
+ /* Begin PBXGroup section */
48
+ 2E845E0D1D638EFE0040B44C = {
49
+ isa = PBXGroup;
50
+ children = (
51
+ 2E845E181D638EFE0040B44C /* Example */,
52
+ 2E845E171D638EFE0040B44C /* Products */,
53
+ );
54
+ sourceTree = "<group>";
55
+ };
56
+ 2E845E171D638EFE0040B44C /* Products */ = {
57
+ isa = PBXGroup;
58
+ children = (
59
+ 2E845E161D638EFE0040B44C /* Example.app */,
60
+ );
61
+ name = Products;
62
+ sourceTree = "<group>";
63
+ };
64
+ 2E845E181D638EFE0040B44C /* Example */ = {
65
+ isa = PBXGroup;
66
+ children = (
67
+ 2E845E2B1D638F680040B44C /* Models */,
68
+ 2E845E191D638EFE0040B44C /* AppDelegate.swift */,
69
+ 2E845E1B1D638EFE0040B44C /* ViewController.swift */,
70
+ 2E845E1D1D638EFE0040B44C /* Main.storyboard */,
71
+ 2E845E201D638EFE0040B44C /* Assets.xcassets */,
72
+ 2E845E221D638EFE0040B44C /* LaunchScreen.storyboard */,
73
+ 2E845E251D638EFE0040B44C /* Info.plist */,
74
+ );
75
+ path = Example;
76
+ sourceTree = "<group>";
77
+ };
78
+ 2E845E2B1D638F680040B44C /* Models */ = {
79
+ isa = PBXGroup;
80
+ children = (
81
+ 2E845E2E1D638FD20040B44C /* Model1.swift */,
82
+ 2E845E2F1D638FD20040B44C /* Model2.swift */,
83
+ 2E845E301D638FD20040B44C /* Model3.swift */,
84
+ 2E845E311D638FD20040B44C /* Model4.swift */,
85
+ 2E845E321D638FD20040B44C /* Model5.swift */,
86
+ );
87
+ name = Models;
88
+ sourceTree = "<group>";
89
+ };
90
+ /* End PBXGroup section */
91
+
92
+ /* Begin PBXNativeTarget section */
93
+ 2E845E151D638EFE0040B44C /* Example */ = {
94
+ isa = PBXNativeTarget;
95
+ buildConfigurationList = 2E845E281D638EFE0040B44C /* Build configuration list for PBXNativeTarget "Example" */;
96
+ buildPhases = (
97
+ 2E845E121D638EFE0040B44C /* Sources */,
98
+ 2E845E131D638EFE0040B44C /* Frameworks */,
99
+ 2E845E141D638EFE0040B44C /* Resources */,
100
+ );
101
+ buildRules = (
102
+ );
103
+ dependencies = (
104
+ );
105
+ name = Example;
106
+ productName = Example;
107
+ productReference = 2E845E161D638EFE0040B44C /* Example.app */;
108
+ productType = "com.apple.product-type.application";
109
+ };
110
+ /* End PBXNativeTarget section */
111
+
112
+ /* Begin PBXProject section */
113
+ 2E845E0E1D638EFE0040B44C /* Project object */ = {
114
+ isa = PBXProject;
115
+ attributes = {
116
+ LastSwiftUpdateCheck = 0730;
117
+ LastUpgradeCheck = 0730;
118
+ ORGANIZATIONNAME = wojteklu;
119
+ TargetAttributes = {
120
+ 2E845E151D638EFE0040B44C = {
121
+ CreatedOnToolsVersion = 7.3.1;
122
+ };
123
+ };
124
+ };
125
+ buildConfigurationList = 2E845E111D638EFE0040B44C /* Build configuration list for PBXProject "Example" */;
126
+ compatibilityVersion = "Xcode 3.2";
127
+ developmentRegion = English;
128
+ hasScannedForEncodings = 0;
129
+ knownRegions = (
130
+ en,
131
+ Base,
132
+ );
133
+ mainGroup = 2E845E0D1D638EFE0040B44C;
134
+ productRefGroup = 2E845E171D638EFE0040B44C /* Products */;
135
+ projectDirPath = "";
136
+ projectRoot = "";
137
+ targets = (
138
+ 2E845E151D638EFE0040B44C /* Example */,
139
+ );
140
+ };
141
+ /* End PBXProject section */
142
+
143
+ /* Begin PBXResourcesBuildPhase section */
144
+ 2E845E141D638EFE0040B44C /* Resources */ = {
145
+ isa = PBXResourcesBuildPhase;
146
+ buildActionMask = 2147483647;
147
+ files = (
148
+ 2E845E241D638EFE0040B44C /* LaunchScreen.storyboard in Resources */,
149
+ 2E845E211D638EFE0040B44C /* Assets.xcassets in Resources */,
150
+ 2E845E1F1D638EFE0040B44C /* Main.storyboard in Resources */,
151
+ );
152
+ runOnlyForDeploymentPostprocessing = 0;
153
+ };
154
+ /* End PBXResourcesBuildPhase section */
155
+
156
+ /* Begin PBXSourcesBuildPhase section */
157
+ 2E845E121D638EFE0040B44C /* Sources */ = {
158
+ isa = PBXSourcesBuildPhase;
159
+ buildActionMask = 2147483647;
160
+ files = (
161
+ 2E845E361D638FD20040B44C /* Model4.swift in Sources */,
162
+ 2E845E331D638FD20040B44C /* Model1.swift in Sources */,
163
+ 2E845E1C1D638EFE0040B44C /* ViewController.swift in Sources */,
164
+ 2E845E341D638FD20040B44C /* Model2.swift in Sources */,
165
+ 2E845E371D638FD20040B44C /* Model5.swift in Sources */,
166
+ 2E845E1A1D638EFE0040B44C /* AppDelegate.swift in Sources */,
167
+ 2E845E351D638FD20040B44C /* Model3.swift in Sources */,
168
+ );
169
+ runOnlyForDeploymentPostprocessing = 0;
170
+ };
171
+ /* End PBXSourcesBuildPhase section */
172
+
173
+ /* Begin PBXVariantGroup section */
174
+ 2E845E1D1D638EFE0040B44C /* Main.storyboard */ = {
175
+ isa = PBXVariantGroup;
176
+ children = (
177
+ 2E845E1E1D638EFE0040B44C /* Base */,
178
+ );
179
+ name = Main.storyboard;
180
+ sourceTree = "<group>";
181
+ };
182
+ 2E845E221D638EFE0040B44C /* LaunchScreen.storyboard */ = {
183
+ isa = PBXVariantGroup;
184
+ children = (
185
+ 2E845E231D638EFE0040B44C /* Base */,
186
+ );
187
+ name = LaunchScreen.storyboard;
188
+ sourceTree = "<group>";
189
+ };
190
+ /* End PBXVariantGroup section */
191
+
192
+ /* Begin XCBuildConfiguration section */
193
+ 2E845E261D638EFE0040B44C /* Debug */ = {
194
+ isa = XCBuildConfiguration;
195
+ buildSettings = {
196
+ ALWAYS_SEARCH_USER_PATHS = NO;
197
+ CLANG_ANALYZER_NONNULL = YES;
198
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
199
+ CLANG_CXX_LIBRARY = "libc++";
200
+ CLANG_ENABLE_MODULES = YES;
201
+ CLANG_ENABLE_OBJC_ARC = YES;
202
+ CLANG_WARN_BOOL_CONVERSION = YES;
203
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
204
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
205
+ CLANG_WARN_EMPTY_BODY = YES;
206
+ CLANG_WARN_ENUM_CONVERSION = YES;
207
+ CLANG_WARN_INT_CONVERSION = YES;
208
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
209
+ CLANG_WARN_UNREACHABLE_CODE = YES;
210
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
211
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
212
+ COPY_PHASE_STRIP = NO;
213
+ DEBUG_INFORMATION_FORMAT = dwarf;
214
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
215
+ ENABLE_TESTABILITY = YES;
216
+ GCC_C_LANGUAGE_STANDARD = gnu99;
217
+ GCC_DYNAMIC_NO_PIC = NO;
218
+ GCC_NO_COMMON_BLOCKS = YES;
219
+ GCC_OPTIMIZATION_LEVEL = 0;
220
+ GCC_PREPROCESSOR_DEFINITIONS = (
221
+ "DEBUG=1",
222
+ "$(inherited)",
223
+ );
224
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
225
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
226
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
227
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
228
+ GCC_WARN_UNUSED_FUNCTION = YES;
229
+ GCC_WARN_UNUSED_VARIABLE = YES;
230
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
231
+ MTL_ENABLE_DEBUG_INFO = YES;
232
+ ONLY_ACTIVE_ARCH = YES;
233
+ SDKROOT = iphoneos;
234
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
235
+ TARGETED_DEVICE_FAMILY = "1,2";
236
+ };
237
+ name = Debug;
238
+ };
239
+ 2E845E271D638EFE0040B44C /* Release */ = {
240
+ isa = XCBuildConfiguration;
241
+ buildSettings = {
242
+ ALWAYS_SEARCH_USER_PATHS = NO;
243
+ CLANG_ANALYZER_NONNULL = YES;
244
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
245
+ CLANG_CXX_LIBRARY = "libc++";
246
+ CLANG_ENABLE_MODULES = YES;
247
+ CLANG_ENABLE_OBJC_ARC = YES;
248
+ CLANG_WARN_BOOL_CONVERSION = YES;
249
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
250
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
251
+ CLANG_WARN_EMPTY_BODY = YES;
252
+ CLANG_WARN_ENUM_CONVERSION = YES;
253
+ CLANG_WARN_INT_CONVERSION = YES;
254
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
255
+ CLANG_WARN_UNREACHABLE_CODE = YES;
256
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
257
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
258
+ COPY_PHASE_STRIP = NO;
259
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
260
+ ENABLE_NS_ASSERTIONS = NO;
261
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
262
+ GCC_C_LANGUAGE_STANDARD = gnu99;
263
+ GCC_NO_COMMON_BLOCKS = YES;
264
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
265
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
266
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
267
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
268
+ GCC_WARN_UNUSED_FUNCTION = YES;
269
+ GCC_WARN_UNUSED_VARIABLE = YES;
270
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
271
+ MTL_ENABLE_DEBUG_INFO = NO;
272
+ SDKROOT = iphoneos;
273
+ TARGETED_DEVICE_FAMILY = "1,2";
274
+ VALIDATE_PRODUCT = YES;
275
+ };
276
+ name = Release;
277
+ };
278
+ 2E845E291D638EFE0040B44C /* Debug */ = {
279
+ isa = XCBuildConfiguration;
280
+ buildSettings = {
281
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
282
+ INFOPLIST_FILE = Example/Info.plist;
283
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
284
+ PRODUCT_BUNDLE_IDENTIFIER = com.depcheck.Example;
285
+ PRODUCT_NAME = "$(TARGET_NAME)";
286
+ };
287
+ name = Debug;
288
+ };
289
+ 2E845E2A1D638EFE0040B44C /* Release */ = {
290
+ isa = XCBuildConfiguration;
291
+ buildSettings = {
292
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
293
+ INFOPLIST_FILE = Example/Info.plist;
294
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
295
+ PRODUCT_BUNDLE_IDENTIFIER = com.depcheck.Example;
296
+ PRODUCT_NAME = "$(TARGET_NAME)";
297
+ };
298
+ name = Release;
299
+ };
300
+ /* End XCBuildConfiguration section */
301
+
302
+ /* Begin XCConfigurationList section */
303
+ 2E845E111D638EFE0040B44C /* Build configuration list for PBXProject "Example" */ = {
304
+ isa = XCConfigurationList;
305
+ buildConfigurations = (
306
+ 2E845E261D638EFE0040B44C /* Debug */,
307
+ 2E845E271D638EFE0040B44C /* Release */,
308
+ );
309
+ defaultConfigurationIsVisible = 0;
310
+ defaultConfigurationName = Release;
311
+ };
312
+ 2E845E281D638EFE0040B44C /* Build configuration list for PBXNativeTarget "Example" */ = {
313
+ isa = XCConfigurationList;
314
+ buildConfigurations = (
315
+ 2E845E291D638EFE0040B44C /* Debug */,
316
+ 2E845E2A1D638EFE0040B44C /* Release */,
317
+ );
318
+ defaultConfigurationIsVisible = 0;
319
+ };
320
+ /* End XCConfigurationList section */
321
+ };
322
+ rootObject = 2E845E0E1D638EFE0040B44C /* Project object */;
323
+ }