lib/xcodeproj/command/target_diff.rb
module Xcodeproj class Command class TargetDiff < Command def self.banner %{Installing dependencies of a project: $ targets-diff [target 1] [target 2] Shows the difference between two targets. (Only build source files atm.) } end def self.options [ ["--project PATH", "The Xcode project document to use."], ].concat(super) end def initialize(argv) @target1 = argv.shift_argument @target2 = argv.shift_argument if argv.option('--project') @xcodeproj_path = File.expand_path(argv.shift_argument) end super unless argv.empty? end def run require 'yaml' differ = Helper::TargetDiff.new(xcodeproj, @target1, @target2) files = differ.new_source_build_files.map do |build_file| { 'Name' => build_file.file_ref.name, 'Path' => build_file.file_ref.path, 'Build settings' => build_file.settings, } end puts files.to_yaml end end end end