准备软件
软件要通过 brew
进行安装,需要提供软件下载地址,下载的可以是源码,也可以是编译好的可执行文件的tar包。
- 使用编译好的可执行文件,打成tar包
tar -czf swift-rewriter-mac.tar.gz Release
以上命令是将
Release 文件夹
压缩并打包成swift-rewriter-mac.tar.gz
- 生成SHA256
shasum -a 256 swift-rewriter-mac.tar.gz | awk '{print $1}' > swift-rewriter-mac-sha256.txt
把编译好的可执行文件打包之后上传到Github的Releases中,上传之后可以获取下载链接,后续会用到。
https://github.com/huipengo/swift-rewriter/releases/download/1.0.0/swift-rewriter-mac.tar.gz
准备 tap 仓库
Homebrew除了核心仓库之外,还支持第三方仓库,如何提交到核心仓库,可以查看官方文档。
前期为了方便测试和及时更新,准备自己的第三方仓库。
在Github新建一个仓库,仓库的名称必须是 homebrew-
开头,
后面的名称自定义,安装的时候需要指定该名称,我把仓库命名为homebrew-brew
,语言选择 Ruby。克隆到本地之后新建 Formula
文件夹
git clone git@github.com:huipengo/homebrew-brew.git
cd homebrew-brew
mkdir Formula
后续提交软件只需要在 Formula
增加一个 Ruby文件
即可。
准备 Formula
每个软件对应一个 Formula 文件,该文件使用Ruby语言,参考官方文档
brew create https://example.com/foo-0.1.tar.gz
class SwiftRewriter < Formula
desc "https://github.com/LuizZak/SwiftRewriter"
homepage "https://github.com/huipengo/swift-rewriter"
url "https://github.com/huipengo/swift-rewriter/releases/download/1.0.0/swift-rewriter-mac.tar.gz"
sha256 "bde3c29d31576ad833d3e22c5ed2889589917a367b749977a7703e018fc99a43"
version "1.0.0"
def install
bin.install "SwiftRewriter"
bin.install Dir["*.framework"]
end
def caveats
<<~EOS
SwiftRewriter --help
SwiftRewriter files --colorize --target stdout MyClass.h MyClass.m
SwiftRewriter path /path/to/project/
EOS
end
end
class SwiftRewriter < Formula
定义了一个Ruby的类继承自Formula,类的名称需要和可执行二进制文件一致(tar包中的二进制文件
)
安装软件
把 Formula 提交之后就可以在 macOS执行 brew install
了,由于是第三方的,所以首次安装之前需要下载仓库,下载时指定用户名和仓库名(不需要 homebrew-
)
brew tap huipengo/brew
brew install swift-rewriter
也可以通过一个命令进行安装
brew install huipengo/brew/swift-rewriter
参考:
网友评论