cocoapods-packager 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop-cocoapods.yml +1 -0
- data/.rubocop.yml +19 -0
- data/.travis.yml +4 -1
- data/Gemfile +2 -1
- data/Gemfile.lock +54 -41
- data/Rakefile +2 -2
- data/cocoapods-packager.gemspec +1 -1
- data/lib/cocoapods-packager/builder.rb +135 -44
- data/lib/cocoapods-packager/framework.rb +1 -1
- data/lib/cocoapods-packager/mangle.rb +4 -4
- data/lib/cocoapods-packager/pod_utils.rb +175 -21
- data/lib/cocoapods-packager/spec_builder.rb +13 -17
- data/lib/cocoapods-packager/symbols.rb +4 -3
- data/lib/cocoapods_packager.rb +1 -1
- data/lib/pod/command/package.rb +40 -15
- data/spec/command/error_spec.rb +7 -0
- data/spec/command/package_spec.rb +189 -13
- data/spec/command/subspecs_spec.rb +2 -2
- data/spec/fixtures/KFData.podspec +2 -2
- data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.pbxproj +39 -23
- data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.m +2 -1
- data/spec/fixtures/LibraryConsumerDemo/Podfile +4 -0
- data/spec/fixtures/LibraryDemo.podspec +4 -2
- data/spec/fixtures/NikeKit.podspec +1 -1
- data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.pbxproj +36 -20
- data/spec/fixtures/PackagerTest/Podfile.lock +3 -1
- data/spec/fixtures/a.podspec +1 -1
- data/spec/fixtures/foo-bar.podspec +1 -1
- data/spec/integration/project_spec.rb +24 -3
- data/spec/pod/utils_spec.rb +40 -9
- data/spec/specification/builder_spec.rb +7 -7
- data/spec/specification/spec_builder_spec.rb +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15cde4b2c4092c26aa0abbc1f1953b2b657829f9
|
4
|
+
data.tar.gz: 784ba7406652d2a6b60ad355172179e97671f58d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ae712975ce0b4a95f2e2dfab7ed2725b3996b20edec01a847cd24dbe6db54fe5c18dc6b6bb94158f1148873196d5a23081b96e6c79bf471e62ad40ea16be8b9
|
7
|
+
data.tar.gz: 025a25756bfb11ded60b81d13000b93e6368c02aa537d6c0ecac77a6d172aebbfdd657f120fe126b095e0e21c60ce0d193b04cc3b473bb1a275110f39329c0f0
|
data/.rubocop-cocoapods.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -7,6 +7,7 @@ AllCops:
|
|
7
7
|
Exclude:
|
8
8
|
- spec/**/*
|
9
9
|
- spec/fixtures/**/*
|
10
|
+
- vendor/**/*
|
10
11
|
|
11
12
|
Style/Tab:
|
12
13
|
Enabled: false
|
@@ -14,3 +15,21 @@ Style/Tab:
|
|
14
15
|
LineLength:
|
15
16
|
Enabled: false
|
16
17
|
|
18
|
+
ClassLength:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
MethodLength:
|
22
|
+
Enabled: false
|
23
|
+
|
24
|
+
Metrics/AbcSize:
|
25
|
+
Enabled: false
|
26
|
+
|
27
|
+
Metrics/PerceivedComplexity:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
Metrics/ParameterLists:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
Style/SpecialGlobalVars:
|
34
|
+
EnforcedStyle: use_perl_names
|
35
|
+
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -6,6 +6,7 @@ group :development do
|
|
6
6
|
gem 'bacon'
|
7
7
|
gem 'mocha-on-bacon'
|
8
8
|
gem 'mocha', '~> 0.11.4'
|
9
|
-
gem 'prettybacon'
|
9
|
+
gem 'prettybacon'
|
10
10
|
gem 'coveralls', :require => false
|
11
|
+
gem 'rubocop'
|
11
12
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,55 +1,52 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/irrationalfab/PrettyBacon.git
|
3
|
-
revision: 1eeb06f7d381acd65414b86b42fdf3538faae01c
|
4
|
-
branch: master
|
5
|
-
specs:
|
6
|
-
prettybacon (0.0.2)
|
7
|
-
bacon (~> 1.2)
|
8
|
-
|
9
1
|
PATH
|
10
2
|
remote: .
|
11
3
|
specs:
|
12
|
-
cocoapods-packager (1.
|
13
|
-
cocoapods (>= 0.
|
4
|
+
cocoapods-packager (1.4.0)
|
5
|
+
cocoapods (>= 1.0.0, < 2.0)
|
14
6
|
|
15
7
|
GEM
|
16
8
|
remote: https://rubygems.org/
|
17
9
|
specs:
|
18
|
-
activesupport (4.2.
|
10
|
+
activesupport (4.2.6)
|
19
11
|
i18n (~> 0.7)
|
20
12
|
json (~> 1.7, >= 1.7.7)
|
21
13
|
minitest (~> 5.1)
|
22
14
|
thread_safe (~> 0.3, >= 0.3.4)
|
23
15
|
tzinfo (~> 1.1)
|
16
|
+
ast (2.2.0)
|
24
17
|
bacon (1.2.0)
|
25
|
-
claide (0.
|
26
|
-
cocoapods (0.
|
27
|
-
activesupport (>=
|
28
|
-
claide (
|
29
|
-
cocoapods-core (= 0.
|
30
|
-
cocoapods-
|
31
|
-
cocoapods-
|
32
|
-
cocoapods-
|
33
|
-
cocoapods-
|
34
|
-
cocoapods-
|
18
|
+
claide (1.0.0)
|
19
|
+
cocoapods (1.0.1)
|
20
|
+
activesupport (>= 4.0.2)
|
21
|
+
claide (>= 1.0.0, < 2.0)
|
22
|
+
cocoapods-core (= 1.0.1)
|
23
|
+
cocoapods-deintegrate (>= 1.0.0, < 2.0)
|
24
|
+
cocoapods-downloader (>= 1.0.0, < 2.0)
|
25
|
+
cocoapods-plugins (>= 1.0.0, < 2.0)
|
26
|
+
cocoapods-search (>= 1.0.0, < 2.0)
|
27
|
+
cocoapods-stats (>= 1.0.0, < 2.0)
|
28
|
+
cocoapods-trunk (>= 1.0.0, < 2.0)
|
29
|
+
cocoapods-try (>= 1.0.0, < 2.0)
|
35
30
|
colored (~> 1.2)
|
36
31
|
escape (~> 0.0.4)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
32
|
+
fourflusher (~> 0.3.0)
|
33
|
+
molinillo (~> 0.4.5)
|
34
|
+
nap (~> 1.0)
|
35
|
+
xcodeproj (>= 1.1.0, < 2.0)
|
36
|
+
cocoapods-core (1.0.1)
|
37
|
+
activesupport (>= 4.0.2)
|
42
38
|
fuzzy_match (~> 2.0.4)
|
43
|
-
nap (~>
|
44
|
-
cocoapods-
|
45
|
-
cocoapods-
|
39
|
+
nap (~> 1.0)
|
40
|
+
cocoapods-deintegrate (1.0.0)
|
41
|
+
cocoapods-downloader (1.0.0)
|
42
|
+
cocoapods-plugins (1.0.0)
|
46
43
|
nap
|
47
|
-
cocoapods-
|
48
|
-
|
49
|
-
cocoapods-trunk (0.
|
44
|
+
cocoapods-search (1.0.0)
|
45
|
+
cocoapods-stats (1.0.0)
|
46
|
+
cocoapods-trunk (1.0.0)
|
50
47
|
nap (>= 0.8, < 2.0)
|
51
48
|
netrc (= 0.7.8)
|
52
|
-
cocoapods-try (0.
|
49
|
+
cocoapods-try (1.0.0)
|
53
50
|
colored (1.2)
|
54
51
|
coveralls (0.8.2)
|
55
52
|
json (~> 1.8)
|
@@ -61,26 +58,40 @@ GEM
|
|
61
58
|
domain_name (0.5.24)
|
62
59
|
unf (>= 0.0.5, < 1.0.0)
|
63
60
|
escape (0.0.4)
|
61
|
+
fourflusher (0.3.1)
|
64
62
|
fuzzy_match (2.0.4)
|
65
63
|
http-cookie (1.0.2)
|
66
64
|
domain_name (~> 0.5)
|
67
65
|
i18n (0.7.0)
|
68
66
|
json (1.8.3)
|
69
67
|
metaclass (0.0.4)
|
70
|
-
mime-types (2.6.
|
71
|
-
minitest (5.
|
68
|
+
mime-types (2.6.2)
|
69
|
+
minitest (5.9.0)
|
72
70
|
mocha (0.11.4)
|
73
71
|
metaclass (~> 0.0.1)
|
74
72
|
mocha-on-bacon (0.2.1)
|
75
73
|
mocha (>= 0.9.8)
|
76
|
-
molinillo (0.
|
77
|
-
nap (
|
74
|
+
molinillo (0.4.5)
|
75
|
+
nap (1.1.0)
|
78
76
|
netrc (0.7.8)
|
77
|
+
parser (2.3.1.0)
|
78
|
+
ast (~> 2.2)
|
79
|
+
powerpack (0.1.1)
|
80
|
+
prettybacon (0.0.2)
|
81
|
+
bacon (~> 1.2)
|
82
|
+
rainbow (2.1.0)
|
79
83
|
rake (10.4.2)
|
80
84
|
rest-client (1.8.0)
|
81
85
|
http-cookie (>= 1.0.2, < 2.0)
|
82
86
|
mime-types (>= 1.16, < 3.0)
|
83
87
|
netrc (~> 0.7)
|
88
|
+
rubocop (0.40.0)
|
89
|
+
parser (>= 2.3.1.0, < 3.0)
|
90
|
+
powerpack (~> 0.1)
|
91
|
+
rainbow (>= 1.99.1, < 3.0)
|
92
|
+
ruby-progressbar (~> 1.7)
|
93
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
94
|
+
ruby-progressbar (1.8.1)
|
84
95
|
simplecov (0.10.0)
|
85
96
|
docile (~> 1.1.0)
|
86
97
|
json (~> 1.8)
|
@@ -96,9 +107,10 @@ GEM
|
|
96
107
|
unf (0.1.4)
|
97
108
|
unf_ext
|
98
109
|
unf_ext (0.0.7.1)
|
99
|
-
|
110
|
+
unicode-display_width (1.0.5)
|
111
|
+
xcodeproj (1.1.0)
|
100
112
|
activesupport (>= 3)
|
101
|
-
claide (
|
113
|
+
claide (>= 1.0.0, < 2.0)
|
102
114
|
colored (~> 1.2)
|
103
115
|
|
104
116
|
PLATFORMS
|
@@ -111,8 +123,9 @@ DEPENDENCIES
|
|
111
123
|
coveralls
|
112
124
|
mocha (~> 0.11.4)
|
113
125
|
mocha-on-bacon
|
114
|
-
prettybacon
|
126
|
+
prettybacon
|
115
127
|
rake
|
128
|
+
rubocop
|
116
129
|
|
117
130
|
BUNDLED WITH
|
118
|
-
1.
|
131
|
+
1.12.5
|
data/Rakefile
CHANGED
data/cocoapods-packager.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
16
16
|
spec.require_paths = ["lib"]
|
17
17
|
|
18
|
-
spec.add_dependency "cocoapods",
|
18
|
+
spec.add_dependency "cocoapods", '>= 1.0.0', '< 2.0'
|
19
19
|
|
20
20
|
spec.add_development_dependency "bundler", "~> 1.3"
|
21
21
|
spec.add_development_dependency "rake"
|
@@ -1,12 +1,16 @@
|
|
1
1
|
module Pod
|
2
2
|
class Builder
|
3
|
-
def initialize(source_dir,
|
3
|
+
def initialize(source_dir, static_sandbox_root, dynamic_sandbox_root, public_headers_root, spec, embedded, mangle, dynamic, config, exclude_deps)
|
4
4
|
@source_dir = source_dir
|
5
|
-
@
|
5
|
+
@static_sandbox_root = static_sandbox_root
|
6
|
+
@dynamic_sandbox_root = dynamic_sandbox_root
|
6
7
|
@public_headers_root = public_headers_root
|
7
8
|
@spec = spec
|
8
9
|
@embedded = embedded
|
9
10
|
@mangle = mangle
|
11
|
+
@dynamic = dynamic
|
12
|
+
@config = config
|
13
|
+
@exclude_deps = exclude_deps
|
10
14
|
end
|
11
15
|
|
12
16
|
def build(platform, library)
|
@@ -18,22 +22,31 @@ module Pod
|
|
18
22
|
end
|
19
23
|
|
20
24
|
def build_static_library(platform)
|
21
|
-
UI.puts(
|
25
|
+
UI.puts("Building static library #{@spec} with configuration #{@config}")
|
22
26
|
|
23
27
|
defines = compile(platform)
|
28
|
+
build_sim_libraries(platform, defines)
|
29
|
+
|
24
30
|
platform_path = Pathname.new(platform.name.to_s)
|
25
31
|
platform_path.mkdir unless platform_path.exist?
|
26
32
|
build_library(platform, defines, platform_path + Pathname.new("lib#{@spec.name}.a"))
|
27
33
|
end
|
28
34
|
|
29
35
|
def build_framework(platform)
|
30
|
-
UI.puts(
|
36
|
+
UI.puts("Building framework #{@spec} with configuration #{@config}")
|
31
37
|
|
32
38
|
defines = compile(platform)
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
39
|
+
build_sim_libraries(platform, defines)
|
40
|
+
|
41
|
+
if @dynamic
|
42
|
+
build_dynamic_framework(platform, defines, "#{@dynamic_sandbox_root}/build/#{@spec.name}.framework/#{@spec.name}")
|
43
|
+
else
|
44
|
+
create_framework(platform.name.to_s)
|
45
|
+
build_library(platform, defines, @fwk.versions_path + Pathname.new(@spec.name))
|
46
|
+
copy_headers
|
47
|
+
copy_license
|
48
|
+
end
|
49
|
+
|
37
50
|
copy_resources(platform)
|
38
51
|
end
|
39
52
|
|
@@ -47,7 +60,18 @@ module Pod
|
|
47
60
|
end
|
48
61
|
end
|
49
62
|
|
50
|
-
|
63
|
+
private
|
64
|
+
|
65
|
+
def build_dynamic_framework(platform, defines, output)
|
66
|
+
UI.puts("Building dynamic Framework #{@spec} with configuration #{@config}")
|
67
|
+
|
68
|
+
clean_directory_for_dynamic_build
|
69
|
+
if platform.name == :ios
|
70
|
+
build_dynamic_framework_for_ios(platform, defines, output)
|
71
|
+
else
|
72
|
+
build_dynamic_framework_for_mac(platform, defines, output)
|
73
|
+
end
|
74
|
+
end
|
51
75
|
|
52
76
|
def build_library(platform, defines, output)
|
53
77
|
static_libs = static_libs_in_sandbox
|
@@ -59,15 +83,53 @@ module Pod
|
|
59
83
|
end
|
60
84
|
end
|
61
85
|
|
62
|
-
def
|
86
|
+
def build_dynamic_framework_for_ios(platform, defines, output)
|
87
|
+
# Specify frameworks to link and search paths
|
88
|
+
linker_flags = static_linker_flags_in_sandbox
|
89
|
+
defines = "#{defines} OTHER_LDFLAGS='$(inherited) #{linker_flags.join(' ')}'"
|
90
|
+
|
91
|
+
# Build Target Dynamic Framework for both device and Simulator
|
92
|
+
device_defines = "#{defines} LIBRARY_SEARCH_PATHS=\"#{Dir.pwd}/#{@static_sandbox_root}/build\""
|
93
|
+
device_options = ios_build_options << ' -sdk iphoneos'
|
94
|
+
xcodebuild(device_defines, device_options, 'build', @spec.name.to_s, @dynamic_sandbox_root.to_s)
|
95
|
+
|
96
|
+
sim_defines = "#{defines} LIBRARY_SEARCH_PATHS=\"#{Dir.pwd}/#{@static_sandbox_root}/build-sim\" ONLY_ACTIVE_ARCH=NO"
|
97
|
+
xcodebuild(sim_defines, '-sdk iphonesimulator', 'build-sim', @spec.name.to_s, @dynamic_sandbox_root.to_s)
|
98
|
+
|
99
|
+
# Combine architectures
|
100
|
+
`lipo #{@dynamic_sandbox_root}/build/#{@spec.name}.framework/#{@spec.name} #{@dynamic_sandbox_root}/build-sim/#{@spec.name}.framework/#{@spec.name} -create -output #{output}`
|
101
|
+
|
102
|
+
FileUtils.mkdir(platform.name.to_s)
|
103
|
+
`mv #{@dynamic_sandbox_root}/build/#{@spec.name}.framework #{platform.name}`
|
104
|
+
end
|
105
|
+
|
106
|
+
def build_dynamic_framework_for_mac(platform, defines, _output)
|
107
|
+
# Specify frameworks to link and search paths
|
108
|
+
linker_flags = static_linker_flags_in_sandbox
|
109
|
+
defines = "#{defines} OTHER_LDFLAGS=\"#{linker_flags.join(' ')}\""
|
110
|
+
|
111
|
+
# Build Target Dynamic Framework for osx
|
112
|
+
defines = "#{defines} LIBRARY_SEARCH_PATHS=\"#{Dir.pwd}/#{@static_sandbox_root}/build\""
|
113
|
+
xcodebuild(defines, nil, 'build', @spec.name.to_s, @dynamic_sandbox_root.to_s)
|
114
|
+
|
115
|
+
FileUtils.mkdir(platform.name.to_s)
|
116
|
+
`mv #{@dynamic_sandbox_root}/build/#{@spec.name}.framework #{platform.name}`
|
117
|
+
end
|
118
|
+
|
119
|
+
def build_sim_libraries(platform, defines)
|
120
|
+
if platform.name == :ios
|
121
|
+
xcodebuild(defines, '-sdk iphonesimulator', 'build-sim')
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
def build_static_lib_for_ios(static_libs, _defines, output)
|
63
126
|
return if static_libs.count == 0
|
64
|
-
`libtool -static -o #{@
|
127
|
+
`libtool -static -o #{@static_sandbox_root}/build/package.a #{static_libs.join(' ')}`
|
65
128
|
|
66
|
-
xcodebuild(defines, '-sdk iphonesimulator', 'build-sim')
|
67
129
|
sim_libs = static_libs_in_sandbox('build-sim')
|
68
|
-
`libtool -static -o #{@
|
130
|
+
`libtool -static -o #{@static_sandbox_root}/build-sim/package.a #{sim_libs.join(' ')}`
|
69
131
|
|
70
|
-
`lipo #{@
|
132
|
+
`lipo #{@static_sandbox_root}/build/package.a #{@static_sandbox_root}/build-sim/package.a -create -output #{output}`
|
71
133
|
end
|
72
134
|
|
73
135
|
def build_static_lib_for_mac(static_libs, output)
|
@@ -75,32 +137,37 @@ module Pod
|
|
75
137
|
`libtool -static -o #{output} #{static_libs.join(' ')}`
|
76
138
|
end
|
77
139
|
|
78
|
-
def build_with_mangling(platform)
|
140
|
+
def build_with_mangling(platform, options)
|
79
141
|
UI.puts 'Mangling symbols'
|
80
|
-
defines = Symbols.mangle_for_pod_dependencies(@spec.name, @
|
81
|
-
defines <<
|
82
|
-
|
83
|
-
if platform.name == :ios
|
84
|
-
defines = "#{defines} ARCHS=\"x86_64 i386 arm64 armv7 armv7s\""
|
85
|
-
end
|
142
|
+
defines = Symbols.mangle_for_pod_dependencies(@spec.name, @static_sandbox_root)
|
143
|
+
defines << ' ' << @spec.consumer(platform).compiler_flags.join(' ')
|
86
144
|
|
87
145
|
UI.puts 'Building mangled framework'
|
88
|
-
xcodebuild(defines)
|
146
|
+
xcodebuild(defines, options)
|
89
147
|
defines
|
90
148
|
end
|
91
149
|
|
150
|
+
def clean_directory_for_dynamic_build
|
151
|
+
# Remove static headers to avoid duplicate declaration conflicts
|
152
|
+
FileUtils.rm_rf("#{@static_sandbox_root}/Headers/Public/#{@spec.name}")
|
153
|
+
FileUtils.rm_rf("#{@static_sandbox_root}/Headers/Private/#{@spec.name}")
|
154
|
+
|
155
|
+
# Equivalent to removing derrived data
|
156
|
+
FileUtils.rm_rf('Pods/build')
|
157
|
+
end
|
158
|
+
|
92
159
|
def compile(platform)
|
93
|
-
defines = "GCC_PREPROCESSOR_DEFINITIONS='PodsDummy_Pods_#{@spec.name}=PodsDummy_PodPackage_#{@spec.name}'"
|
94
|
-
defines <<
|
160
|
+
defines = "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) PodsDummy_Pods_#{@spec.name}=PodsDummy_PodPackage_#{@spec.name}'"
|
161
|
+
defines << ' ' << @spec.consumer(platform).compiler_flags.join(' ')
|
95
162
|
|
96
163
|
if platform.name == :ios
|
97
|
-
|
164
|
+
options = ios_build_options
|
98
165
|
end
|
99
166
|
|
100
|
-
xcodebuild(defines)
|
167
|
+
xcodebuild(defines, options)
|
101
168
|
|
102
169
|
if @mangle
|
103
|
-
return build_with_mangling(platform)
|
170
|
+
return build_with_mangling(platform, options)
|
104
171
|
end
|
105
172
|
|
106
173
|
defines
|
@@ -110,13 +177,13 @@ module Pod
|
|
110
177
|
headers_source_root = "#{@public_headers_root}/#{@spec.name}"
|
111
178
|
|
112
179
|
Dir.glob("#{headers_source_root}/**/*.h").
|
113
|
-
|
180
|
+
each { |h| `ditto #{h} #{@fwk.headers_path}/#{h.sub(headers_source_root, '')}` }
|
114
181
|
|
115
182
|
# If custom 'module_map' is specified add it to the framework distribution
|
116
183
|
# otherwise check if a header exists that is equal to 'spec.name', if so
|
117
184
|
# create a default 'module_map' one using it.
|
118
185
|
if !@spec.module_map.nil?
|
119
|
-
module_map_file = "#{@
|
186
|
+
module_map_file = "#{@static_sandbox_root}/#{@spec.name}/#{@spec.module_map}"
|
120
187
|
module_map = File.read(module_map_file) if Pathname(module_map_file).exist?
|
121
188
|
elsif File.exist?("#{@public_headers_root}/#{@spec.name}/#{@spec.name}.h")
|
122
189
|
module_map = <<MAP
|
@@ -137,22 +204,24 @@ MAP
|
|
137
204
|
|
138
205
|
def copy_license
|
139
206
|
license_file = @spec.license[:file] || 'LICENSE'
|
140
|
-
license_file = "#{@sandbox_root}/#{@spec.name}/#{license_file}"
|
141
207
|
`cp "#{license_file}" .` if Pathname(license_file).exist?
|
142
208
|
end
|
143
209
|
|
144
210
|
def copy_resources(platform)
|
145
|
-
bundles = Dir.glob("#{@
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
@fwk.
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
211
|
+
bundles = Dir.glob("#{@static_sandbox_root}/build/*.bundle")
|
212
|
+
if @dynamic
|
213
|
+
resources_path = "ios/#{@spec.name}.framework"
|
214
|
+
`cp -rp #{@static_sandbox_root}/build/*.bundle #{resources_path} 2>&1`
|
215
|
+
else
|
216
|
+
`cp -rp #{@static_sandbox_root}/build/*.bundle #{@fwk.resources_path} 2>&1`
|
217
|
+
resources = expand_paths(@spec.consumer(platform).resources)
|
218
|
+
if resources.count == 0 && bundles.count == 0
|
219
|
+
@fwk.delete_resources
|
220
|
+
return
|
221
|
+
end
|
222
|
+
if resources.count > 0
|
223
|
+
`cp -rp #{resources.join(' ')} #{@fwk.resources_path}`
|
224
|
+
end
|
156
225
|
end
|
157
226
|
end
|
158
227
|
|
@@ -178,11 +247,33 @@ MAP
|
|
178
247
|
end
|
179
248
|
|
180
249
|
def static_libs_in_sandbox(build_dir = 'build')
|
181
|
-
|
250
|
+
if @exclude_deps
|
251
|
+
UI.puts 'Excluding dependencies'
|
252
|
+
Dir.glob("#{@static_sandbox_root}/#{build_dir}/lib#{@spec.name}.a")
|
253
|
+
else
|
254
|
+
Dir.glob("#{@static_sandbox_root}/#{build_dir}/lib*.a")
|
255
|
+
end
|
182
256
|
end
|
183
257
|
|
184
|
-
def
|
185
|
-
|
258
|
+
def static_linker_flags_in_sandbox
|
259
|
+
linker_flags = static_libs_in_sandbox.map do |lib|
|
260
|
+
lib.slice!('lib')
|
261
|
+
lib_flag = lib.chomp('.a').split('/').last
|
262
|
+
"-l#{lib_flag}"
|
263
|
+
end
|
264
|
+
linker_flags.reject { |e| e == "-l#{@spec.name}" || e == '-lPods-packager' }
|
265
|
+
end
|
266
|
+
|
267
|
+
def ios_build_options
|
268
|
+
"ARCHS=\'x86_64 i386 arm64 armv7 armv7s\' OTHER_CFLAGS=\'-fembed-bitcode -Qunused-arguments\'"
|
269
|
+
end
|
270
|
+
|
271
|
+
def xcodebuild(defines = '', args = '', build_dir = 'build', target = 'Pods-packager', project_root = @static_sandbox_root, config = @config)
|
272
|
+
if defined?(Pod::DONT_CODESIGN)
|
273
|
+
args = "#{args} CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO"
|
274
|
+
end
|
275
|
+
|
276
|
+
command = "xcodebuild #{defines} #{args} CONFIGURATION_BUILD_DIR=#{build_dir} clean build -configuration #{config} -target #{target} -project #{project_root}/Pods.xcodeproj 2>&1"
|
186
277
|
output = `#{command}`.lines.to_a
|
187
278
|
|
188
279
|
if $?.exitstatus != 0
|