lib/cocoapods-packager/builder.rb in ty-cocoapods-packager-1.5.7 vs lib/cocoapods-packager/builder.rb in ty-cocoapods-packager-1.5.9

- old
+ new

@@ -34,10 +34,11 @@ platform_path.mkdir unless platform_path.exist? build_library(platform, defines, platform_path + Pathname.new("lib#{@spec.name}.a")) create_static_library(platform.name.to_s) copy_static_headers + copy_static_resources end def build_framework(platform) UI.puts("Building framework #{@spec} with configuration #{@config}") @@ -160,11 +161,11 @@ end def build_with_mangling(platform, options) UI.puts 'Mangling symbols' defines = Symbols.mangle_for_pod_dependencies(@spec.name, @static_sandbox_root) - defines << ' ' << @spec.consumer(platform).compiler_flags.join(' ') + defines << " OTHER_CFLAGS='" << @spec.consumer(platform).compiler_flags.join(' ') << "'" UI.puts 'Building mangled framework' xcodebuild(defines, options) defines end @@ -178,11 +179,11 @@ FileUtils.rm_rf('Pods/build') end def compile(platform) defines = "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) PodsDummy_Pods_#{@spec.name}=PodsDummy_PodPackage_#{@spec.name}'" - defines << ' ' << @spec.consumer(platform).compiler_flags.join(' ') + defines << " OTHER_CFLAGS='" << @spec.consumer(platform).compiler_flags.join(' ') << "'" if platform.name == :ios options = ios_build_options end @@ -204,9 +205,37 @@ headers_source_root = "#{@public_headers_root}/#{@spec.name}" UI.puts("copy static public headers from #{headers_source_root}") Dir.glob("#{headers_source_root}/**/*.h"). each { |h| `ditto #{h} #{@fwk.headers_path}/Public/#{h.sub(headers_source_root, '')}` } + end + + def copy_static_resources + assets_path = _create_assets_dir + file_accessor = Sandbox::FileAccessor.new(Pathname.new("Pods/#{@spec.name}"), @spec.consumer(:ios)) + spec_resource_bundles = file_accessor.resource_bundles + spec_resources = file_accessor.resources + + spec_resource_bundles.map do |bundle, resources| + UI.puts("copy resource bundle #{bundle}.bundle to Assets") + bundle_path = "#{assets_path}/#{bundle}.bundle/" + `mkdir #{bundle_path}` + + resources.map { |resource| `cp #{resource} #{bundle_path}` } + end + + puts "copy #{spec_resources.count} resource(s) to Assets" if spec_resources.count != 0 + spec_resources.map do |resource| + `cp #{resource} #{assets_path}` + end + end + + def _create_assets_dir + assets_path = 'Assets' + return assets_path if File.exist?(assets_path) + + `mkdir #{assets_path}` + assets_path end def copy_headers headers_source_root = "#{@public_headers_root}/#{@spec.name}"