-
Notifications
You must be signed in to change notification settings - Fork 10
DEPRECATED Xamarin.iOS Action (Integration)
Voydz edited this page Feb 20, 2017
·
1 revision
THIS IS DEPRECATED SINCE SOUYUZ IS DISTRIBUTED AS A FASTLANE PLUGIN
This is just a simple reference how souyuz
could be integrated with the Xamarin.iOS platform as an fastlane action. It integrates as an replacement of gym
so the lane context is prepared to be used with i.e. pilot
or deliver
.
module Fastlane
module Actions
module SharedValues
APP_BUNDLE_PATH = :APP_BUNDLE_PATH # for calabash
APP_OUTPUT_PATH = :APP_OUTPUT_PATH
end
class SouyuzIosAction < Action
def self.run(values)
require 'souyuz'
values[:platform] = Souyuz::Platform::IOS # this should be done automatically in the future
absolute_ipa_path = File.expand_path(Souyuz::Manager.new.work(values))
absolute_app_path = File.join(values[:output_path], "#{values[:assembly_name]}.app")
absolute_dsym_path = absolute_ipa_path.gsub(".ipa", ".app.dSYM.zip")
Actions.lane_context[SharedValues::APP_OUTPUT_PATH] = absolute_app_path
Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] = absolute_ipa_path
Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH] = absolute_dsym_path if File.exist?(absolute_dsym_path)
ENV[SharedValues::APP_OUTPUT_PATH.to_s] = absolute_app_path
ENV[SharedValues::APP_BUNDLE_PATH.to_s] = absolute_app_path # for calabash
ENV[SharedValues::IPA_OUTPUT_PATH.to_s] = absolute_ipa_path # for deliver
ENV[SharedValues::DSYM_OUTPUT_PATH.to_s] = absolute_dsym_path if File.exist?(absolute_dsym_path)
return absolute_ipa_path
end
def self.description
"Easily build and sign your app using `souyuz_ios`"
end
def self.return_value
"The absolute path to the generated ipa file"
end
def self.author
"Felix Rudat"
end
def self.available_options
require 'souyuz'
Souyuz::Options.available_options
end
def self.is_supported?(platform)
[ :ios ].include? platform
end
end
end
end