Skip to content

Commit 78d6106

Browse files
author
David McRae
committed
Add support for setting the platform in side of a group
1 parent c9830f8 commit 78d6106

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/cocoapods-pod-merge/Main.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ def parse_mergefile
159159
else
160160
merge_groups[group_name]['flags'][line.strip.delete('!')] = true
161161
end
162+
elsif line.strip.include?('platform')
163+
merge_groups[group_name]['platforms'].append(line)
162164
else
163165
merge_groups[group_name]['lines'].append(line)
164166
line = line.split(',').first
@@ -174,7 +176,7 @@ def parse_mergefile
174176
abort("Duplicate Group Name: #{group_name}. Please make sure all groups have different names!".red)
175177
end
176178

177-
merge_groups[group_name] = { 'titles' => [], 'lines' => [], 'flags' => {}, 'swift_version' => '' }
179+
merge_groups[group_name] = { 'titles' => [], 'lines' => [], 'flags' => {}, 'swift_version' => '', 'platforms' => [] }
178180
parsing_a_group = true
179181
end
180182
end
@@ -189,6 +191,7 @@ def merge(merged_framework_name, group_contents, podfile_info)
189191
pods_to_merge = group_contents['titles']
190192
flags = group_contents['flags']
191193
forced_swift_language_version = group_contents['swift_version']
194+
platforms_in_target = group_contents['platforms']
192195
public_headers_by_pod = {}
193196
frameworks = []
194197
prefix_header_contents = []
@@ -217,7 +220,7 @@ def merge(merged_framework_name, group_contents, podfile_info)
217220
Pod::UI.puts 'Downloading Pods in the group'.cyan
218221
FileUtils.mkdir CacheDirectory unless File.directory?(CacheDirectory)
219222

220-
create_cache_podfile(podfile_info, group_contents['lines'], forced_swift_language_version)
223+
create_cache_podfile(podfile_info, group_contents['lines'], forced_swift_language_version, platforms_in_target)
221224

222225
Dir.chdir(CacheDirectory) do
223226
system('pod install') || raise('Failed to download pods to merge')
@@ -418,7 +421,7 @@ def array_wrapped(object)
418421
return [object] if object.class == String || object.class == Hash
419422
end
420423

421-
def create_cache_podfile(podfile_info, pods, swift_language_version)
424+
def create_cache_podfile(podfile_info, pods, swift_language_version, platforms_in_target)
422425
FileUtils.touch("#{CacheDirectory}/Podfile")
423426
file = File.new("#{CacheDirectory}/Podfile", 'w')
424427

@@ -453,6 +456,9 @@ def create_cache_podfile(podfile_info, pods, swift_language_version)
453456
end
454457

455458
file.puts("target 'Dummy' do")
459+
platforms_in_target.each do |platform|
460+
file.puts platform.to_s
461+
end
456462
pods.each do |line|
457463
file.puts line.to_s
458464
end

0 commit comments

Comments
 (0)