motion-cocoapods 1.0.1 → 1.0.2
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.
- data/README.rdoc +4 -4
- data/lib/motion/project/cocoapods.rb +36 -39
- metadata +14 -13
data/README.rdoc
CHANGED
@@ -34,13 +34,13 @@ That's all. The build system will properly download the given pods and their dep
|
|
34
34
|
|
35
35
|
1. Setup a local development environment.
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
37
|
+
$ git clone git://github.com/HipByte/motion-cocoapods.git
|
38
|
+
$ cd motion-cocoapods
|
39
|
+
$ rake bootstrap
|
40
40
|
|
41
41
|
2. Verify that all the tests are passing.
|
42
42
|
|
43
|
-
|
43
|
+
$ rake spec
|
44
44
|
|
45
45
|
3. Create your patch and send a pull-request[http://help.github.com/send-pull-requests/].
|
46
46
|
|
@@ -36,71 +36,68 @@ module Motion::Project
|
|
36
36
|
@pods ||= Motion::Project::CocoaPods.new(self)
|
37
37
|
if block
|
38
38
|
@pods.instance_eval(&block)
|
39
|
-
@pods.
|
39
|
+
@pods.install!
|
40
40
|
end
|
41
41
|
@pods
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
class CocoaPods
|
46
|
-
VERSION = '1.0.
|
46
|
+
VERSION = '1.0.2'
|
47
47
|
|
48
48
|
def initialize(config)
|
49
49
|
@config = config
|
50
50
|
@podfile = Pod::Podfile.new {}
|
51
51
|
@podfile.platform :ios
|
52
52
|
|
53
|
-
Pod::Config.instance
|
54
|
-
|
55
|
-
|
53
|
+
cp_config = Pod::Config.instance
|
54
|
+
if ENV['COCOAPODS_VERBOSE']
|
55
|
+
cp_config.verbose = true
|
56
|
+
else
|
57
|
+
cp_config.silent = true
|
58
|
+
end
|
59
|
+
cp_config.rootspec = @podfile if cp_config.respond_to?(:rootspec) # CocoaPods 0.5.x backward compatibility
|
60
|
+
cp_config.integrate_targets = false if cp_config.respond_to?(:integrate_targets) # CocoaPods 0.6 forward compatibility
|
61
|
+
cp_config.project_root = Pathname.new(config.project_dir) + 'vendor'
|
56
62
|
end
|
57
63
|
|
58
64
|
def dependency(*name_and_version_requirements, &block)
|
59
65
|
@podfile.dependency(*name_and_version_requirements, &block)
|
60
66
|
end
|
61
67
|
|
68
|
+
def post_install(&block)
|
69
|
+
@podfile.post_install(&block)
|
70
|
+
end
|
71
|
+
|
62
72
|
def pods_installer
|
63
73
|
@installer ||= Pod::Installer.new(@podfile)
|
64
74
|
end
|
65
75
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
podspec.expanded_source_files.select do |p|
|
71
|
-
File.extname(p) == '.h'
|
72
|
-
end.map do |p|
|
73
|
-
"-I\"" + File.expand_path(File.join('./vendor', File.dirname(p))) + "\""
|
74
|
-
end
|
75
|
-
end.flatten.join(' ')
|
76
|
-
specs.each do |podspec|
|
77
|
-
cflags = (podspec.compiler_flags or '') + ' ' + header_paths
|
78
|
-
source_files = podspec.expanded_source_files.map do |path|
|
79
|
-
# Remove the first part of the path which is the project directory.
|
80
|
-
path.to_s.split('/')[1..-1].join('/')
|
81
|
-
end
|
76
|
+
# For now we only support one Pods target, this will have to be expanded
|
77
|
+
# once we work on more spec support.
|
78
|
+
def install!
|
79
|
+
pods_installer.install!
|
82
80
|
|
83
|
-
|
84
|
-
|
85
|
-
|
81
|
+
@config.vendor_project('vendor/Pods', :xcode,
|
82
|
+
:target => 'Pods',
|
83
|
+
:headers_dir => 'Headers',
|
84
|
+
:products => %w{ libPods.a }
|
85
|
+
)
|
86
86
|
|
87
|
-
|
88
|
-
if
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
87
|
+
xcconfig = @installer.target_installers.find do |target_installer|
|
88
|
+
if target_installer.respond_to?(:definition)
|
89
|
+
target_installer.definition.name == :default
|
90
|
+
else
|
91
|
+
# CocoaPods 0.6 forward compatibility
|
92
|
+
target_installer.target_definition.name == :default
|
93
93
|
end
|
94
|
+
end.xcconfig
|
94
95
|
|
95
|
-
=
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
end) - source_files.select { |p| File.extname(p) == '.h' }
|
101
|
-
p headers_to_ignore,source_files.select { |p| File.extname(p) == '.h' } ,:ok
|
102
|
-
#headers_to_ignore.each { |p| FileUtils.rm_rf File.join(podspec.pod_destroot, p) }
|
103
|
-
=end
|
96
|
+
if ldflags = xcconfig.to_hash['OTHER_LDFLAGS']
|
97
|
+
@config.frameworks.concat(ldflags.scan(/-framework\s+([^\s]+)/).map { |m| m[0] })
|
98
|
+
@config.frameworks.uniq!
|
99
|
+
@config.libs.concat(ldflags.scan(/-l([^\s]+)/).map { |m| "/usr/lib/lib#{m[0]}.dylib" })
|
100
|
+
@config.libs.uniq!
|
104
101
|
end
|
105
102
|
end
|
106
103
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 1.0.1
|
9
|
+
- 2
|
10
|
+
version: 1.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Laurent Sansonetti
|
@@ -15,24 +15,24 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-05-
|
19
|
-
default_executable:
|
18
|
+
date: 2012-05-15 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
21
|
+
prerelease: false
|
22
|
+
type: :runtime
|
22
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
23
25
|
requirements:
|
24
26
|
- - ">="
|
25
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 9
|
26
29
|
segments:
|
27
30
|
- 0
|
28
31
|
- 5
|
29
32
|
- 1
|
30
|
-
segments_generated: true
|
31
33
|
version: 0.5.1
|
32
34
|
requirement: *id001
|
33
35
|
name: cocoapods
|
34
|
-
prerelease: false
|
35
|
-
type: :runtime
|
36
36
|
description: motion-cocoapods allows RubyMotion projects to have access to the CocoaPods dependency manager.
|
37
37
|
email: lrz@hipbyte.com
|
38
38
|
executables: []
|
@@ -46,7 +46,6 @@ files:
|
|
46
46
|
- lib/motion-cocoapods.rb
|
47
47
|
- README.rdoc
|
48
48
|
- LICENSE
|
49
|
-
has_rdoc: true
|
50
49
|
homepage: http://www.rubymotion.com
|
51
50
|
licenses: []
|
52
51
|
|
@@ -56,25 +55,27 @@ rdoc_options: []
|
|
56
55
|
require_paths:
|
57
56
|
- lib
|
58
57
|
required_ruby_version: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
59
|
requirements:
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
+
hash: 3
|
62
63
|
segments:
|
63
64
|
- 0
|
64
|
-
segments_generated: true
|
65
65
|
version: "0"
|
66
66
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
67
68
|
requirements:
|
68
69
|
- - ">="
|
69
70
|
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
70
72
|
segments:
|
71
73
|
- 0
|
72
|
-
segments_generated: true
|
73
74
|
version: "0"
|
74
75
|
requirements: []
|
75
76
|
|
76
77
|
rubyforge_project:
|
77
|
-
rubygems_version: 1.
|
78
|
+
rubygems_version: 1.8.21
|
78
79
|
signing_key:
|
79
80
|
specification_version: 3
|
80
81
|
summary: CocoaPods integration for RubyMotion projects
|