如何让Travis上的SwiftLint安装脚本指向GitHub最新发布包?
让Travis脚本自动安装最新版本的SwiftLint
没问题!我们可以借助GitHub的Releases API自动获取SwiftLint的最新发布版本号,替换掉脚本里硬编码的固定版本,这样就能始终拉取最新的pkg包了。
下面是修改后的完整脚本:
set -e # 获取SwiftLint最新版本号 SWIFTLINT_LATEST_VERSION=$(curl -s https://api.github.com/repos/realm/SwiftLint/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') SWIFTLINT_PKG_PATH="/tmp/SwiftLint.pkg" SWIFTLINT_PKG_URL="https://github.com/realm/SwiftLint/releases/download/${SWIFTLINT_LATEST_VERSION}/SwiftLint.pkg" wget --output-document=$SWIFTLINT_PKG_PATH $SWIFTLINT_PKG_URL if [ -f $SWIFTLINT_PKG_PATH ]; then echo "SwiftLint package exists! Installing it..." sudo installer -pkg $SWIFTLINT_PKG_PATH -target / else echo "SwiftLint package doesn't exist. Compiling from source..." && git clone https://github.com/realm/SwiftLint.git /tmp/SwiftLint && cd /tmp/SwiftLint && git submodule update --init --recursive && sudo make install fi
关键修改说明:
- 新增
SWIFTLINT_LATEST_VERSION变量:通过调用GitHub的最新版本API,用grep匹配版本号字段,再用sed提取出纯版本号(比如0.54.0这类格式)。 - 动态拼接下载链接:把原来硬编码的版本号替换为变量
${SWIFTLINT_LATEST_VERSION},让下载地址自动指向最新发布的pkg包。 - 保留原容错逻辑:如果pkg下载失败,依然会回退到从源码编译安装的流程,确保Travis构建不会因为下载问题直接中断。
这个脚本可以直接在Travis环境中使用,每次运行都会自动获取并安装当前SwiftLint的最新稳定版本。
内容的提问来源于stack exchange,提问作者Vladyslav Zavalykhatko
相关产品推荐
相关产品推荐

