Sha256: 48d08c48203a7555b4b706c01452c13552708e44740bf765257a39f02dcfcfd0

Contents?: true

Size: 1.27 KB

Versions: 5

Compression:

Stored size: 1.27 KB

Contents

require 'pp'
module XCKnife
  module XCToolCmdHelper
    def only_arguments_for_a_partition_set(output_type, partition_set)
      method = "#{output_type}_only_arguments_for_a_partition_set"
      raise "Unknown output_type: #{output_type}" unless respond_to?(method)
      __send__(method, partition_set)
    end

    def only_arguments(output_type, partition)
      method = "#{output_type}_only_arguments"
      raise "Unknown output_type: #{output_type}" unless respond_to?(method)
      __send__(method, partition)
    end

    def xctool_only_arguments(single_partition)
      single_partition.flat_map do |test_target, classes|
        ['-only', "#{test_target}:#{classes.sort.join(',')}"]
      end
    end

    def xctool_only_arguments_for_a_partition_set(partition_set)
      partition_set.map { |partition| xctool_only_arguments(partition) }
    end

    # only-testing is available since Xcode 8
    def xcodebuild_only_arguments(single_partition)
      single_partition.flat_map do |test_target, classes|
        classes.sort.map do |clazz|
          "-only-testing:#{test_target}/#{clazz}"
        end

      end
    end

    def xcodebuild_only_arguments_for_a_partition_set(partition_set)
      partition_set.map { |partition| xctool_only_arguments(partition) }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
xcknife-0.6.4 lib/xcknife/xctool_cmd_helper.rb
xcknife-0.6.3 lib/xcknife/xctool_cmd_helper.rb
xcknife-0.6.2 lib/xcknife/xctool_cmd_helper.rb
xcknife-0.6.1 lib/xcknife/xctool_cmd_helper.rb
xcknife-0.6.0 lib/xcknife/xctool_cmd_helper.rb