class Fastlane::Actions::ClearDerivedDataAction

Public Class Methods

authors() click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 50
def self.authors
  ["KrauseFx"]
end
available_options() click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 35
def self.available_options
  path = xcode_preferences ? xcode_preferences['IDECustomDerivedDataLocation'] : nil
  path ||= "~/Library/Developer/Xcode/DerivedData"
  [
    FastlaneCore::ConfigItem.new(key: :derived_data_path,
                                 env_name: "DERIVED_DATA_PATH",
                                 description: "Custom path for derivedData",
                                 default_value_dynamic: true,
                                 default_value: path)
  ]
end
category() click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 65
def self.category
  :building
end
description() click to toggle source

@!group Documentation

# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 27
def self.description
  "Deletes the Xcode Derived Data"
end
details() click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 31
def self.details
  "Deletes the Derived Data from path set on Xcode or a supplied path"
end
example_code() click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 58
def self.example_code
  [
    'clear_derived_data',
    'clear_derived_data(derived_data_path: "/custom/")'
  ]
end
is_supported?(platform) click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 54
def self.is_supported?(platform)
  [:ios, :mac].include?(platform)
end
output() click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 47
def self.output
end
run(options) click to toggle source
# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 6
def self.run(options)
  path = File.expand_path(options[:derived_data_path])
  UI.message("Derived Data path located at: #{path}")
  FileUtils.rm_rf(path) if File.directory?(path)
  UI.success("Successfully cleared Derived Data ♻️")
end
xcode_preferences() click to toggle source

Helper Methods

# File fastlane/lib/fastlane/actions/clear_derived_data.rb, line 14
def self.xcode_preferences
  file = File.expand_path("~/Library/Preferences/com.apple.dt.Xcode.plist")
  if File.exist?(file)
    plist = CFPropertyList::List.new(file: file).value
    return CFPropertyList.native_types(plist) unless plist.nil?
  end
  return nil
end