lib/cocoapods-util/binary/prebuild.rb in cocoapods-util-0.0.16 vs lib/cocoapods-util/binary/prebuild.rb in cocoapods-util-0.2.0
- old
+ new
@@ -1,3 +1,66 @@
module BinaryPrebuild
+ class Sandbox
+ def initialize(path)
+ @sandbox_path = path
+ end
+ def self.from_sandbox(sandbox)
+ root = sandbox.root
+ search_path = BinaryPrebuild.config.binary_dir
+ if !search_path.nil? && !search_path.empty?
+ path = File.expand_path(root + search_path)
+ if File.exist? path
+ return Sandbox.new(path)
+ end
+ end
+ end
+
+ def binary_dir
+ @binary_dir ||= Pathname.new(@sandbox_path)
+ end
+
+ def target_paths
+ return [] unless binary_dir.exist?
+ @targets ||= binary_dir.children().map do |target_path|
+ if target_path.directory? && (not target_path.children.empty?)
+ target_path
+ end
+ end.reject(&:nil?).uniq
+ @targets
+ end
+
+ def existed_target_names(name)
+ target_paths.select { |pair| "#{pair.basename}" == "#{name}" }.map { |pair| pair.basename }
+ end
+
+ def framework_folder_path_for_target_name(name)
+ target_paths.select { |pair| pair.basename == name }.last
+ end
+
+ def prebuild_vendored_frameworks(name)
+ target_path = target_paths.select { |pair| "#{pair.basename}" == "#{name}" }.last
+ return [] if target_path.nil?
+
+ configuration_enable = target_path.children().select { |path| "#{path.basename}" == 'Debug' || "#{path.basename}" == 'Release' }.count == 2
+ if configuration_enable
+ xcconfig_replace_path = BinaryPrebuild.config.xcconfig_replace_path
+ ["#{xcconfig_replace_path}-Release/*.{framework,xcframework}"]
+ else
+ ["*.{framework,xcframework}"]
+ end
+ end
+
+ def prebuild_bundles(name)
+ target_path = target_paths.select { |pair| "#{pair.basename}" == "#{name}" }.last
+ return [] if target_path.nil?
+
+ configuration_enable = target_path.children().select { |path| "#{path.basename}" == 'Debug' || "#{path.basename}" == 'Release' }.count == 2
+ if configuration_enable
+ xcconfig_replace_path = BinaryPrebuild.config.xcconfig_replace_path
+ ["#{xcconfig_replace_path}-Release/*.bundle"]
+ else
+ ["*.bundle"]
+ end
+ end
+ end
end
\ No newline at end of file