[Mac]将软件发布到 Homebrew

2021-06-24  本文已影响0人  iVikings

准备软件

软件要通过 brew 进行安装,需要提供软件下载地址,下载的可以是源码,也可以是编译好的可执行文件的tar包。

tar -czf swift-rewriter-mac.tar.gz Release

以上命令是将 Release 文件夹压缩并打包成 swift-rewriter-mac.tar.gz

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

参考:

上一篇 下一篇

猜你喜欢

热点阅读