cocoapods-packager 1.3.0 → 1.4.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 +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
|