fastlane - 检测主机操作系统
fastlane - detect host operating system
我想检测安装了 fastlane
的主机操作系统。我需要这个,因为在我的脚本中,我有一些命令只在 Mac 上执行,而有些命令只在 Windows machines.
上执行
我做的一个小解决方法是为 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
有人可以帮我解决这个问题吗?
Fastlane 的 Helper
class 有一些方法可以帮助您:
FastlaneCore::Helper.operating_system
returns 一个字符串:"macOS"
、"Windows"
、"Linux"
或 "Unknown"
FastlaneCore::Helper.windows?
returns true
或 false
- 同样,您可以使用
FastlaneCore::Helper.linux?
或FastlaneCore::Helper.mac?
我想检测安装了 fastlane
的主机操作系统。我需要这个,因为在我的脚本中,我有一些命令只在 Mac 上执行,而有些命令只在 Windows machines.
我做的一个小解决方法是为 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
有人可以帮我解决这个问题吗?
Fastlane 的 Helper
class 有一些方法可以帮助您:
FastlaneCore::Helper.operating_system
returns 一个字符串:"macOS"
、"Windows"
、"Linux"
或"Unknown"
FastlaneCore::Helper.windows?
returnstrue
或false
- 同样,您可以使用
FastlaneCore::Helper.linux?
或FastlaneCore::Helper.mac?
- 同样,您可以使用