cocoapods-packager 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 724330a00e775b6a876548b7163b4fd578ac247f
4
- data.tar.gz: 0d6073a5069e1f2943f5bad83ea610dc575a73df
3
+ metadata.gz: e8df03ad86ad928333cc4578359f12d6c612fd87
4
+ data.tar.gz: 5f4c6f64a84f37bd46b0d040c39a5a296a451e40
5
5
  SHA512:
6
- metadata.gz: 09cff1c8012595848b4e3fa270cf34e6e634774e8236cbf987339218e624edf4ec944bc977f2fdb11fdb2d1c55b389ddd93df3962e231b4caa6596722889e190
7
- data.tar.gz: 273ba43f82ae0d9807c45455db9db0c37ca699ed93a45d56db2d9075b56d2ec6e856df95df35ea67007c3ae2604740e0bada22a10fd64e158776884622fe6d75
6
+ metadata.gz: 1ed207f02e0bbb29cb420425f8ac495f1a0c2f90eab3ddccbc7c5a3b35bc87c7d6caeef4d00215265c66da4503f691fc307bf65c4111fd901601f0baf74d29c6
7
+ data.tar.gz: 9169c857cca5088618398fb56f0a7004eb685ac2792ecc0b84b887948d8906e7dc864f6e4e98b38ed147a34daf1f45ec0168334e4908794d6312021c4b78a608
@@ -1,11 +1,4 @@
1
1
  language: objective-c
2
- env:
3
- # This is what 10.8.x comes with and we want to support that.
4
- - RVM_RUBY_VERSION=system NOEXEC_DISABLE=1 RUBY_VERSION_SPECIFIC='sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2' SSL_CERT_FILE=/usr/local/share/cacert.pem GIT_AUTHOR_NAME=CocoaPods GIT_AUTHOR_EMAIL=cocoapods@example.com PYTHONPATH=/usr/local/lib/python2.7/site-packages
5
- - RVM_RUBY_VERSION=2.0.0-p247 NOEXEC_DISABLE=1 RUBY_VERSION_SPECIFIC='sudo gem install bundler --no-ri --no-rdoc' GIT_AUTHOR_NAME=CocoaPods GIT_AUTHOR_EMAIL=cocoapods@example.com PYTHONPATH=/usr/local/lib/python2.7/site-packages
6
- before_install:
7
- - curl http://curl.haxx.se/ca/cacert.pem -o /usr/local/share/cacert.pem
8
- - source ~/.rvm/scripts/rvm && rvm use $RVM_RUBY_VERSION
9
- - sudo gem install bundler
10
- install: eval $RUBY_VERSION_SPECIFIC && rake bootstrap[use_bundle_dir]
2
+ cache: bundler
3
+ before_install: bundle install
11
4
  script: bundle exec rake specs
@@ -9,7 +9,7 @@ GIT
9
9
  PATH
10
10
  remote: .
11
11
  specs:
12
- cocoapods-packager (0.1.0)
12
+ cocoapods-packager (0.2.0)
13
13
 
14
14
  GEM
15
15
  remote: https://rubygems.org/
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- Copyright (c) 2014 Kyle Fuller
1
+ This project is licensed under the MIT license.
2
2
 
3
- MIT License
3
+ Copyright (c) 2014 Kyle Fuller, Boris Bügling and CocoaPods Dev Team
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -2,16 +2,11 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/CocoaPods/cocoapods-packager.png?branch=master)](https://travis-ci.org/CocoaPods/cocoapods-packager)
4
4
 
5
- :warning::warning: This isn't ready for consumption just yet, follow [this
6
- issue](https://github.com/CocoaPods/cocoapods-packager/issues/1) to keep an
7
- eye on the status. :warning::warning:
8
-
9
- CocoaPods plugin which allows you to generate a static library from a podspec.
10
- This is useful for distributing your podspec as a static library.
5
+ CocoaPods plugin which allows you to generate a framework or static library from a podspec.
6
+ This is useful for distributing closed source libraries or for providing alternative integrations for people who do not use Pods.
11
7
 
12
8
  ## Usage
13
9
 
14
10
  ```bash
15
- $ pod package KFData
11
+ $ pod package KFData.podspec
16
12
  ```
17
-
@@ -0,0 +1,134 @@
1
+ module Pod
2
+ class Builder
3
+ def initialize(source_dir, sandbox_root, public_headers_root, spec, embedded, mangle)
4
+ @source_dir = source_dir
5
+ @sandbox_root = sandbox_root
6
+ @public_headers_root = public_headers_root
7
+ @spec = spec
8
+ @embedded = embedded
9
+ @mangle = mangle
10
+ end
11
+
12
+ def build(platform, library)
13
+ if library
14
+ build_static_library(platform)
15
+ else
16
+ build_framework(platform)
17
+ end
18
+ end
19
+
20
+ def build_static_library(platform)
21
+ UI.puts('Building static library')
22
+
23
+ defines = compile
24
+ platform_path = Pathname.new(platform.name.to_s)
25
+ platform_path.mkdir unless platform_path.exist?
26
+ build_library(platform, defines, platform_path + Pathname.new("lib#{@spec.name}.a"))
27
+ end
28
+
29
+ def build_framework(platform)
30
+ UI.puts('Building framework')
31
+
32
+ defines = compile
33
+ create_framework(platform.name.to_s)
34
+ copy_headers
35
+ build_library(platform, defines, @fwk.versions_path + Pathname.new(@spec.name))
36
+ copy_license
37
+ copy_resources(platform)
38
+ end
39
+
40
+ def link_embedded_resources
41
+ target_path = @fwk.root_path + Pathname.new('Resources')
42
+ target_path.mkdir unless target_path.exist?
43
+
44
+ Dir.glob(@fwk.resources_path.to_s + '/*').each do |resource|
45
+ resource = Pathname.new(resource).relative_path_from(target_path)
46
+ `ln -sf #{resource} #{target_path}`
47
+ end
48
+ end
49
+
50
+ :private
51
+
52
+ def build_library(platform, defines, output)
53
+ static_libs = static_libs_in_sandbox
54
+
55
+ if platform.name == :ios
56
+ build_static_lib_for_ios(static_libs, defines, output)
57
+ else
58
+ build_static_lib_for_mac(static_libs, output)
59
+ end
60
+ end
61
+
62
+ def build_static_lib_for_ios(static_libs, defines, output)
63
+ `libtool -static -o #{@sandbox_root}/build/package.a #{static_libs.join(' ')}`
64
+
65
+ xcodebuild(defines, '-sdk iphonesimulator', 'build-sim')
66
+ sim_libs = static_libs.map { |path| "#{@sandbox_root}/build-sim/#{File.basename(path)}" }
67
+ `libtool -static -o #{@sandbox_root}/build-sim/package.a #{sim_libs.join(' ')}`
68
+
69
+ `lipo #{@sandbox_root}/build/package.a #{@sandbox_root}/build-sim/libPods.a -create -output #{output}`
70
+ end
71
+
72
+ def build_static_lib_for_mac(static_libs, output)
73
+ `libtool -static -o #{output} #{static_libs.join(' ')}`
74
+ end
75
+
76
+ def build_with_mangling
77
+ UI.puts 'Mangling symbols'
78
+ defines = Symbols.mangle_for_pod_dependencies(@spec.name, @sandbox_root)
79
+ UI.puts 'Building mangled framework'
80
+ xcodebuild(defines)
81
+ return defines
82
+ end
83
+
84
+ def compile
85
+ xcodebuild
86
+
87
+ if @spec.dependencies.count > 0 && @mangle
88
+ return build_with_mangling
89
+ end
90
+
91
+ ''
92
+ end
93
+
94
+ def copy_headers
95
+ headers_source_root = "#{@public_headers_root}/#{@spec.name}"
96
+
97
+ Dir.glob("#{headers_source_root}/**/*.h").
98
+ each { |h| `ditto #{h} #{@fwk.headers_path}/#{h.sub(headers_source_root, '')}` }
99
+ end
100
+
101
+ def copy_license
102
+ license_file = @spec.license[:file]
103
+ license_file = 'LICENSE' unless license_file
104
+ `cp "#{@sandbox_root}/#{@spec.name}/#{license_file}" .`
105
+ end
106
+
107
+ def copy_resources(platform)
108
+ `cp -rp #{@sandbox_root}/build/*.bundle #{@fwk.resources_path} 2>&1`
109
+
110
+ resources = expand_paths(@spec.consumer(platform).resources)
111
+ return if resources.count == 0
112
+ `cp -rp #{resources.join(' ')} #{@fwk.resources_path}`
113
+ end
114
+
115
+ def create_framework(platform)
116
+ @fwk = Framework::Tree.new(@spec.name, platform, @embedded)
117
+ @fwk.make
118
+ end
119
+
120
+ def expand_paths(path_specs)
121
+ path_specs.map do |path_spec|
122
+ Dir.glob(File.join(@source_dir, path_spec))
123
+ end
124
+ end
125
+
126
+ def static_libs_in_sandbox
127
+ Dir.glob("#{@sandbox_root}/build/*.a").reject { |e| e =~ /libPods\.a$/ }
128
+ end
129
+
130
+ def xcodebuild(defines = '', args = '', build_dir = 'build')
131
+ `xcodebuild #{defines} CONFIGURATION_BUILD_DIR=#{build_dir} clean build #{args} -configuration Release -target Pods -project #{@sandbox_root}/Pods.xcodeproj 2>&1`
132
+ end
133
+ end
134
+ end
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  module Packager
3
- VERSION = '0.2.0'
3
+ VERSION = '0.3.0'
4
4
  end
5
5
  end
@@ -1,4 +1,7 @@
1
1
  require 'pod/command/package'
2
+ require 'builder'
3
+ require 'framework'
2
4
  require 'mangle'
5
+ require 'pod_utils'
3
6
  require 'spec_builder'
4
7
  require 'symbols'
@@ -0,0 +1,59 @@
1
+ module Framework
2
+ class Tree
3
+ attr_reader :headers_path
4
+ attr_reader :resources_path
5
+ attr_reader :root_path
6
+ attr_reader :versions_path
7
+
8
+ def initialize(name, platform, embedded)
9
+ @name = name
10
+ @platform = platform
11
+ @embedded = embedded
12
+ end
13
+
14
+ def make
15
+ make_root
16
+ make_framework
17
+ make_headers
18
+ make_resources
19
+ make_current_version
20
+ end
21
+
22
+ :private
23
+
24
+ def make_current_version
25
+ current_version_path = @versions_path + Pathname.new('../Current')
26
+ `ln -sf A #{current_version_path}`
27
+ `ln -sf Versions/Current/Headers #{@fwk_path}/`
28
+ `ln -sf Versions/Current/Resources #{@fwk_path}/`
29
+ `ln -sf Versions/Current/#{@name} #{@fwk_path}/`
30
+ end
31
+
32
+ def make_framework
33
+ @fwk_path = @root_path + Pathname.new(@name + '.framework')
34
+ @fwk_path.mkdir unless @fwk_path.exist?
35
+
36
+ @versions_path = @fwk_path + Pathname.new('Versions/A')
37
+ end
38
+
39
+ def make_headers
40
+ @headers_path = @versions_path + Pathname.new('Headers')
41
+ @headers_path.mkpath unless @headers_path.exist?
42
+ end
43
+
44
+ def make_resources
45
+ @resources_path = @versions_path + Pathname.new('Resources')
46
+ @resources_path.mkpath unless @resources_path.exist?
47
+ end
48
+
49
+ def make_root
50
+ @root_path = Pathname.new(@platform)
51
+
52
+ if @embedded
53
+ @root_path += Pathname.new(@name + '.embeddedframwork')
54
+ end
55
+
56
+ @root_path.mkpath unless @root_path.exist?
57
+ end
58
+ end
59
+ end
@@ -8,15 +8,22 @@ module Pod
8
8
 
9
9
  def self.options
10
10
  [
11
- ['--force', 'Overwrite existing files.']
11
+ ['--force', 'Overwrite existing files.'],
12
+ ['--no-mangle', 'Do not mangle symbols of depedendant Pods.'],
13
+ ['--embedded', 'Generate embedded frameworks.'],
14
+ ['--library', 'Generate static libraries.']
12
15
  ]
13
16
  end
14
17
 
15
18
  def initialize(argv)
19
+ @embedded = argv.flag?('embedded')
16
20
  @force = argv.flag?('force')
21
+ @library = argv.flag?('library')
22
+ @mangle = argv.flag?('mangle', true)
17
23
  @name = argv.shift_argument
18
24
  @source = argv.shift_argument
19
25
 
26
+ @source_dir = Dir.pwd
20
27
  @spec = spec_with_path(@name)
21
28
  @spec = spec_with_name(@name) unless @spec
22
29
  super
@@ -28,58 +35,18 @@ module Pod
28
35
  end
29
36
 
30
37
  def run
31
- if @spec
32
- target_dir = "#{Dir.pwd}/#{@spec.name}-#{@spec.version}"
33
- if File.exist? target_dir
34
- if @force
35
- Pathname.new(target_dir).rmtree
36
- else
37
- UI.puts "Target directory '#{target_dir}' already exists."
38
- return
39
- end
40
- end
41
-
42
- work_dir = Dir.tmpdir + '/cocoapods-' + Array.new(8) { rand(36).to_s(36) }.join
43
-
44
- UI.puts 'Using build directory ' + work_dir
45
- Pathname.new(work_dir).mkdir
46
- `cp #{@path} #{work_dir}`
47
- Dir.chdir(work_dir)
48
-
49
- builder = SpecBuilder.new(@spec, @source)
50
- newspec = builder.spec_metadata
51
-
52
- @spec.available_platforms.each do |platform|
53
- build_in_sandbox(platform)
54
-
55
- newspec += builder.spec_platform(platform)
56
- end
57
-
58
- newspec += builder.spec_close
59
- File.open(@spec.name + '.podspec', 'w') { |file| file.write(newspec) }
60
-
61
- `mv #{work_dir} #{target_dir}`
62
- else
38
+ if @path.nil? || @spec.nil?
63
39
  help! 'Unable to find a podspec with path or name.'
40
+ return
64
41
  end
65
- end
66
-
67
- def spec_with_name(name)
68
- return unless !name.nil?
69
42
 
70
- set = SourcesManager.search(Dependency.new(name))
71
-
72
- if set
73
- set.specification.root
74
- end
43
+ target_dir, work_dir = create_working_directory
44
+ return if target_dir.nil?
45
+ build_package
46
+ `mv #{work_dir} #{target_dir}`
75
47
  end
76
48
 
77
- def spec_with_path(path)
78
- if !path.nil? && Pathname.new(path).exist?
79
- @path = path
80
- Specification.from_file(path)
81
- end
82
- end
49
+ :private
83
50
 
84
51
  def build_in_sandbox(platform)
85
52
  config.sandbox_root = 'Pods'
@@ -88,90 +55,64 @@ module Pod
88
55
 
89
56
  sandbox = install_pod(platform.name)
90
57
 
91
- UI.puts 'Building framework'
92
- xcodebuild
93
- UI.puts 'Mangling symbols'
94
- defines = Symbols.mangle_for_pod_dependencies(@spec.name, config.sandbox_root)
95
- UI.puts 'Building mangled framework'
96
- xcodebuild(defines)
97
-
98
- versions_path, headers_path, resources_path = create_framework_tree(platform.name.to_s)
99
- headers_source_root = "#{sandbox.public_headers.root}/#{@spec.name}"
100
- Dir.glob("#{headers_source_root}/**/*.h").
101
- each { |h| `ditto #{h} #{headers_path}/#{h.sub(headers_source_root, '')}` }
102
- `cp -rp #{config.sandbox_root}/build/*.bundle #{resources_path} 2>&1`
103
-
104
- static_libs = Dir.glob("#{config.sandbox_root}/build/*.a").reject { |e| e =~ /libPods\.a$/ }
105
-
106
- if platform.name == :ios
107
- `libtool -static -o #{config.sandbox_root}/build/package.a #{static_libs.join(' ')}`
108
-
109
- xcodebuild(defines, '-sdk iphonesimulator', 'build-sim')
110
- sim_libs = static_libs.map { |path| "#{config.sandbox_root}/build-sim/#{File.basename(path)}" }
111
- `libtool -static -o #{config.sandbox_root}/build-sim/package.a #{sim_libs.join(' ')}`
112
-
113
- `lipo #{config.sandbox_root}/build/package.a #{config.sandbox_root}/build-sim/libPods.a -create -output #{versions_path}/#{@spec.name}`
114
- else
115
- `libtool -static -o #{versions_path}/#{@spec.name} #{static_libs.join(' ')}`
116
- end
117
-
118
- #bundle_path = resources_path + Pathname.new("#{spec.name}.bundle")
119
- #bundle_path.mkpath unless bundle_path.exist?
120
-
121
- license_file = @spec.license[:file]
122
- license_file = 'LICENSE' unless license_file
123
- `cp "#{config.sandbox_root}/#{@spec.name}/#{license_file}" .`
58
+ perform_build(platform, sandbox)
124
59
 
125
60
  Pathname.new(config.sandbox_root).rmtree
126
61
  Pathname.new('Podfile.lock').delete
127
62
  end
128
63
 
129
- def xcodebuild(defines = '', args = '', build_dir = 'build')
130
- `xcodebuild #{defines} CONFIGURATION_BUILD_DIR=#{build_dir} clean build #{args} -configuration Release -target Pods -project #{config.sandbox_root}/Pods.xcodeproj 2>&1`
131
- end
132
-
133
- def create_framework_tree(platform)
134
- Pathname.new(platform).mkdir
135
- root_path = Pathname.new(platform + '/' + @spec.name + '.framework')
136
- root_path.mkdir unless root_path.exist?
64
+ def build_package
65
+ builder = SpecBuilder.new(@spec, @source)
66
+ newspec = builder.spec_metadata
137
67
 
138
- versions_path = root_path + Pathname.new('Versions/A')
68
+ @spec.available_platforms.each do |platform|
69
+ build_in_sandbox(platform)
139
70
 
140
- headers_path = versions_path + Pathname.new('Headers')
141
- headers_path.mkpath unless headers_path.exist?
142
-
143
- resources_path = versions_path + Pathname.new('Resources')
144
- resources_path.mkpath unless resources_path.exist?
145
-
146
- current_version_path = versions_path + Pathname.new('../Current')
147
- `ln -sf A #{current_version_path}`
148
- `ln -sf Versions/Current/Headers #{root_path}/`
149
- `ln -sf Versions/Current/#{@spec.name} #{root_path}/`
71
+ newspec += builder.spec_platform(platform)
72
+ end
150
73
 
151
- return versions_path, headers_path, resources_path
74
+ newspec += builder.spec_close
75
+ File.open(@spec.name + '.podspec', 'w') { |file| file.write(newspec) }
152
76
  end
153
77
 
154
- def podfile_from_spec(platform_name, deployment_target)
155
- name = @spec.name
156
- path = @path
157
- podfile = Pod::Podfile.new do
158
- platform(platform_name, deployment_target)
159
- if path
160
- pod name, :podspec => path
78
+ def create_target_directory
79
+ target_dir = "#{@source_dir}/#{@spec.name}-#{@spec.version}"
80
+ if File.exist? target_dir
81
+ if @force
82
+ Pathname.new(target_dir).rmtree
161
83
  else
162
- pod name, :path => '.'
84
+ UI.puts "Target directory '#{target_dir}' already exists."
85
+ return nil
163
86
  end
164
87
  end
165
- podfile
88
+ target_dir
89
+ end
90
+
91
+ def create_working_directory
92
+ target_dir = create_target_directory
93
+ return if target_dir.nil?
94
+
95
+ work_dir = Dir.tmpdir + '/cocoapods-' + Array.new(8) { rand(36).to_s(36) }.join
96
+ Pathname.new(work_dir).mkdir
97
+ `cp #{@path} #{work_dir}`
98
+ Dir.chdir(work_dir)
99
+
100
+ [target_dir, work_dir]
166
101
  end
167
102
 
168
- def install_pod(platform_name)
169
- podfile = podfile_from_spec(platform_name, @spec.deployment_target(platform_name))
170
- sandbox = Sandbox.new(config.sandbox_root)
171
- installer = Installer.new(sandbox, podfile)
172
- installer.install!
103
+ def perform_build(platform, sandbox)
104
+ builder = Pod::Builder.new(
105
+ @source_dir,
106
+ config.sandbox_root,
107
+ sandbox.public_headers.root,
108
+ @spec,
109
+ @embedded,
110
+ @mangle)
111
+
112
+ builder.build(platform, @library)
173
113
 
174
- sandbox
114
+ return unless @embedded
115
+ builder.link_embedded_resources
175
116
  end
176
117
  end
177
118
  end
@@ -0,0 +1,48 @@
1
+ module Pod
2
+ class Command
3
+ class Package < Command
4
+ :private
5
+
6
+ def install_pod(platform_name)
7
+ podfile = podfile_from_spec(
8
+ File.basename(@path),
9
+ @spec.name,
10
+ platform_name,
11
+ @spec.deployment_target(platform_name))
12
+
13
+ sandbox = Sandbox.new(config.sandbox_root)
14
+ installer = Installer.new(sandbox, podfile)
15
+ installer.install!
16
+
17
+ sandbox
18
+ end
19
+
20
+ def podfile_from_spec(path, spec_name, platform_name, deployment_target)
21
+ Pod::Podfile.new do
22
+ platform(platform_name, deployment_target)
23
+ if path
24
+ pod spec_name, :podspec => path
25
+ else
26
+ pod spec_name, :path => '.'
27
+ end
28
+ end
29
+ end
30
+
31
+ def spec_with_name(name)
32
+ return if name.nil?
33
+
34
+ set = SourcesManager.search(Dependency.new(name))
35
+ return nil if set.nil?
36
+
37
+ set.specification.root
38
+ end
39
+
40
+ def spec_with_path(path)
41
+ return if path.nil? || !Pathname.new(path).exist?
42
+
43
+ @path = path
44
+ Specification.from_file(path)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -11,39 +11,46 @@ module Pod
11
11
  s.#{platform.name}.platform = :#{platform.symbolic_name}, '#{platform.deployment_target}'
12
12
  s.#{platform.name}.preserve_paths = '#{fwk_base}'
13
13
  s.#{platform.name}.public_header_files = '#{fwk_base}/Versions/A/Headers/*.h'
14
- s.#{platform.name}.resource = '#{fwk_base}/Versions/A/Resources/*.bundle'
14
+ s.#{platform.name}.resource = '#{fwk_base}/Versions/A/Resources/**/*'
15
15
  s.#{platform.name}.vendored_frameworks = '#{fwk_base}'
16
-
17
16
  SPEC
18
17
  end
19
18
 
20
19
  def spec_metadata
21
- spec = <<SPEC
22
- Pod::Spec.new do |s|
23
- s.name = "#{@spec.name}"
24
- s.version = "#{@spec.version}"
25
- s.summary = "#{@spec.summary}"
26
- s.license = #{@spec.license}
27
- s.authors = #{@spec.authors}
28
- s.homepage = "#{@spec.homepage}"
29
- s.source = #{@source}
20
+ spec = spec_header
21
+ spec += spec_single_platform_fix
22
+ spec
23
+ end
30
24
 
31
- SPEC
25
+ def spec_close
26
+ "end\n"
27
+ end
32
28
 
33
- if @spec.available_platforms.length == 1
34
- platform = @spec.available_platforms.first
29
+ :private
35
30
 
36
- spec += <<SPEC
37
- s.platform = :#{platform.symbolic_name}, '#{platform.deployment_target}'
31
+ def spec_header
32
+ spec = "Pod::Spec.new do |s|\n"
38
33
 
39
- SPEC
34
+ %w(name version summary license authors homepage description social_media_url
35
+ docset_url documentation_url screenshots).each do |attribute|
36
+ value = @spec.attributes_hash[attribute]
37
+ next if value.nil?
38
+
39
+ value = "'#{value}'" if value.class == String
40
+ spec += " s.#{attribute} = #{value}\n"
40
41
  end
41
42
 
42
- spec
43
+ spec + " s.source = '#{@source}'\n\n"
43
44
  end
44
45
 
45
- def spec_close
46
- 'end'
46
+ def spec_single_platform_fix
47
+ return '' if @spec.available_platforms.length > 1
48
+
49
+ platform = @spec.available_platforms.first
50
+
51
+ <<SPEC
52
+ s.platform = :#{platform.symbolic_name}, '#{platform.deployment_target}'
53
+ SPEC
47
54
  end
48
55
  end
49
56
  end
@@ -7,7 +7,7 @@ module Pod
7
7
  Command.parse(%w{ package }).should.be.instance_of Command::Package
8
8
  end
9
9
 
10
- it 'presents the help if no spec is provide' do
10
+ it 'presents the help if no spec is provided' do
11
11
  command = Command.parse(%w{ package })
12
12
  should.raise CLAide::Help do
13
13
  command.validate!
@@ -32,12 +32,12 @@ module Pod
32
32
  true.should == true # To make the test pass without any shoulds
33
33
  end
34
34
 
35
- it "runs with a spec in the master repository" do
36
- command = Command.parse(%w{ package KFData })
37
- command.run
35
+ #it "runs with a spec in the master repository" do
36
+ # command = Command.parse(%w{ package KFData })
37
+ # command.run
38
38
 
39
- true.should == true # To make the test pass without any shoulds
40
- end
39
+ # true.should == true # To make the test pass without any shoulds
40
+ #end
41
41
  end
42
42
  end
43
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-packager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Fuller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-18 00:00:00.000000000 Z
11
+ date: 2014-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,12 +53,14 @@ files:
53
53
  - LICENSE
54
54
  - README.md
55
55
  - Rakefile
56
- - TODO.md
57
56
  - cocoapods-packager.gemspec
57
+ - lib/builder.rb
58
58
  - lib/cocoapods_packager.rb
59
59
  - lib/cocoapods_plugin.rb
60
+ - lib/framework.rb
60
61
  - lib/mangle.rb
61
62
  - lib/pod/command/package.rb
63
+ - lib/pod_utils.rb
62
64
  - lib/spec_builder.rb
63
65
  - lib/symbols.rb
64
66
  - scripts/lstconst.sh
data/TODO.md DELETED
@@ -1,6 +0,0 @@
1
- [ ] Handle license file in generated podspec
2
- [ ] Handle resources
3
- [ ] Write tests
4
- [ ] Implement various commandline options
5
- [ ] Make symbol aliasing configurable
6
-