Я хочу определить операционную систему хоста, на которой установлена fastlane
. Я требую этого, потому что в моих сценариях у меня есть некоторые команды, которые выполняются только на Mac, а некоторые - только на машинах с Windows.
Небольшой обходной путь, который я сделал, - это создание отдельных файлов скриптов для Mac и Windows.
Рассмотрим приведенный ниже фрагмент кода, который написан в моем Fastfile:
platform :android do
desc "Client Release"
lane :clientrelease do |options|
sh "bash fastlane_script_mac.sh " + options[:bundleId] + " " + "release"
gradle(
task: "clean"
)
gradle(
task: "assemble",
flavor: "client",
build_type: "release"
)
end
end
Я ожидаю что-то вроде ниже:
platform :android do
desc "Client Release"
lane :clientrelease do |options|
if(OS == "MAC") {
sh "bash fastlane_script_mac.sh " + options[:bundleId] + " " + "release"
} else {
sh "bash fastlane_script_windows.sh " + options[:bundleId] + " " + "release"
}
gradle(
task: "clean"
)
gradle(
task: "assemble",
flavor: "client",
build_type: "release"
)
end
end
Если операционной системой хоста является windows, тогда используйте fastlane_script_windows.sh
, иначе используйте fastlane_script_mac.sh
Может кто-нибудь помочь мне с этим?