Class: Fastlane::Actions::CocoapodsAction
- Inherits:
-
Fastlane::Action
- Object
- Fastlane::Action
- Fastlane::Actions::CocoapodsAction
- Defined in:
- fastlane/lib/fastlane/actions/cocoapods.rb
Constant Summary
Constants inherited from Fastlane::Action
Fastlane::Action::AVAILABLE_CATEGORIES, Fastlane::Action::RETURN_TYPES
Class Method Summary collapse
- .authors ⇒ Object
- .available_options ⇒ Object
- .call_error_callback(params, result) ⇒ Object
- .category ⇒ Object
- .description ⇒ Object
- .details ⇒ Object
- .example_code ⇒ Object
- .is_supported?(platform) ⇒ Boolean
- .run(params) ⇒ Object
Methods inherited from Fastlane::Action
action_name, author, deprecated_notes, lane_context, method_missing, other_action, output, return_type, return_value, sample_return_value, shell_out_should_use_bundle_exec?, step_text
Class Method Details
permalink .authors ⇒ Object
[View source]
125 126 127 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 125 def self. ["KrauseFx", "tadpol", "birmacher", "Liquidsoul"] end |
permalink .available_options ⇒ Object
[View source]
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 53 def self. [ FastlaneCore::ConfigItem.new(key: :repo_update, env_name: "FL_COCOAPODS_REPO_UPDATE", description: "Add `--repo-update` flag to `pod install` command", is_string: false, default_value: false), FastlaneCore::ConfigItem.new(key: :silent, env_name: "FL_COCOAPODS_SILENT", description: "Execute command without logging output", is_string: false, default_value: false), FastlaneCore::ConfigItem.new(key: :verbose, env_name: "FL_COCOAPODS_VERBOSE", description: "Show more debugging information", is_string: false, default_value: false), FastlaneCore::ConfigItem.new(key: :ansi, env_name: "FL_COCOAPODS_ANSI", description: "Show output with ANSI codes", is_string: false, default_value: true), FastlaneCore::ConfigItem.new(key: :use_bundle_exec, env_name: "FL_COCOAPODS_USE_BUNDLE_EXEC", description: "Use bundle exec when there is a Gemfile presented", is_string: false, default_value: true), FastlaneCore::ConfigItem.new(key: :podfile, env_name: "FL_COCOAPODS_PODFILE", description: "Explicitly specify the path to the Cocoapods' Podfile. You can either set it to the Podfile's path or to the folder containing the Podfile file", optional: true, is_string: true, verify_block: proc do |value| UI.user_error!("Could not find Podfile") unless File.exist?(value) || Helper.test? end), FastlaneCore::ConfigItem.new(key: :error_callback, description: 'A callback invoked with the command output if there is a non-zero exit status', optional: true, is_string: false, type: :string_callback, default_value: nil), FastlaneCore::ConfigItem.new(key: :try_repo_update_on_error, env_name: "FL_COCOAPODS_TRY_REPO_UPDATE_ON_ERROR", description: 'Retry with --repo-update if action was finished with error', optional: true, is_string: false, default_value: false, type: Boolean), # Deprecated FastlaneCore::ConfigItem.new(key: :clean, env_name: "FL_COCOAPODS_CLEAN", description: "(Option removed from cocoapods) Remove SCM directories", deprecated: true, is_string: false, default_value: true), FastlaneCore::ConfigItem.new(key: :integrate, env_name: "FL_COCOAPODS_INTEGRATE", description: "(Option removed from cocoapods) Integrate the Pods libraries into the Xcode project(s)", deprecated: true, is_string: false, default_value: true) ] # Please don't add a version parameter to the `cocoapods` action. If you need to specify a version when running # `cocoapods`, please start using a Gemfile and lock the version there # More information https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile end |
permalink .call_error_callback(params, result) ⇒ Object
[View source]
39 40 41 42 43 44 45 46 47 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 39 def self.call_error_callback(params, result) if params[:error_callback] Dir.chdir(FastlaneCore::FastlaneFolder.path) do params[:error_callback].call(result) end else UI.shell_error!(result) end end |
permalink .category ⇒ Object
[View source]
143 144 145 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 143 def self.category :building end |
permalink .description ⇒ Object
[View source]
49 50 51 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 49 def self.description "Runs `pod install` for the project" end |
permalink .details ⇒ Object
[View source]
129 130 131 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 129 def self.details "If you use [CocoaPods](http://cocoapods.org) you can use the `cocoapods` integration to run `pod install` before building your app." end |
permalink .example_code ⇒ Object
[View source]
133 134 135 136 137 138 139 140 141 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 133 def self.example_code [ 'cocoapods', 'cocoapods( clean: true, podfile: "./CustomPodfile" )' ] end |
permalink .is_supported?(platform) ⇒ Boolean
121 122 123 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 121 def self.is_supported?(platform) [:ios, :mac].include?(platform) end |
permalink .run(params) ⇒ Object
[View source]
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'fastlane/lib/fastlane/actions/cocoapods.rb', line 4 def self.run(params) Actions.verify_gem!('cocoapods') cmd = [] unless params[:podfile].nil? if params[:podfile].end_with?('Podfile') podfile_folder = File.dirname(params[:podfile]) else podfile_folder = params[:podfile] end cmd << ["cd '#{podfile_folder}' &&"] end cmd << ['bundle exec'] if params[:use_bundle_exec] && shell_out_should_use_bundle_exec? cmd << ['pod install'] cmd << '--no-clean' unless params[:clean] cmd << '--no-integrate' unless params[:integrate] cmd << '--repo-update' if params[:repo_update] cmd << '--silent' if params[:silent] cmd << '--verbose' if params[:verbose] cmd << '--no-ansi' unless params[:ansi] Actions.sh(cmd.join(' '), error_callback: lambda { |result| if !params[:repo_update] && params[:try_repo_update_on_error] cmd << '--repo-update' Actions.sh(cmd.join(' '), error_callback: lambda { |retry_result| call_error_callback(params, retry_result) }) else call_error_callback(params, result) end }) end |