Fix remaining RuboCop FormulaAudit offenses in example code

This commit is contained in:
Issy Long 2024-01-27 12:30:00 +00:00
parent 00b47d1fec
commit aaddc66548
No known key found for this signature in database
GPG Key ID: 8247C390DADC67D4
4 changed files with 50 additions and 18 deletions

View File

@ -175,13 +175,13 @@ This will open `EDITOR` with a template for your new cask, to be stored in the f
```ruby ```ruby
cask "my-new-cask" do cask "my-new-cask" do
version "" version "fill in the version here"
sha256 "" sha256 "fill in the sha256 here"
url "download-url" url "download-url"
name "" name "fill in the name"
desc "" desc "Fill in the description here"
homepage "" homepage "fill in the homepage here"
livecheck do livecheck do
url "" url ""

View File

@ -66,11 +66,11 @@ This creates `$(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/f
```ruby ```ruby
class Foo < Formula class Foo < Formula
desc "" desc "Fill in a one-line description of your formula"
homepage "" homepage "https://your.homepage/"
url "https://example.com/foo-0.1.tar.gz" url "https://example.com/foo-0.1.tar.gz"
sha256 "85cc828a96735bdafcf29eb6291ca91bac846579bcef7308536e0c875d6c81d7" sha256 "85cc828a96735bdafcf29eb6291ca91bac846579bcef7308536e0c875d6c81d7"
license "" license "Fill in a license identifier"
# depends_on "cmake" => :build # depends_on "cmake" => :build
@ -145,6 +145,9 @@ Special exceptions are OpenSSL and LibreSSL. Things that use either *should* be
```ruby ```ruby
class Foo < Formula class Foo < Formula
desc "Example formula"
homepage "https://example.com"
depends_on "httpd" => [:build, :test] depends_on "httpd" => [:build, :test]
depends_on xcode: ["9.3", :build] depends_on xcode: ["9.3", :build]
depends_on arch: :x86_64 depends_on arch: :x86_64
@ -153,6 +156,8 @@ class Foo < Formula
depends_on "pkg-config" depends_on "pkg-config"
depends_on "readline" => :recommended depends_on "readline" => :recommended
depends_on "gtk+" => :optional depends_on "gtk+" => :optional
# ...
end end
``` ```
@ -284,6 +289,10 @@ If all else fails, you'll want to use [`resource`](https://rubydoc.brew.sh/Formu
```ruby ```ruby
class Foo < Formula class Foo < Formula
desc "Example formula"
homepage "https://example.com"
url "https://example.com/foo-1.0.tar.gz"
resource "pycrypto" do resource "pycrypto" do
url "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz" url "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz"
sha256 "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c" sha256 "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
@ -662,6 +671,9 @@ Formulae can specify an alternate download for the upstream projects developm
```ruby ```ruby
class Foo < Formula class Foo < Formula
desc "Description"
homepage "https://example.com"
head "https://github.com/some/package.git", branch: "main" # the default is "master" head "https://github.com/some/package.git", branch: "main" # the default is "master"
end end
``` ```
@ -670,6 +682,9 @@ You can also bundle the URL and any `head`-specific dependencies and resources i
```ruby ```ruby
class Foo < Formula class Foo < Formula
desc "Description"
homepage "https://example.com"
head do head do
url "https://svn.code.sf.net/p/project/code/trunk" url "https://svn.code.sf.net/p/project/code/trunk"
depends_on "pkg-config" => :build depends_on "pkg-config" => :build
@ -685,8 +700,8 @@ When parsing a download URL, Homebrew auto-detects the resource type it points t
```ruby ```ruby
class Foo < Formula class Foo < Formula
desc "Some package"
homepage "https://github.com/some/package" homepage "https://github.com/some/package"
description "Some package"
url "https://github.com/some/package.git", url "https://github.com/some/package.git",
tag: "v1.6.2", tag: "v1.6.2",
revision: "344cd2ee3463abab4c16ac0f9529a846314932a2" revision: "344cd2ee3463abab4c16ac0f9529a846314932a2"
@ -697,8 +712,8 @@ If not inferable, specify which of Homebrews built-in download strategies to
```ruby ```ruby
class Nginx < Formula class Nginx < Formula
desc "Some package"
homepage "https://nginx.org/" homepage "https://nginx.org/"
description "Some package"
url "https://nginx.org/download/nginx-1.23.2.tar.gz", using: :homebrew_curl url "https://nginx.org/download/nginx-1.23.2.tar.gz", using: :homebrew_curl
sha256 "a80cc272d3d72aaee70aa8b517b4862a635c0256790434dbfc4d618a999b0b46" sha256 "a80cc272d3d72aaee70aa8b517b4862a635c0256790434dbfc4d618a999b0b46"
head "https://hg.nginx.org/nginx/", using: :hg head "https://hg.nginx.org/nginx/", using: :hg
@ -732,8 +747,9 @@ class MyDownloadStrategy < SomeHomebrewDownloadStrategy
end end
class Foo < Formula class Foo < Formula
desc "Some package"
homepage "https://example.com"
url "something", using: MyDownloadStrategy url "something", using: MyDownloadStrategy
description "Some package"
end end
``` ```
@ -894,6 +910,10 @@ If you want to add an [`option`](https://rubydoc.brew.sh/Formula#option-class_me
```ruby ```ruby
class Yourformula < Formula class Yourformula < Formula
desc "Description"
homepage "https://example.com"
url "https://example.com/yourformula-1.0.tar.gz"
sha256 "abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1"
# ... # ...
option "with-ham", "Description of the option" option "with-ham", "Description of the option"
option "without-spam", "Another description" option "without-spam", "Another description"
@ -925,9 +945,16 @@ end
Any initialization steps that aren't necessarily part of the install process can be located in a `post_install` block, such as setup commands or data directory creation. This block can be re-run separately with `brew postinstall <formula>`. Any initialization steps that aren't necessarily part of the install process can be located in a `post_install` block, such as setup commands or data directory creation. This block can be re-run separately with `brew postinstall <formula>`.
```ruby ```ruby
def post_install class Foo < Formula
rm_f pkgetc/"cert.pem" desc "Description"
pkgetc.install_symlink Formula["ca-certificates"].pkgetc/"cert.pem" homepage "https://example.com"
url "https://example.com/foo-1.0.tar.gz"
def post_install
rm_f pkgetc/"cert.pem"
pkgetc.install_symlink Formula["ca-certificates"].pkgetc/"cert.pem"
end
# ...
end end
``` ```

View File

@ -92,7 +92,7 @@ require "language/node"
class Foo < Formula class Foo < Formula
desc "Description" desc "Description"
homepage "..." homepage "https://example.com"
url "https://registry.npmjs.org/foo/-/foo-1.4.2.tgz" url "https://registry.npmjs.org/foo/-/foo-1.4.2.tgz"
sha256 "abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1" sha256 "abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1"
@ -106,7 +106,8 @@ class Foo < Formula
end end
test do test do
# add a meaningful test here # add a meaningful test here, version isn't usually meaningful
assert_match version.to_s, shell_output("#{bin}/foo --version")
end end
end end
``` ```

View File

@ -74,8 +74,8 @@ class Foo < Formula
name "foo" name "foo"
desc "Bar" desc "Bar"
homepage "https://example.com" homepage "https://example.com"
url "..." url "https://example.com/foo-1.0.tar.gz"
sha256 "abc123" sha256 "abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1"
def install def install
# Create a virtualenv in `libexec`. If your app needs Python 3, make sure that # Create a virtualenv in `libexec`. If your app needs Python 3, make sure that
@ -101,6 +101,8 @@ Installing a formula with dependencies will look like this:
class Foo < Formula class Foo < Formula
include Language::Python::Virtualenv include Language::Python::Virtualenv
desc "Description"
homepage "https://example.com"
url "..." url "..."
resource "six" do resource "six" do
@ -125,6 +127,8 @@ You can also use the more verbose form and request that specific resources be in
class Foo < Formula class Foo < Formula
include Language::Python::Virtualenv include Language::Python::Virtualenv
desc "Description"
homepage "https://example.com"
url "..." url "..."
def install def install