class Fastlane::Actions::ReadPodspecAction
Public Class Methods
available_options()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 39 def self.available_options [ FastlaneCore::ConfigItem.new(key: :path, env_name: "FL_READ_PODSPEC_PATH", description: "Path to the podspec to be read", default_value: Dir['*.podspec*'].first, default_value_dynamic: true, verify_block: proc do |value| UI.user_error!("File #{value} not found") unless File.exist?(value) end) ] end
category()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 85 def self.category :misc end
description()
click to toggle source
@!group Documentation
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 26 def self.description "Loads a CocoaPods spec as JSON" end
details()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 30 def self.details [ "This can be used for only specifying a version string in your podspec - and during your release process you'd read it from the podspec by running `version = read_podspec['version']` at the beginning of your lane.", "Loads the specified (or the first found) podspec in the folder as JSON, so that you can inspect its `version`, `files` etc.", "This can be useful when basing your release process on the version string only stored in one place - in the podspec.", "As one of the first steps you'd read the podspec and its version and the rest of the workflow can use that version string (when e.g. creating a new git tag or a GitHub Release)." ].join("\n") end
example_code()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 66 def self.example_code [ 'spec = read_podspec version = spec["version"] puts "Using Version #{version}"', 'spec = read_podspec(path: "./XcodeServerSDK.podspec")' ] end
is_supported?(platform)
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 62 def self.is_supported?(platform) [:ios, :mac].include?(platform) end
output()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 52 def self.output [ ['READ_PODSPEC_JSON', 'Podspec JSON payload'] ] end
return_type()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 81 def self.return_type :hash_of_strings end
run(params)
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 8 def self.run(params) Actions.verify_gem!('cocoapods') path = params[:path] require 'cocoapods-core' spec = Pod::Spec.from_file(path).to_hash UI.success("Reading podspec from file #{path}") Actions.lane_context[SharedValues::READ_PODSPEC_JSON] = spec return spec end
sample_return_value()
click to toggle source
# File fastlane/lib/fastlane/actions/read_podspec.rb, line 75 def self.sample_return_value { 'version' => 1.0 } end