class Fastlane::Actions::ChangePodspecDependencyVersionAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 27
def self.authors
    ["Cole Dunsby"]
end
available_options() click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 39
def self.available_options
    [
        FastlaneCore::ConfigItem.new(
            key: :podspec,
            env_name: "PODSPEC_PATH",
            description: "The path of the podspec you wish to modify",
            optional: false,
            type: String
        ),
        FastlaneCore::ConfigItem.new(
            key: :dependency,
            env_name: "DEPENDENCY_NAME",
            description: "The dependency you wish to modify",
            optional: false,
            type: String
        ),
        FastlaneCore::ConfigItem.new(
            key: :version,
            env_name: "DEPENDENCY_VERSION",
            description: "The new version to assign to the dependency",
            optional: false,
            type: String
        )
    ]
end
description() click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 23
def self.description
    "This action will modify the version of a dependency in your podspec."
end
details() click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 35
def self.details
    "This action will modify the version of a dependency in your podspec."
end
is_supported?(platform) click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 65
def self.is_supported?(platform)
    true
end
return_value() click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 31
def self.return_value

end
run(params) click to toggle source
# File lib/fastlane/plugin/podspec_dependency_versioning/actions/change_podspec_dependency_version.rb, line 7
def self.run(params)
    podspec = params[:podspec]
    dependency = params[:dependency]
    version = params[:version]

    podspec_contents = File.read(podspec)
    podspec_new_contents = podspec_contents.gsub(/(?<=s\.dependency ["']#{dependency}["'], ["'])(.*)(?=["'])/, version)

    unless podspec_contents == podspec_new_contents
        File.open(podspec, "w") { |file| file.puts podspec_new_contents }
        UI.success("successfully modified #{dependency} to version #{version} in #{podspec}")
    else
        UI.error("#{dependency} not present or doesn't have an explicit version in #{podspec}")
    end
end