Sha256: 1dc27d8702c5a09d311393d73bb38e614a085a9584950e6a5328961b03c1460c

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

module Depcheck
  module Finder

    def self.find_derived_data_path(project, workspace, scheme)
      arg = if project
              "-project \"#{project}\""
            else
              "-workspace \"#{workspace}\" -scheme \"#{scheme}\""
            end

      build_settings = `xcodebuild #{arg} -showBuildSettings build CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO`
      raise StandardError until $?.success?

      derived_data_path = build_settings.match(/ OBJROOT = (.+)/)[1]
      project_name = build_settings.match(/ PROJECT_NAME = (.+)/)[1]
      target_name = build_settings.match(/ TARGET_NAME = (.+)/)[1]

      "#{derived_data_path}/#{project_name}.build/**/#{target_name}.build"
    end

    def self.find_swiftdeps(project, workspace, scheme)
      derived_data_path = find_derived_data_path(project, workspace, scheme)
      swiftdeps = Dir.glob("#{derived_data_path}/**/*.swiftdeps") if derived_data_path

      if swiftdeps.nil? || swiftdeps.empty?
        raise StandardError, 'No derived data found. Please make sure the project was built.'
      end

      swiftdeps
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
depcheck-0.4.0 lib/depcheck/finder.rb
depcheck-0.3.0 lib/depcheck/finder.rb
depcheck-0.2.0 lib/depcheck/finder.rb