Class: Fastlane::Actions::InstallProvisioningProfilesAction
- Inherits:
-
Action
- Object
- Action
- Fastlane::Actions::InstallProvisioningProfilesAction
- Defined in:
- lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb
Documentation collapse
- .authors ⇒ Object
- .available_options ⇒ Object
- .description ⇒ Object
- .is_supported?(platform) ⇒ Boolean
Class Method Summary collapse
- .copy_provisioning_profile(provisioning_profile, uuid) ⇒ Object
- .locate_provisioning_profiles ⇒ Object
- .retrieve_uuid(provisioning_profile) ⇒ Object
- .run(params) ⇒ Object
- .target_directory ⇒ Object
- .uuid_exist(uuid) ⇒ Object
Class Method Details
.authors ⇒ Object
89 90 91 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 89 def self. ["dgyesbreghs"] end |
.available_options ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 76 def self. [ FastlaneCore::ConfigItem.new( key: :override_provisioning_profiles, env_name: 'FL_INSTALL_PROVISIONING_PROFILES_OVERRIDE', description: 'Override existing provisioning profiles', is_string: false, optional: true, default_value: false ) ] end |
.copy_provisioning_profile(provisioning_profile, uuid) ⇒ Object
59 60 61 62 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 59 def self.copy_provisioning_profile(provisioning_profile, uuid) target_location = "#{target_directory}/#{uuid}.mobileprovision" FileUtils.cp(provisioning_profile, target_location) end |
.description ⇒ Object
72 73 74 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 72 def self.description "Install all the provisioning profiles located in you're project." end |
.is_supported?(platform) ⇒ Boolean
93 94 95 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 93 def self.is_supported?(platform) platform == :ios end |
.locate_provisioning_profiles ⇒ Object
47 48 49 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 47 def self.locate_provisioning_profiles Dir.glob("**/*.mobileprovision") end |
.retrieve_uuid(provisioning_profile) ⇒ Object
51 52 53 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 51 def self.retrieve_uuid(provisioning_profile) `security cms -D -i #{provisioning_profile.shellescape} | grep -A 1 '<key>UUID</key>' | tail -n 1 | grep -Eo '>.*<' | grep -Eo '[a-z0-9-]+'`.gsub("\n", "") end |
.run(params) ⇒ Object
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 38 39 40 41 42 43 44 45 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 7 def self.run(params) override_provisioning_profiles = params[:override_provisioning_profiles] UI.important("Installing provisioning profile") provisioning_profiles = locate_provisioning_profiles if provisioning_profiles.count == 0 UI.success("No provisioning profiles found") return end path = target_directory # If the directory doesn't exist, create it first unless File.directory?(path) FileUtils.mkdir_p(path) end provisioning_profiles.each do |provisioning_profile| # Show the provisioning profile basename UI.("Provisioning Profile: #{File.basename provisioning_profile}") # Retrieve the UUID of the provisioning profile uuid = retrieve_uuid(provisioning_profile) # Check if the override_provisioning_profiles is disabled if override_provisioning_profiles == false if uuid_exist(uuid) next end end # Show the UUID of the provisioning profile UI.("UUID: #{uuid}") # Copy the provisioning profile copy_provisioning_profile(provisioning_profile, uuid) end UI.success("Successfully installed provisioning profiles") end |
.target_directory ⇒ Object
64 65 66 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 64 def self.target_directory File.("~/Library/MobileDevice/Provisioning Profiles") end |
.uuid_exist(uuid) ⇒ Object
55 56 57 |
# File 'lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb', line 55 def self.uuid_exist(uuid) File.exist?("#{target_directory}/#{uuid}.mobileprovision") end |