cocoapods-packager 0.5.0 → 0.9.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +1 -0
  5. data/Gemfile.lock +22 -0
  6. data/README.md +4 -1
  7. data/lib/cocoapods-packager/builder.rb +15 -2
  8. data/lib/cocoapods-packager/framework.rb +5 -0
  9. data/lib/cocoapods-packager/mangle.rb +1 -2
  10. data/lib/cocoapods-packager/pod_utils.rb +24 -0
  11. data/lib/cocoapods_packager.rb +1 -1
  12. data/lib/pod/command/package.rb +4 -0
  13. data/spec/command/error_spec.rb +35 -0
  14. data/spec/command/package_spec.rb +10 -0
  15. data/spec/fixtures/CPDColors.podspec +19 -0
  16. data/spec/fixtures/PackagerTest/.gitignore +21 -0
  17. data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.pbxproj +510 -0
  18. data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  19. data/spec/fixtures/PackagerTest/PackagerTest.xcworkspace/contents.xcworkspacedata +1 -0
  20. data/spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.h +15 -0
  21. data/spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.m +49 -0
  22. data/spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  23. data/spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  24. data/spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Info.plist +38 -0
  25. data/spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Prefix.pch +16 -0
  26. data/spec/fixtures/PackagerTest/PackagerTest/en.lproj/InfoPlist.strings +2 -0
  27. data/spec/fixtures/PackagerTest/PackagerTest/main.m +18 -0
  28. data/spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests-Info.plist +22 -0
  29. data/spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests.m +34 -0
  30. data/spec/fixtures/PackagerTest/PackagerTestTests/en.lproj/InfoPlist.strings +2 -0
  31. data/spec/fixtures/PackagerTest/Podfile +8 -0
  32. data/spec/fixtures/PackagerTest/Podfile.lock +30 -0
  33. data/spec/fixtures/foo-bar.podspec +19 -0
  34. data/spec/integration/project_spec.rb +27 -0
  35. data/spec/spec_helper.rb +3 -0
  36. metadata +45 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d3535ba8d583c5ce95324d1e7ddef3a00006cb0
4
- data.tar.gz: 006fdd96275923939dd7ead9c24a3f149a248174
3
+ metadata.gz: 591af7db1eae5a165c490790048809921356a001
4
+ data.tar.gz: 01d7f6d8d4cb562a781ebea871770ecbd6ad8faf
5
5
  SHA512:
6
- metadata.gz: acd2466fd4d5ba6704b1cae1b1ceb374334115e67bf93ff4753a451e9630b7f6d84f4d525d12a0efc99af9d7aca2c48521b376e52f4bfa4bd52058efdec6eb30
7
- data.tar.gz: fc61891a91651f0bc848e643245658c3ae9be10cc61b0fde27f27be5df7c6752d998745b8b644f0b803e8e081b963cf9930755429e12228e18a23516b8c8f4cf
6
+ metadata.gz: 50a846d36ea48df0b1043c1f503c4c6284282020e1d3ec732651fb70ad902cd66fd7e0e59bde2eae036e2afd22da6fb6bd1a89dc2fd188961a278eb5e73d73c4
7
+ data.tar.gz: 6cdd37a127620963ea5a7627bf092f1d0294f4b0e233c0944ce0711143362acaa81fbcb54bb8beef07658441e82219d510231fb3ff045ee4584cb384c7321a4f
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
+ coverage
1
2
  pkg
2
3
  .DS_Store
data/Gemfile CHANGED
@@ -8,4 +8,5 @@ group :development do
8
8
  gem 'mocha-on-bacon'
9
9
  gem 'mocha', '~> 0.11.4'
10
10
  gem 'prettybacon', :git => 'https://github.com/irrationalfab/PrettyBacon.git', :branch => 'master'
11
+ gem 'coveralls', require: false
11
12
  end
data/Gemfile.lock CHANGED
@@ -40,19 +40,40 @@ GEM
40
40
  cocoapods-plugins (0.2.0)
41
41
  nap
42
42
  colored (1.2)
43
+ coveralls (0.7.0)
44
+ multi_json (~> 1.3)
45
+ rest-client
46
+ simplecov (>= 0.7)
47
+ term-ansicolor
48
+ thor
49
+ docile (1.1.5)
43
50
  escape (0.0.4)
44
51
  fuzzy_match (2.0.4)
45
52
  i18n (0.6.11)
46
53
  json_pure (1.8.1)
47
54
  metaclass (0.0.4)
55
+ mime-types (2.1)
48
56
  mocha (0.11.4)
49
57
  metaclass (~> 0.0.1)
50
58
  mocha-on-bacon (0.2.1)
51
59
  mocha (>= 0.9.8)
52
60
  multi_json (1.10.1)
53
61
  nap (0.8.0)
62
+ netrc (0.7.7)
54
63
  open4 (1.3.4)
55
64
  rake (10.3.2)
65
+ rest-client (1.7.2)
66
+ mime-types (>= 1.16, < 3.0)
67
+ netrc (~> 0.7)
68
+ simplecov (0.9.0)
69
+ docile (~> 1.1.0)
70
+ multi_json
71
+ simplecov-html (~> 0.8.0)
72
+ simplecov-html (0.8.0)
73
+ term-ansicolor (1.3.0)
74
+ tins (~> 1.0)
75
+ thor (0.19.1)
76
+ tins (1.3.0)
56
77
  xcodeproj (0.17.0)
57
78
  activesupport (~> 3.0)
58
79
  colored (~> 1.2)
@@ -65,6 +86,7 @@ DEPENDENCIES
65
86
  bundler (~> 1.3)
66
87
  cocoapods
67
88
  cocoapods-packager!
89
+ coveralls
68
90
  mocha (~> 0.11.4)
69
91
  mocha-on-bacon
70
92
  prettybacon!
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # CocoaPods Packager
2
2
 
3
- [![Build Status](https://travis-ci.org/CocoaPods/cocoapods-packager.png?branch=master)](https://travis-ci.org/CocoaPods/cocoapods-packager)
3
+ [![Build Status](http://img.shields.io/travis/CocoaPods/cocoapods-packager/master.svg?style=flat)](https://travis-ci.org/CocoaPods/cocoapods-packager)
4
+ [![Coverage Status](https://img.shields.io/coveralls/CocoaPods/cocoapods-packager.svg)](https://coveralls.io/r/CocoaPods/cocoapods-packager?branch=master)
5
+ [![Gem Version](http://img.shields.io/gem/v/cocoapods-packager.svg?style=flat)](http://badge.fury.io/rb/cocoapods-packager)
6
+ [![Code Climate](http://img.shields.io/codeclimate/github/CocoaPods/cocoapods-packager.svg?style=flat)](https://codeclimate.com/github/CocoaPods/cocoapods-packager)
4
7
 
5
8
  CocoaPods plugin which allows you to generate a framework or static library from a podspec.
6
9
 
@@ -84,7 +84,7 @@ module Pod
84
84
  def compile
85
85
  xcodebuild
86
86
 
87
- if @spec.dependencies.count > 0 && @mangle
87
+ if dependency_count > 0 && @mangle
88
88
  return build_with_mangling
89
89
  end
90
90
 
@@ -108,7 +108,10 @@ module Pod
108
108
  `cp -rp #{@sandbox_root}/build/*.bundle #{@fwk.resources_path} 2>&1`
109
109
 
110
110
  resources = expand_paths(@spec.consumer(platform).resources)
111
- return if resources.count == 0
111
+ if resources.count == 0
112
+ @fwk.delete_resources
113
+ return
114
+ end
112
115
  `cp -rp #{resources.join(' ')} #{@fwk.resources_path}`
113
116
  end
114
117
 
@@ -117,6 +120,16 @@ module Pod
117
120
  @fwk.make
118
121
  end
119
122
 
123
+ def dependency_count
124
+ count = @spec.dependencies.count
125
+
126
+ @spec.subspecs.each do |subspec|
127
+ count += subspec.dependencies.count
128
+ end
129
+
130
+ count
131
+ end
132
+
120
133
  def expand_paths(path_specs)
121
134
  path_specs.map do |path_spec|
122
135
  Dir.glob(File.join(@source_dir, path_spec))
@@ -5,6 +5,11 @@ module Framework
5
5
  attr_reader :root_path
6
6
  attr_reader :versions_path
7
7
 
8
+ def delete_resources
9
+ Pathname.new(@resources_path).rmtree
10
+ (Pathname.new(@fwk_path) + Pathname.new('Resources')).delete
11
+ end
12
+
8
13
  def initialize(name, platform, embedded)
9
14
  @name = name
10
15
  @platform = platform
@@ -8,8 +8,6 @@ module Symbols
8
8
  # - put defines into `GCC_PREPROCESSOR_DEFINITIONS` for passing to Xcode
9
9
  #
10
10
  def mangle_for_pod_dependencies(pod_name, sandbox_root)
11
- pod_name = pod_name.gsub!('-', '_')
12
-
13
11
  pod_libs = Dir.glob("#{sandbox_root}/build/libPods-*.a").select do
14
12
  |file| file !~ /#{pod_name}/
15
13
  end
@@ -26,6 +24,7 @@ module Symbols
26
24
  end
27
25
 
28
26
  def alias_symbol(sym, pod_name)
27
+ pod_name = pod_name.gsub('-', '_')
29
28
  sym + "=Pod#{pod_name}_" + sym
30
29
  end
31
30
 
@@ -28,6 +28,19 @@ module Pod
28
28
  end
29
29
  end
30
30
 
31
+ def source_files_available?(spec)
32
+ deps = spec.dependencies.map { |dep| spec_with_name(dep.name) }
33
+
34
+ [spec, *deps].each do |specification|
35
+ source_files = specification.attributes_hash['source_files']
36
+ if source_files.nil?
37
+ return false
38
+ end
39
+ end
40
+
41
+ true
42
+ end
43
+
31
44
  def spec_with_name(name)
32
45
  return if name.nil?
33
46
 
@@ -41,6 +54,17 @@ module Pod
41
54
  return if path.nil? || !Pathname.new(path).exist?
42
55
 
43
56
  @path = path
57
+
58
+ if Pathname.new(path).directory?
59
+ help! path + ': is a directory.'
60
+ return
61
+ end
62
+
63
+ if !['.podspec', '.json'].include? Pathname.new(path).extname
64
+ help! path + ': is not a podspec.'
65
+ return
66
+ end
67
+
44
68
  Specification.from_file(path)
45
69
  end
46
70
  end
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  module Packager
3
- VERSION = '0.5.0'
3
+ VERSION = '0.9.0'
4
4
  end
5
5
  end
@@ -32,6 +32,10 @@ module Pod
32
32
  def validate!
33
33
  super
34
34
  help! 'A podspec name or path is required.' unless @spec
35
+
36
+ if !source_files_available? @spec
37
+ help! 'podspec has binary-only depedencies, mangling not possible.'
38
+ end
35
39
  end
36
40
 
37
41
  def run
@@ -0,0 +1,35 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ module Pod
4
+ describe 'Packager' do
5
+ after do
6
+ Dir.glob("CPDColors-*").each { |dir| Pathname.new(dir).rmtree }
7
+ end
8
+
9
+ it 'presents the help if a directory is provided' do
10
+ should.raise CLAide::Help do
11
+ command = Command.parse(%w{ package spec })
12
+ end.message.should.match /is a directory/
13
+ end
14
+
15
+ it 'presents the help if a random file is provided instead of a specification' do
16
+ should.raise CLAide::Help do
17
+ command = Command.parse(%w{ package README.md })
18
+ end.message.should.match /is not a podspec/
19
+ end
20
+
21
+ it 'presents the help if a podspec with binary-only dependencies is used' do
22
+ command = Command.parse(%w{ package spec/fixtures/CPDColors.podspec })
23
+ should.raise CLAide::Help do
24
+ command.validate!
25
+ end.message.should.match /binary-only/
26
+ end
27
+
28
+ it 'can package a podspec with binary-only dependencies if --no-mangle is specified' do
29
+ command = Command.parse(%w{ package spec/fixtures/CPDColors.podspec --no-mangle })
30
+ command.run
31
+
32
+ true.should == true # To make the test pass without any shoulds
33
+ end
34
+ end
35
+ end
@@ -6,6 +6,7 @@ module Pod
6
6
  after do
7
7
  Dir.glob("KFData-*").each { |dir| Pathname.new(dir).rmtree }
8
8
  Dir.glob("NikeKit-*").each { |dir| Pathname.new(dir).rmtree }
9
+ Dir.glob("foo-bar-*").each { |dir| Pathname.new(dir).rmtree }
9
10
  end
10
11
 
11
12
  it 'registers itself' do
@@ -51,6 +52,15 @@ module Pod
51
52
  symbols.should == []
52
53
  end
53
54
 
55
+ it "does not fail when the pod name contains a dash" do
56
+ SourcesManager.stubs(:search).returns(nil)
57
+
58
+ command = Command.parse(%w{ package spec/fixtures/foo-bar.podspec })
59
+ command.run
60
+
61
+ true.should == true # To make the test pass without any shoulds
62
+ end
63
+
54
64
  it "runs with a path to a spec" do
55
65
  SourcesManager.stubs(:search).returns(nil)
56
66
 
@@ -0,0 +1,19 @@
1
+ Pod::Spec.new do |s|
2
+ s.name = "CPDColors"
3
+ s.version = "0.1.0"
4
+ s.summary = "Stay true to the brand with these orta-sanctioned colors."
5
+ s.homepage = "https://github.com/neonichu/CPDColors"
6
+ s.screenshots = "https://raw.githubusercontent.com/neonichu/CPDColors/master/screenshot.png"
7
+ s.license = 'MIT'
8
+ s.author = { "Boris Bügling" => "boris@icculus.org" }
9
+ s.source = { :git => "https://github.com/neonichu/CPDColors.git", :tag => s.version.to_s }
10
+ s.social_media_url = 'https://twitter.com/NeoNacho'
11
+
12
+ s.platform = :ios, '6.0'
13
+
14
+ s.requires_arc = true
15
+ s.source_files = 'Code'
16
+ s.public_header_files = 'Code/**/*.h'
17
+
18
+ s.dependency 'Parse-iOS-SDK'
19
+ end
@@ -0,0 +1,21 @@
1
+ ## CocoaPods
2
+
3
+ Pods
4
+
5
+ ## Node
6
+
7
+ node_modules
8
+
9
+ ## OS X
10
+
11
+ .DS_Store
12
+
13
+ ## Other
14
+
15
+ .pt
16
+ NikeKit.framework
17
+
18
+ ## Xcode
19
+
20
+ *.xccheckout
21
+ xcuserdata
@@ -0,0 +1,510 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ A1DE56B919AA4A97000339C6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56B819AA4A97000339C6 /* Foundation.framework */; };
11
+ A1DE56BB19AA4A97000339C6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56BA19AA4A97000339C6 /* CoreGraphics.framework */; };
12
+ A1DE56BD19AA4A97000339C6 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56BC19AA4A97000339C6 /* UIKit.framework */; };
13
+ A1DE56C319AA4A97000339C6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A1DE56C119AA4A97000339C6 /* InfoPlist.strings */; };
14
+ A1DE56C519AA4A97000339C6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A1DE56C419AA4A97000339C6 /* main.m */; };
15
+ A1DE56C919AA4A97000339C6 /* CPDAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A1DE56C819AA4A97000339C6 /* CPDAppDelegate.m */; };
16
+ A1DE56CB19AA4A97000339C6 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A1DE56CA19AA4A97000339C6 /* Images.xcassets */; };
17
+ A1DE56D219AA4A97000339C6 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56D119AA4A97000339C6 /* XCTest.framework */; };
18
+ A1DE56D319AA4A97000339C6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56B819AA4A97000339C6 /* Foundation.framework */; };
19
+ A1DE56D419AA4A97000339C6 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56BC19AA4A97000339C6 /* UIKit.framework */; };
20
+ A1DE56DC19AA4A97000339C6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A1DE56DA19AA4A97000339C6 /* InfoPlist.strings */; };
21
+ A1DE56DE19AA4A97000339C6 /* PackagerTestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A1DE56DD19AA4A97000339C6 /* PackagerTestTests.m */; };
22
+ A1DE56E819AA4AC4000339C6 /* NikeKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1DE56E719AA4AC4000339C6 /* NikeKit.framework */; };
23
+ EF1616E64C6F45BE9B377A32 /* libPods-PackagerTest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38EC8BF834704005B8AE03E6 /* libPods-PackagerTest.a */; };
24
+ /* End PBXBuildFile section */
25
+
26
+ /* Begin PBXContainerItemProxy section */
27
+ A1DE56D519AA4A97000339C6 /* PBXContainerItemProxy */ = {
28
+ isa = PBXContainerItemProxy;
29
+ containerPortal = A1DE56AD19AA4A97000339C6 /* Project object */;
30
+ proxyType = 1;
31
+ remoteGlobalIDString = A1DE56B419AA4A97000339C6;
32
+ remoteInfo = PackagerTest;
33
+ };
34
+ /* End PBXContainerItemProxy section */
35
+
36
+ /* Begin PBXFileReference section */
37
+ 38EC8BF834704005B8AE03E6 /* libPods-PackagerTest.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PackagerTest.a"; sourceTree = BUILT_PRODUCTS_DIR; };
38
+ 69E6CB32DE4D4894BCEB4EF1 /* Pods-PackagerTest.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PackagerTest.xcconfig"; path = "Pods/Pods-PackagerTest.xcconfig"; sourceTree = "<group>"; };
39
+ A1DE56B519AA4A97000339C6 /* PackagerTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PackagerTest.app; sourceTree = BUILT_PRODUCTS_DIR; };
40
+ A1DE56B819AA4A97000339C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
41
+ A1DE56BA19AA4A97000339C6 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
42
+ A1DE56BC19AA4A97000339C6 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
43
+ A1DE56C019AA4A97000339C6 /* PackagerTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PackagerTest-Info.plist"; sourceTree = "<group>"; };
44
+ A1DE56C219AA4A97000339C6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
45
+ A1DE56C419AA4A97000339C6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
46
+ A1DE56C619AA4A97000339C6 /* PackagerTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PackagerTest-Prefix.pch"; sourceTree = "<group>"; };
47
+ A1DE56C719AA4A97000339C6 /* CPDAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDAppDelegate.h; sourceTree = "<group>"; };
48
+ A1DE56C819AA4A97000339C6 /* CPDAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDAppDelegate.m; sourceTree = "<group>"; };
49
+ A1DE56CA19AA4A97000339C6 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
50
+ A1DE56D019AA4A97000339C6 /* PackagerTestTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PackagerTestTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
51
+ A1DE56D119AA4A97000339C6 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
52
+ A1DE56D919AA4A97000339C6 /* PackagerTestTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PackagerTestTests-Info.plist"; sourceTree = "<group>"; };
53
+ A1DE56DB19AA4A97000339C6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
54
+ A1DE56DD19AA4A97000339C6 /* PackagerTestTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PackagerTestTests.m; sourceTree = "<group>"; };
55
+ A1DE56E719AA4AC4000339C6 /* NikeKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = NikeKit.framework; sourceTree = "<group>"; };
56
+ /* End PBXFileReference section */
57
+
58
+ /* Begin PBXFrameworksBuildPhase section */
59
+ A1DE56B219AA4A97000339C6 /* Frameworks */ = {
60
+ isa = PBXFrameworksBuildPhase;
61
+ buildActionMask = 2147483647;
62
+ files = (
63
+ A1DE56E819AA4AC4000339C6 /* NikeKit.framework in Frameworks */,
64
+ A1DE56BB19AA4A97000339C6 /* CoreGraphics.framework in Frameworks */,
65
+ A1DE56BD19AA4A97000339C6 /* UIKit.framework in Frameworks */,
66
+ A1DE56B919AA4A97000339C6 /* Foundation.framework in Frameworks */,
67
+ EF1616E64C6F45BE9B377A32 /* libPods-PackagerTest.a in Frameworks */,
68
+ );
69
+ runOnlyForDeploymentPostprocessing = 0;
70
+ };
71
+ A1DE56CD19AA4A97000339C6 /* Frameworks */ = {
72
+ isa = PBXFrameworksBuildPhase;
73
+ buildActionMask = 2147483647;
74
+ files = (
75
+ A1DE56D219AA4A97000339C6 /* XCTest.framework in Frameworks */,
76
+ A1DE56D419AA4A97000339C6 /* UIKit.framework in Frameworks */,
77
+ A1DE56D319AA4A97000339C6 /* Foundation.framework in Frameworks */,
78
+ );
79
+ runOnlyForDeploymentPostprocessing = 0;
80
+ };
81
+ /* End PBXFrameworksBuildPhase section */
82
+
83
+ /* Begin PBXGroup section */
84
+ A1DE56AC19AA4A97000339C6 = {
85
+ isa = PBXGroup;
86
+ children = (
87
+ A1DE56BE19AA4A97000339C6 /* PackagerTest */,
88
+ A1DE56D719AA4A97000339C6 /* PackagerTestTests */,
89
+ A1DE56B719AA4A97000339C6 /* Frameworks */,
90
+ A1DE56B619AA4A97000339C6 /* Products */,
91
+ 69E6CB32DE4D4894BCEB4EF1 /* Pods-PackagerTest.xcconfig */,
92
+ );
93
+ sourceTree = "<group>";
94
+ };
95
+ A1DE56B619AA4A97000339C6 /* Products */ = {
96
+ isa = PBXGroup;
97
+ children = (
98
+ A1DE56B519AA4A97000339C6 /* PackagerTest.app */,
99
+ A1DE56D019AA4A97000339C6 /* PackagerTestTests.xctest */,
100
+ );
101
+ name = Products;
102
+ sourceTree = "<group>";
103
+ };
104
+ A1DE56B719AA4A97000339C6 /* Frameworks */ = {
105
+ isa = PBXGroup;
106
+ children = (
107
+ A1DE56B819AA4A97000339C6 /* Foundation.framework */,
108
+ A1DE56BA19AA4A97000339C6 /* CoreGraphics.framework */,
109
+ A1DE56E719AA4AC4000339C6 /* NikeKit.framework */,
110
+ A1DE56BC19AA4A97000339C6 /* UIKit.framework */,
111
+ A1DE56D119AA4A97000339C6 /* XCTest.framework */,
112
+ 38EC8BF834704005B8AE03E6 /* libPods-PackagerTest.a */,
113
+ );
114
+ name = Frameworks;
115
+ sourceTree = "<group>";
116
+ };
117
+ A1DE56BE19AA4A97000339C6 /* PackagerTest */ = {
118
+ isa = PBXGroup;
119
+ children = (
120
+ A1DE56C719AA4A97000339C6 /* CPDAppDelegate.h */,
121
+ A1DE56C819AA4A97000339C6 /* CPDAppDelegate.m */,
122
+ A1DE56CA19AA4A97000339C6 /* Images.xcassets */,
123
+ A1DE56BF19AA4A97000339C6 /* Supporting Files */,
124
+ );
125
+ path = PackagerTest;
126
+ sourceTree = "<group>";
127
+ };
128
+ A1DE56BF19AA4A97000339C6 /* Supporting Files */ = {
129
+ isa = PBXGroup;
130
+ children = (
131
+ A1DE56C019AA4A97000339C6 /* PackagerTest-Info.plist */,
132
+ A1DE56C119AA4A97000339C6 /* InfoPlist.strings */,
133
+ A1DE56C419AA4A97000339C6 /* main.m */,
134
+ A1DE56C619AA4A97000339C6 /* PackagerTest-Prefix.pch */,
135
+ );
136
+ name = "Supporting Files";
137
+ sourceTree = "<group>";
138
+ };
139
+ A1DE56D719AA4A97000339C6 /* PackagerTestTests */ = {
140
+ isa = PBXGroup;
141
+ children = (
142
+ A1DE56DD19AA4A97000339C6 /* PackagerTestTests.m */,
143
+ A1DE56D819AA4A97000339C6 /* Supporting Files */,
144
+ );
145
+ path = PackagerTestTests;
146
+ sourceTree = "<group>";
147
+ };
148
+ A1DE56D819AA4A97000339C6 /* Supporting Files */ = {
149
+ isa = PBXGroup;
150
+ children = (
151
+ A1DE56D919AA4A97000339C6 /* PackagerTestTests-Info.plist */,
152
+ A1DE56DA19AA4A97000339C6 /* InfoPlist.strings */,
153
+ );
154
+ name = "Supporting Files";
155
+ sourceTree = "<group>";
156
+ };
157
+ /* End PBXGroup section */
158
+
159
+ /* Begin PBXNativeTarget section */
160
+ A1DE56B419AA4A97000339C6 /* PackagerTest */ = {
161
+ isa = PBXNativeTarget;
162
+ buildConfigurationList = A1DE56E119AA4A97000339C6 /* Build configuration list for PBXNativeTarget "PackagerTest" */;
163
+ buildPhases = (
164
+ 49547FD0833143C7B1B693B1 /* Check Pods Manifest.lock */,
165
+ A1DE56B119AA4A97000339C6 /* Sources */,
166
+ A1DE56B219AA4A97000339C6 /* Frameworks */,
167
+ A1DE56B319AA4A97000339C6 /* Resources */,
168
+ D5BB2CBFD85C4871BD1444B2 /* Copy Pods Resources */,
169
+ );
170
+ buildRules = (
171
+ );
172
+ dependencies = (
173
+ );
174
+ name = PackagerTest;
175
+ productName = PackagerTest;
176
+ productReference = A1DE56B519AA4A97000339C6 /* PackagerTest.app */;
177
+ productType = "com.apple.product-type.application";
178
+ };
179
+ A1DE56CF19AA4A97000339C6 /* PackagerTestTests */ = {
180
+ isa = PBXNativeTarget;
181
+ buildConfigurationList = A1DE56E419AA4A97000339C6 /* Build configuration list for PBXNativeTarget "PackagerTestTests" */;
182
+ buildPhases = (
183
+ A1DE56CC19AA4A97000339C6 /* Sources */,
184
+ A1DE56CD19AA4A97000339C6 /* Frameworks */,
185
+ A1DE56CE19AA4A97000339C6 /* Resources */,
186
+ );
187
+ buildRules = (
188
+ );
189
+ dependencies = (
190
+ A1DE56D619AA4A97000339C6 /* PBXTargetDependency */,
191
+ );
192
+ name = PackagerTestTests;
193
+ productName = PackagerTestTests;
194
+ productReference = A1DE56D019AA4A97000339C6 /* PackagerTestTests.xctest */;
195
+ productType = "com.apple.product-type.bundle.unit-test";
196
+ };
197
+ /* End PBXNativeTarget section */
198
+
199
+ /* Begin PBXProject section */
200
+ A1DE56AD19AA4A97000339C6 /* Project object */ = {
201
+ isa = PBXProject;
202
+ attributes = {
203
+ CLASSPREFIX = CPD;
204
+ LastUpgradeCheck = 0510;
205
+ ORGANIZATIONNAME = CocoaPods;
206
+ TargetAttributes = {
207
+ A1DE56CF19AA4A97000339C6 = {
208
+ TestTargetID = A1DE56B419AA4A97000339C6;
209
+ };
210
+ };
211
+ };
212
+ buildConfigurationList = A1DE56B019AA4A97000339C6 /* Build configuration list for PBXProject "PackagerTest" */;
213
+ compatibilityVersion = "Xcode 3.2";
214
+ developmentRegion = English;
215
+ hasScannedForEncodings = 0;
216
+ knownRegions = (
217
+ en,
218
+ );
219
+ mainGroup = A1DE56AC19AA4A97000339C6;
220
+ productRefGroup = A1DE56B619AA4A97000339C6 /* Products */;
221
+ projectDirPath = "";
222
+ projectRoot = "";
223
+ targets = (
224
+ A1DE56B419AA4A97000339C6 /* PackagerTest */,
225
+ A1DE56CF19AA4A97000339C6 /* PackagerTestTests */,
226
+ );
227
+ };
228
+ /* End PBXProject section */
229
+
230
+ /* Begin PBXResourcesBuildPhase section */
231
+ A1DE56B319AA4A97000339C6 /* Resources */ = {
232
+ isa = PBXResourcesBuildPhase;
233
+ buildActionMask = 2147483647;
234
+ files = (
235
+ A1DE56C319AA4A97000339C6 /* InfoPlist.strings in Resources */,
236
+ A1DE56CB19AA4A97000339C6 /* Images.xcassets in Resources */,
237
+ );
238
+ runOnlyForDeploymentPostprocessing = 0;
239
+ };
240
+ A1DE56CE19AA4A97000339C6 /* Resources */ = {
241
+ isa = PBXResourcesBuildPhase;
242
+ buildActionMask = 2147483647;
243
+ files = (
244
+ A1DE56DC19AA4A97000339C6 /* InfoPlist.strings in Resources */,
245
+ );
246
+ runOnlyForDeploymentPostprocessing = 0;
247
+ };
248
+ /* End PBXResourcesBuildPhase section */
249
+
250
+ /* Begin PBXShellScriptBuildPhase section */
251
+ 49547FD0833143C7B1B693B1 /* Check Pods Manifest.lock */ = {
252
+ isa = PBXShellScriptBuildPhase;
253
+ buildActionMask = 2147483647;
254
+ files = (
255
+ );
256
+ inputPaths = (
257
+ );
258
+ name = "Check Pods Manifest.lock";
259
+ outputPaths = (
260
+ );
261
+ runOnlyForDeploymentPostprocessing = 0;
262
+ shellPath = /bin/sh;
263
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
264
+ showEnvVarsInLog = 0;
265
+ };
266
+ D5BB2CBFD85C4871BD1444B2 /* Copy Pods Resources */ = {
267
+ isa = PBXShellScriptBuildPhase;
268
+ buildActionMask = 2147483647;
269
+ files = (
270
+ );
271
+ inputPaths = (
272
+ );
273
+ name = "Copy Pods Resources";
274
+ outputPaths = (
275
+ );
276
+ runOnlyForDeploymentPostprocessing = 0;
277
+ shellPath = /bin/sh;
278
+ shellScript = "\"${SRCROOT}/Pods/Pods-PackagerTest-resources.sh\"\n";
279
+ showEnvVarsInLog = 0;
280
+ };
281
+ /* End PBXShellScriptBuildPhase section */
282
+
283
+ /* Begin PBXSourcesBuildPhase section */
284
+ A1DE56B119AA4A97000339C6 /* Sources */ = {
285
+ isa = PBXSourcesBuildPhase;
286
+ buildActionMask = 2147483647;
287
+ files = (
288
+ A1DE56C919AA4A97000339C6 /* CPDAppDelegate.m in Sources */,
289
+ A1DE56C519AA4A97000339C6 /* main.m in Sources */,
290
+ );
291
+ runOnlyForDeploymentPostprocessing = 0;
292
+ };
293
+ A1DE56CC19AA4A97000339C6 /* Sources */ = {
294
+ isa = PBXSourcesBuildPhase;
295
+ buildActionMask = 2147483647;
296
+ files = (
297
+ A1DE56DE19AA4A97000339C6 /* PackagerTestTests.m in Sources */,
298
+ );
299
+ runOnlyForDeploymentPostprocessing = 0;
300
+ };
301
+ /* End PBXSourcesBuildPhase section */
302
+
303
+ /* Begin PBXTargetDependency section */
304
+ A1DE56D619AA4A97000339C6 /* PBXTargetDependency */ = {
305
+ isa = PBXTargetDependency;
306
+ target = A1DE56B419AA4A97000339C6 /* PackagerTest */;
307
+ targetProxy = A1DE56D519AA4A97000339C6 /* PBXContainerItemProxy */;
308
+ };
309
+ /* End PBXTargetDependency section */
310
+
311
+ /* Begin PBXVariantGroup section */
312
+ A1DE56C119AA4A97000339C6 /* InfoPlist.strings */ = {
313
+ isa = PBXVariantGroup;
314
+ children = (
315
+ A1DE56C219AA4A97000339C6 /* en */,
316
+ );
317
+ name = InfoPlist.strings;
318
+ sourceTree = "<group>";
319
+ };
320
+ A1DE56DA19AA4A97000339C6 /* InfoPlist.strings */ = {
321
+ isa = PBXVariantGroup;
322
+ children = (
323
+ A1DE56DB19AA4A97000339C6 /* en */,
324
+ );
325
+ name = InfoPlist.strings;
326
+ sourceTree = "<group>";
327
+ };
328
+ /* End PBXVariantGroup section */
329
+
330
+ /* Begin XCBuildConfiguration section */
331
+ A1DE56DF19AA4A97000339C6 /* Debug */ = {
332
+ isa = XCBuildConfiguration;
333
+ buildSettings = {
334
+ ALWAYS_SEARCH_USER_PATHS = NO;
335
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
336
+ CLANG_CXX_LIBRARY = "libc++";
337
+ CLANG_ENABLE_MODULES = YES;
338
+ CLANG_ENABLE_OBJC_ARC = YES;
339
+ CLANG_WARN_BOOL_CONVERSION = YES;
340
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
341
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
342
+ CLANG_WARN_EMPTY_BODY = YES;
343
+ CLANG_WARN_ENUM_CONVERSION = YES;
344
+ CLANG_WARN_INT_CONVERSION = YES;
345
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
346
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
347
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
348
+ COPY_PHASE_STRIP = NO;
349
+ GCC_C_LANGUAGE_STANDARD = gnu99;
350
+ GCC_DYNAMIC_NO_PIC = NO;
351
+ GCC_OPTIMIZATION_LEVEL = 0;
352
+ GCC_PREPROCESSOR_DEFINITIONS = (
353
+ "DEBUG=1",
354
+ "$(inherited)",
355
+ );
356
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
357
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
358
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
359
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
360
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
361
+ GCC_WARN_UNUSED_FUNCTION = YES;
362
+ GCC_WARN_UNUSED_VARIABLE = YES;
363
+ IPHONEOS_DEPLOYMENT_TARGET = 7.1;
364
+ ONLY_ACTIVE_ARCH = YES;
365
+ SDKROOT = iphoneos;
366
+ };
367
+ name = Debug;
368
+ };
369
+ A1DE56E019AA4A97000339C6 /* Release */ = {
370
+ isa = XCBuildConfiguration;
371
+ buildSettings = {
372
+ ALWAYS_SEARCH_USER_PATHS = NO;
373
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
374
+ CLANG_CXX_LIBRARY = "libc++";
375
+ CLANG_ENABLE_MODULES = YES;
376
+ CLANG_ENABLE_OBJC_ARC = YES;
377
+ CLANG_WARN_BOOL_CONVERSION = YES;
378
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
379
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
380
+ CLANG_WARN_EMPTY_BODY = YES;
381
+ CLANG_WARN_ENUM_CONVERSION = YES;
382
+ CLANG_WARN_INT_CONVERSION = YES;
383
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
384
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
385
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
386
+ COPY_PHASE_STRIP = YES;
387
+ ENABLE_NS_ASSERTIONS = NO;
388
+ GCC_C_LANGUAGE_STANDARD = gnu99;
389
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
390
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
391
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
392
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
393
+ GCC_WARN_UNUSED_FUNCTION = YES;
394
+ GCC_WARN_UNUSED_VARIABLE = YES;
395
+ IPHONEOS_DEPLOYMENT_TARGET = 7.1;
396
+ SDKROOT = iphoneos;
397
+ VALIDATE_PRODUCT = YES;
398
+ };
399
+ name = Release;
400
+ };
401
+ A1DE56E219AA4A97000339C6 /* Debug */ = {
402
+ isa = XCBuildConfiguration;
403
+ baseConfigurationReference = 69E6CB32DE4D4894BCEB4EF1 /* Pods-PackagerTest.xcconfig */;
404
+ buildSettings = {
405
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
406
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
407
+ FRAMEWORK_SEARCH_PATHS = (
408
+ "$(inherited)",
409
+ "$(PROJECT_DIR)",
410
+ );
411
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
412
+ GCC_PREFIX_HEADER = "PackagerTest/PackagerTest-Prefix.pch";
413
+ INFOPLIST_FILE = "PackagerTest/PackagerTest-Info.plist";
414
+ PRODUCT_NAME = "$(TARGET_NAME)";
415
+ WRAPPER_EXTENSION = app;
416
+ };
417
+ name = Debug;
418
+ };
419
+ A1DE56E319AA4A97000339C6 /* Release */ = {
420
+ isa = XCBuildConfiguration;
421
+ baseConfigurationReference = 69E6CB32DE4D4894BCEB4EF1 /* Pods-PackagerTest.xcconfig */;
422
+ buildSettings = {
423
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
424
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
425
+ FRAMEWORK_SEARCH_PATHS = (
426
+ "$(inherited)",
427
+ "$(PROJECT_DIR)",
428
+ );
429
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
430
+ GCC_PREFIX_HEADER = "PackagerTest/PackagerTest-Prefix.pch";
431
+ INFOPLIST_FILE = "PackagerTest/PackagerTest-Info.plist";
432
+ PRODUCT_NAME = "$(TARGET_NAME)";
433
+ WRAPPER_EXTENSION = app;
434
+ };
435
+ name = Release;
436
+ };
437
+ A1DE56E519AA4A97000339C6 /* Debug */ = {
438
+ isa = XCBuildConfiguration;
439
+ buildSettings = {
440
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/PackagerTest.app/PackagerTest";
441
+ FRAMEWORK_SEARCH_PATHS = (
442
+ "$(SDKROOT)/Developer/Library/Frameworks",
443
+ "$(inherited)",
444
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
445
+ );
446
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
447
+ GCC_PREFIX_HEADER = "PackagerTest/PackagerTest-Prefix.pch";
448
+ GCC_PREPROCESSOR_DEFINITIONS = (
449
+ "DEBUG=1",
450
+ "$(inherited)",
451
+ );
452
+ INFOPLIST_FILE = "PackagerTestTests/PackagerTestTests-Info.plist";
453
+ PRODUCT_NAME = "$(TARGET_NAME)";
454
+ TEST_HOST = "$(BUNDLE_LOADER)";
455
+ WRAPPER_EXTENSION = xctest;
456
+ };
457
+ name = Debug;
458
+ };
459
+ A1DE56E619AA4A97000339C6 /* Release */ = {
460
+ isa = XCBuildConfiguration;
461
+ buildSettings = {
462
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/PackagerTest.app/PackagerTest";
463
+ FRAMEWORK_SEARCH_PATHS = (
464
+ "$(SDKROOT)/Developer/Library/Frameworks",
465
+ "$(inherited)",
466
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
467
+ );
468
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
469
+ GCC_PREFIX_HEADER = "PackagerTest/PackagerTest-Prefix.pch";
470
+ INFOPLIST_FILE = "PackagerTestTests/PackagerTestTests-Info.plist";
471
+ PRODUCT_NAME = "$(TARGET_NAME)";
472
+ TEST_HOST = "$(BUNDLE_LOADER)";
473
+ WRAPPER_EXTENSION = xctest;
474
+ };
475
+ name = Release;
476
+ };
477
+ /* End XCBuildConfiguration section */
478
+
479
+ /* Begin XCConfigurationList section */
480
+ A1DE56B019AA4A97000339C6 /* Build configuration list for PBXProject "PackagerTest" */ = {
481
+ isa = XCConfigurationList;
482
+ buildConfigurations = (
483
+ A1DE56DF19AA4A97000339C6 /* Debug */,
484
+ A1DE56E019AA4A97000339C6 /* Release */,
485
+ );
486
+ defaultConfigurationIsVisible = 0;
487
+ defaultConfigurationName = Release;
488
+ };
489
+ A1DE56E119AA4A97000339C6 /* Build configuration list for PBXNativeTarget "PackagerTest" */ = {
490
+ isa = XCConfigurationList;
491
+ buildConfigurations = (
492
+ A1DE56E219AA4A97000339C6 /* Debug */,
493
+ A1DE56E319AA4A97000339C6 /* Release */,
494
+ );
495
+ defaultConfigurationIsVisible = 0;
496
+ defaultConfigurationName = Release;
497
+ };
498
+ A1DE56E419AA4A97000339C6 /* Build configuration list for PBXNativeTarget "PackagerTestTests" */ = {
499
+ isa = XCConfigurationList;
500
+ buildConfigurations = (
501
+ A1DE56E519AA4A97000339C6 /* Debug */,
502
+ A1DE56E619AA4A97000339C6 /* Release */,
503
+ );
504
+ defaultConfigurationIsVisible = 0;
505
+ defaultConfigurationName = Release;
506
+ };
507
+ /* End XCConfigurationList section */
508
+ };
509
+ rootObject = A1DE56AD19AA4A97000339C6 /* Project object */;
510
+ }