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}"