Merge pull request #13589 from Rylan12/formula-to-hash-variations
`Formula#to_hash`: include `variations` key
This commit is contained in:
commit
0e98bdde13
@ -219,7 +219,7 @@ module Cask
|
|||||||
end
|
end
|
||||||
alias == eql?
|
alias == eql?
|
||||||
|
|
||||||
def to_hash
|
def to_h
|
||||||
{
|
{
|
||||||
"token" => token,
|
"token" => token,
|
||||||
"full_token" => full_name,
|
"full_token" => full_name,
|
||||||
@ -243,8 +243,8 @@ module Cask
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_h
|
def to_hash_with_variations
|
||||||
hash = to_hash
|
hash = to_h
|
||||||
variations = {}
|
variations = {}
|
||||||
|
|
||||||
hash_keys_to_skip = %w[outdated installed versions]
|
hash_keys_to_skip = %w[outdated installed versions]
|
||||||
@ -252,21 +252,20 @@ module Cask
|
|||||||
if @dsl.on_system_blocks_exist?
|
if @dsl.on_system_blocks_exist?
|
||||||
[:arm, :intel].each do |arch|
|
[:arm, :intel].each do |arch|
|
||||||
MacOSVersions::SYMBOLS.each_key do |os_name|
|
MacOSVersions::SYMBOLS.each_key do |os_name|
|
||||||
# Big Sur is the first version of macOS that supports arm
|
bottle_tag = ::Utils::Bottles::Tag.new(system: os_name, arch: arch)
|
||||||
next if arch == :arm && MacOS::Version.from_symbol(os_name) < MacOS::Version.from_symbol(:big_sur)
|
next unless bottle_tag.valid_combination?
|
||||||
|
|
||||||
Homebrew::SimulateSystem.os = os_name
|
Homebrew::SimulateSystem.os = os_name
|
||||||
Homebrew::SimulateSystem.arch = arch
|
Homebrew::SimulateSystem.arch = arch
|
||||||
|
|
||||||
refresh
|
refresh
|
||||||
|
|
||||||
bottle_tag = ::Utils::Bottles::Tag.new(system: os_name, arch: arch).to_sym
|
to_h.each do |key, value|
|
||||||
to_hash.each do |key, value|
|
|
||||||
next if hash_keys_to_skip.include? key
|
next if hash_keys_to_skip.include? key
|
||||||
next if value.to_s == hash[key].to_s
|
next if value.to_s == hash[key].to_s
|
||||||
|
|
||||||
variations[bottle_tag] ||= {}
|
variations[bottle_tag.to_sym] ||= {}
|
||||||
variations[bottle_tag][key] = value
|
variations[bottle_tag.to_sym][key] = value
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -61,6 +61,9 @@ module Homebrew
|
|||||||
switch "--all",
|
switch "--all",
|
||||||
depends_on: "--json",
|
depends_on: "--json",
|
||||||
description: "Print JSON of all available formulae."
|
description: "Print JSON of all available formulae."
|
||||||
|
switch "--variations",
|
||||||
|
depends_on: "--json",
|
||||||
|
description: "Include the variations hash in each formula's JSON output."
|
||||||
switch "-v", "--verbose",
|
switch "-v", "--verbose",
|
||||||
description: "Show more verbose analytics data for <formula>."
|
description: "Show more verbose analytics data for <formula>."
|
||||||
switch "--formula", "--formulae",
|
switch "--formula", "--formulae",
|
||||||
@ -202,6 +205,8 @@ module Homebrew
|
|||||||
|
|
||||||
if args.bottle?
|
if args.bottle?
|
||||||
formulae.map(&:to_recursive_bottle_hash)
|
formulae.map(&:to_recursive_bottle_hash)
|
||||||
|
elsif args.variations?
|
||||||
|
formulae.map(&:to_hash_with_variations)
|
||||||
else
|
else
|
||||||
formulae.map(&:to_hash)
|
formulae.map(&:to_hash)
|
||||||
end
|
end
|
||||||
@ -216,6 +221,11 @@ module Homebrew
|
|||||||
|
|
||||||
if args.bottle?
|
if args.bottle?
|
||||||
{ "formulae" => formulae.map(&:to_recursive_bottle_hash) }
|
{ "formulae" => formulae.map(&:to_recursive_bottle_hash) }
|
||||||
|
elsif args.variations?
|
||||||
|
{
|
||||||
|
"formulae" => formulae.map(&:to_hash_with_variations),
|
||||||
|
"casks" => casks.map(&:to_hash_with_variations),
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
"formulae" => formulae.map(&:to_hash),
|
"formulae" => formulae.map(&:to_hash),
|
||||||
|
|||||||
@ -2005,6 +2005,45 @@ class Formula
|
|||||||
hsh
|
hsh
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @private
|
||||||
|
def to_hash_with_variations
|
||||||
|
hash = to_hash
|
||||||
|
variations = {}
|
||||||
|
|
||||||
|
os_versions = [*MacOSVersions::SYMBOLS.keys, :linux]
|
||||||
|
|
||||||
|
if path.exist? && self.class.on_system_blocks_exist?
|
||||||
|
formula_contents = path.read
|
||||||
|
[:arm, :intel].each do |arch|
|
||||||
|
os_versions.each do |os_name|
|
||||||
|
bottle_tag = Utils::Bottles::Tag.new(system: os_name, arch: arch)
|
||||||
|
next unless bottle_tag.valid_combination?
|
||||||
|
|
||||||
|
Homebrew::SimulateSystem.os = os_name
|
||||||
|
Homebrew::SimulateSystem.arch = arch
|
||||||
|
|
||||||
|
variations_namespace = Formulary.class_s("Variations#{bottle_tag.to_sym.capitalize}")
|
||||||
|
variations_formula_class = Formulary.load_formula(name, path, formula_contents, variations_namespace,
|
||||||
|
flags: self.class.build_flags, ignore_errors: true)
|
||||||
|
variations_formula = variations_formula_class.new(name, path, :stable,
|
||||||
|
alias_path: alias_path, force_bottle: force_bottle)
|
||||||
|
|
||||||
|
variations_formula.to_hash.each do |key, value|
|
||||||
|
next if value.to_s == hash[key].to_s
|
||||||
|
|
||||||
|
variations[bottle_tag.to_sym] ||= {}
|
||||||
|
variations[bottle_tag.to_sym][key] = value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Homebrew::SimulateSystem.clear
|
||||||
|
|
||||||
|
hash["variations"] = variations
|
||||||
|
hash
|
||||||
|
end
|
||||||
|
|
||||||
# @api private
|
# @api private
|
||||||
# Generate a hash to be used to install a formula from a JSON file
|
# Generate a hash to be used to install a formula from a JSON file
|
||||||
def to_recursive_bottle_hash(top_level: true)
|
def to_recursive_bottle_hash(top_level: true)
|
||||||
@ -2469,6 +2508,7 @@ class Formula
|
|||||||
|
|
||||||
# The methods below define the formula DSL.
|
# The methods below define the formula DSL.
|
||||||
class << self
|
class << self
|
||||||
|
extend Predicable
|
||||||
include BuildEnvironment::DSL
|
include BuildEnvironment::DSL
|
||||||
include OnSystem::MacOSAndLinux
|
include OnSystem::MacOSAndLinux
|
||||||
|
|
||||||
@ -2483,6 +2523,11 @@ class Formula
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Whether this formula contains OS/arch-specific blocks
|
||||||
|
# (e.g. `on_macos`, `on_arm`, `on_monterey :or_older`, `on_system :linux, macos: :big_sur_or_newer`).
|
||||||
|
# @private
|
||||||
|
attr_predicate :on_system_blocks_exist?
|
||||||
|
|
||||||
# The reason for why this software is not linked (by default) to
|
# The reason for why this software is not linked (by default) to
|
||||||
# {::HOMEBREW_PREFIX}.
|
# {::HOMEBREW_PREFIX}.
|
||||||
# @private
|
# @private
|
||||||
|
|||||||
@ -49,6 +49,7 @@ class Formula
|
|||||||
def env; end
|
def env; end
|
||||||
def conflicts; end
|
def conflicts; end
|
||||||
|
|
||||||
|
def self.on_system_blocks_exist?; end
|
||||||
# This method is included by `OnSystem`
|
# This method is included by `OnSystem`
|
||||||
def self.on_macos(&block); end
|
def self.on_macos(&block); end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -211,4 +211,64 @@ describe Cask::Cask, :cask do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#to_hash_with_variations" do
|
||||||
|
let!(:original_macos_version) { MacOS.full_version.to_s }
|
||||||
|
let(:expected_variations) {
|
||||||
|
<<~JSON
|
||||||
|
{
|
||||||
|
"arm64_big_sur": {
|
||||||
|
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.2.0/arm.zip",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b"
|
||||||
|
},
|
||||||
|
"monterey": {
|
||||||
|
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.2.3/intel.zip"
|
||||||
|
},
|
||||||
|
"big_sur": {
|
||||||
|
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.2.0/intel.zip",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b"
|
||||||
|
},
|
||||||
|
"catalina": {
|
||||||
|
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.0.0/intel.zip",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216"
|
||||||
|
},
|
||||||
|
"mojave": {
|
||||||
|
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.0.0/intel.zip",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSON
|
||||||
|
}
|
||||||
|
|
||||||
|
before do
|
||||||
|
# Use a more limited symbols list to shorten the variations hash
|
||||||
|
symbols = {
|
||||||
|
monterey: "12",
|
||||||
|
big_sur: "11",
|
||||||
|
catalina: "10.15",
|
||||||
|
mojave: "10.14",
|
||||||
|
}
|
||||||
|
stub_const("MacOSVersions::SYMBOLS", symbols)
|
||||||
|
|
||||||
|
# For consistency, always run on Monterey and ARM
|
||||||
|
MacOS.full_version = "12"
|
||||||
|
allow(Hardware::CPU).to receive(:type).and_return(:arm)
|
||||||
|
end
|
||||||
|
|
||||||
|
after do
|
||||||
|
MacOS.full_version = original_macos_version
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns the correct variations hash" do
|
||||||
|
c = Cask::CaskLoader.load("multiple-versions")
|
||||||
|
h = c.to_hash_with_variations
|
||||||
|
|
||||||
|
expect(h).to be_a(Hash)
|
||||||
|
expect(JSON.pretty_generate(h["variations"])).to eq expected_variations.strip
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -120,9 +120,7 @@ describe Cask::Cmd::List, :cask do
|
|||||||
},
|
},
|
||||||
"conflicts_with": null,
|
"conflicts_with": null,
|
||||||
"container": null,
|
"container": null,
|
||||||
"auto_updates": null,
|
"auto_updates": null
|
||||||
"variations": {
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"token": "local-transmission",
|
"token": "local-transmission",
|
||||||
@ -151,9 +149,7 @@ describe Cask::Cmd::List, :cask do
|
|||||||
},
|
},
|
||||||
"conflicts_with": null,
|
"conflicts_with": null,
|
||||||
"container": null,
|
"container": null,
|
||||||
"auto_updates": null,
|
"auto_updates": null
|
||||||
"variations": {
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"token": "multiple-versions",
|
"token": "multiple-versions",
|
||||||
@ -185,32 +181,7 @@ describe Cask::Cmd::List, :cask do
|
|||||||
},
|
},
|
||||||
"conflicts_with": null,
|
"conflicts_with": null,
|
||||||
"container": null,
|
"container": null,
|
||||||
"auto_updates": null,
|
"auto_updates": null
|
||||||
"variations": {
|
|
||||||
"arm_big_sur": {
|
|
||||||
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.2.0/arm.zip",
|
|
||||||
"version": "1.2.0",
|
|
||||||
"sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b"
|
|
||||||
},
|
|
||||||
"intel_monterey": {
|
|
||||||
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.2.3/intel.zip"
|
|
||||||
},
|
|
||||||
"intel_big_sur": {
|
|
||||||
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.2.0/intel.zip",
|
|
||||||
"version": "1.2.0",
|
|
||||||
"sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b"
|
|
||||||
},
|
|
||||||
"intel_catalina": {
|
|
||||||
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.0.0/intel.zip",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216"
|
|
||||||
},
|
|
||||||
"intel_mojave": {
|
|
||||||
"url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/1.0.0/intel.zip",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"token": "third-party-cask",
|
"token": "third-party-cask",
|
||||||
@ -239,9 +210,7 @@ describe Cask::Cmd::List, :cask do
|
|||||||
},
|
},
|
||||||
"conflicts_with": null,
|
"conflicts_with": null,
|
||||||
"container": null,
|
"container": null,
|
||||||
"auto_updates": null,
|
"auto_updates": null
|
||||||
"variations": {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
EOS
|
EOS
|
||||||
|
|||||||
@ -905,6 +905,99 @@ describe Formula do
|
|||||||
expect(h["versions"]["bottle"]).to be_truthy
|
expect(h["versions"]["bottle"]).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#to_hash_with_variations", :needs_macos do
|
||||||
|
let(:formula_path) { CoreTap.new.formula_dir/"foo-variations.rb" }
|
||||||
|
let(:formula_content) do
|
||||||
|
<<~RUBY
|
||||||
|
class FooVariations < Formula
|
||||||
|
url "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz"
|
||||||
|
sha256 TESTBALL_SHA256
|
||||||
|
|
||||||
|
on_intel do
|
||||||
|
depends_on "intel-formula"
|
||||||
|
end
|
||||||
|
|
||||||
|
on_big_sur do
|
||||||
|
depends_on "big-sur-formula"
|
||||||
|
end
|
||||||
|
|
||||||
|
on_catalina :or_older do
|
||||||
|
depends_on "catalina-or-older-formula"
|
||||||
|
end
|
||||||
|
|
||||||
|
on_linux do
|
||||||
|
depends_on "linux-formula"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
let(:expected_variations) {
|
||||||
|
<<~JSON
|
||||||
|
{
|
||||||
|
"arm64_big_sur": {
|
||||||
|
"dependencies": [
|
||||||
|
"big-sur-formula"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"monterey": {
|
||||||
|
"dependencies": [
|
||||||
|
"intel-formula"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"big_sur": {
|
||||||
|
"dependencies": [
|
||||||
|
"intel-formula",
|
||||||
|
"big-sur-formula"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"catalina": {
|
||||||
|
"dependencies": [
|
||||||
|
"intel-formula",
|
||||||
|
"catalina-or-older-formula"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mojave": {
|
||||||
|
"dependencies": [
|
||||||
|
"intel-formula",
|
||||||
|
"catalina-or-older-formula"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"x86_64_linux": {
|
||||||
|
"dependencies": [
|
||||||
|
"intel-formula",
|
||||||
|
"linux-formula"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSON
|
||||||
|
}
|
||||||
|
|
||||||
|
before do
|
||||||
|
# Use a more limited symbols list to shorten the variations hash
|
||||||
|
symbols = {
|
||||||
|
monterey: "12",
|
||||||
|
big_sur: "11",
|
||||||
|
catalina: "10.15",
|
||||||
|
mojave: "10.14",
|
||||||
|
}
|
||||||
|
stub_const("MacOSVersions::SYMBOLS", symbols)
|
||||||
|
|
||||||
|
# For consistency, always run on Monterey and ARM
|
||||||
|
allow(MacOS).to receive(:version).and_return(MacOS::Version.new("12"))
|
||||||
|
allow(Hardware::CPU).to receive(:type).and_return(:arm)
|
||||||
|
|
||||||
|
formula_path.dirname.mkpath
|
||||||
|
formula_path.write formula_content
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns the correct variations hash" do
|
||||||
|
h = Formulary.factory("foo-variations").to_hash_with_variations
|
||||||
|
|
||||||
|
expect(h).to be_a(Hash)
|
||||||
|
expect(JSON.pretty_generate(h["variations"])).to eq expected_variations.strip
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
specify "#to_recursive_bottle_hash" do
|
specify "#to_recursive_bottle_hash" do
|
||||||
f1 = formula "foo" do
|
f1 = formula "foo" do
|
||||||
url "foo-1.0"
|
url "foo-1.0"
|
||||||
|
|||||||
@ -36,4 +36,37 @@ describe Utils::Bottles::Tag do
|
|||||||
expect(tag.linux?).to be true
|
expect(tag.linux?).to be true
|
||||||
expect(tag.to_sym).to eq(symbol)
|
expect(tag.to_sym).to eq(symbol)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#standardized_arch" do
|
||||||
|
it "returns :x86_64 for :intel" do
|
||||||
|
expect(described_class.new(system: :all, arch: :intel).standardized_arch).to eq(:x86_64)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns :arm64 for :arm" do
|
||||||
|
expect(described_class.new(system: :all, arch: :arm).standardized_arch).to eq(:arm64)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#valid_combination?" do
|
||||||
|
it "returns true for intel archs" do
|
||||||
|
tag = described_class.new(system: :big_sur, arch: :intel)
|
||||||
|
expect(tag.valid_combination?).to be true
|
||||||
|
tag = described_class.new(system: :linux, arch: :x86_64)
|
||||||
|
expect(tag.valid_combination?).to be true
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns false for arm archs and macos versions older than big_sur" do
|
||||||
|
tag = described_class.new(system: :catalina, arch: :arm64)
|
||||||
|
expect(tag.valid_combination?).to be false
|
||||||
|
tag = described_class.new(system: :mojave, arch: :arm)
|
||||||
|
expect(tag.valid_combination?).to be false
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns false for arm archs and linux" do
|
||||||
|
tag = described_class.new(system: :linux, arch: :arm64)
|
||||||
|
expect(tag.valid_combination?).to be false
|
||||||
|
tag = described_class.new(system: :linux, arch: :arm)
|
||||||
|
expect(tag.valid_combination?).to be false
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -169,14 +169,22 @@ module Utils
|
|||||||
[system, arch].hash
|
[system, arch].hash
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { returns(Symbol) }
|
||||||
|
def standardized_arch
|
||||||
|
return :x86_64 if [:x86_64, :intel].include? arch
|
||||||
|
return :arm64 if [:arm64, :arm].include? arch
|
||||||
|
|
||||||
|
arch
|
||||||
|
end
|
||||||
|
|
||||||
sig { returns(Symbol) }
|
sig { returns(Symbol) }
|
||||||
def to_sym
|
def to_sym
|
||||||
if system == :all && arch == :all
|
if system == :all && arch == :all
|
||||||
:all
|
:all
|
||||||
elsif macos? && arch == :x86_64
|
elsif macos? && [:x86_64, :intel].include?(arch)
|
||||||
system
|
system
|
||||||
else
|
else
|
||||||
"#{arch}_#{system}".to_sym
|
"#{standardized_arch}_#{system}".to_sym
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -203,6 +211,15 @@ module Utils
|
|||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { returns(T::Boolean) }
|
||||||
|
def valid_combination?
|
||||||
|
return true unless [:arm64, :arm].include? arch
|
||||||
|
return false if linux?
|
||||||
|
|
||||||
|
# Big Sur is the first version of macOS that runs on ARM
|
||||||
|
to_macos_version >= :big_sur
|
||||||
|
end
|
||||||
|
|
||||||
sig { returns(String) }
|
sig { returns(String) }
|
||||||
def default_prefix
|
def default_prefix
|
||||||
if linux?
|
if linux?
|
||||||
|
|||||||
@ -312,6 +312,7 @@ _brew_abv() {
|
|||||||
--installed
|
--installed
|
||||||
--json
|
--json
|
||||||
--quiet
|
--quiet
|
||||||
|
--variations
|
||||||
--verbose
|
--verbose
|
||||||
"
|
"
|
||||||
return
|
return
|
||||||
@ -1044,6 +1045,7 @@ _brew_info() {
|
|||||||
--installed
|
--installed
|
||||||
--json
|
--json
|
||||||
--quiet
|
--quiet
|
||||||
|
--variations
|
||||||
--verbose
|
--verbose
|
||||||
"
|
"
|
||||||
return
|
return
|
||||||
|
|||||||
@ -307,6 +307,7 @@ __fish_brew_complete_arg 'abv' -l help -d 'Show this message'
|
|||||||
__fish_brew_complete_arg 'abv' -l installed -d 'Print JSON of formulae that are currently installed'
|
__fish_brew_complete_arg 'abv' -l installed -d 'Print JSON of formulae that are currently installed'
|
||||||
__fish_brew_complete_arg 'abv' -l json -d 'Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew'
|
__fish_brew_complete_arg 'abv' -l json -d 'Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew'
|
||||||
__fish_brew_complete_arg 'abv' -l quiet -d 'Make some output more quiet'
|
__fish_brew_complete_arg 'abv' -l quiet -d 'Make some output more quiet'
|
||||||
|
__fish_brew_complete_arg 'abv' -l variations -d 'Include the variations hash in each formula\'s JSON output'
|
||||||
__fish_brew_complete_arg 'abv' -l verbose -d 'Show more verbose analytics data for formula'
|
__fish_brew_complete_arg 'abv' -l verbose -d 'Show more verbose analytics data for formula'
|
||||||
__fish_brew_complete_arg 'abv; and not __fish_seen_argument -l cask -l casks' -a '(__fish_brew_suggest_formulae_all)'
|
__fish_brew_complete_arg 'abv; and not __fish_seen_argument -l cask -l casks' -a '(__fish_brew_suggest_formulae_all)'
|
||||||
__fish_brew_complete_arg 'abv; and not __fish_seen_argument -l formula -l formulae' -a '(__fish_brew_suggest_casks_all)'
|
__fish_brew_complete_arg 'abv; and not __fish_seen_argument -l formula -l formulae' -a '(__fish_brew_suggest_casks_all)'
|
||||||
@ -757,6 +758,7 @@ __fish_brew_complete_arg 'info' -l help -d 'Show this message'
|
|||||||
__fish_brew_complete_arg 'info' -l installed -d 'Print JSON of formulae that are currently installed'
|
__fish_brew_complete_arg 'info' -l installed -d 'Print JSON of formulae that are currently installed'
|
||||||
__fish_brew_complete_arg 'info' -l json -d 'Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew'
|
__fish_brew_complete_arg 'info' -l json -d 'Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew'
|
||||||
__fish_brew_complete_arg 'info' -l quiet -d 'Make some output more quiet'
|
__fish_brew_complete_arg 'info' -l quiet -d 'Make some output more quiet'
|
||||||
|
__fish_brew_complete_arg 'info' -l variations -d 'Include the variations hash in each formula\'s JSON output'
|
||||||
__fish_brew_complete_arg 'info' -l verbose -d 'Show more verbose analytics data for formula'
|
__fish_brew_complete_arg 'info' -l verbose -d 'Show more verbose analytics data for formula'
|
||||||
__fish_brew_complete_arg 'info; and not __fish_seen_argument -l cask -l casks' -a '(__fish_brew_suggest_formulae_all)'
|
__fish_brew_complete_arg 'info; and not __fish_seen_argument -l cask -l casks' -a '(__fish_brew_suggest_formulae_all)'
|
||||||
__fish_brew_complete_arg 'info; and not __fish_seen_argument -l formula -l formulae' -a '(__fish_brew_suggest_casks_all)'
|
__fish_brew_complete_arg 'info; and not __fish_seen_argument -l formula -l formulae' -a '(__fish_brew_suggest_casks_all)'
|
||||||
|
|||||||
@ -382,6 +382,7 @@ _brew_abv() {
|
|||||||
'(--all)--installed[Print JSON of formulae that are currently installed]' \
|
'(--all)--installed[Print JSON of formulae that are currently installed]' \
|
||||||
'--json[Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew]' \
|
'--json[Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew]' \
|
||||||
'--quiet[Make some output more quiet]' \
|
'--quiet[Make some output more quiet]' \
|
||||||
|
'--variations[Include the variations hash in each formula'\''s JSON output]' \
|
||||||
'--verbose[Show more verbose analytics data for formula]' \
|
'--verbose[Show more verbose analytics data for formula]' \
|
||||||
- formula \
|
- formula \
|
||||||
'(--cask)--formula[Treat all named arguments as formulae]' \
|
'(--cask)--formula[Treat all named arguments as formulae]' \
|
||||||
@ -931,6 +932,7 @@ _brew_info() {
|
|||||||
'(--all)--installed[Print JSON of formulae that are currently installed]' \
|
'(--all)--installed[Print JSON of formulae that are currently installed]' \
|
||||||
'--json[Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew]' \
|
'--json[Print a JSON representation. Currently the default value for version is `v1` for formula. For formula and cask use `v2`. See the docs for examples of using the JSON output: https://docs.brew.sh/Querying-Brew]' \
|
||||||
'--quiet[Make some output more quiet]' \
|
'--quiet[Make some output more quiet]' \
|
||||||
|
'--variations[Include the variations hash in each formula'\''s JSON output]' \
|
||||||
'--verbose[Show more verbose analytics data for formula]' \
|
'--verbose[Show more verbose analytics data for formula]' \
|
||||||
- formula \
|
- formula \
|
||||||
'(--cask)--formula[Treat all named arguments as formulae]' \
|
'(--cask)--formula[Treat all named arguments as formulae]' \
|
||||||
|
|||||||
@ -295,6 +295,8 @@ If a *`formula`* or *`cask`* is provided, show summary of information about it.
|
|||||||
Print JSON of formulae that are currently installed.
|
Print JSON of formulae that are currently installed.
|
||||||
* `--all`:
|
* `--all`:
|
||||||
Print JSON of all available formulae.
|
Print JSON of all available formulae.
|
||||||
|
* `--variations`:
|
||||||
|
Include the variations hash in each formula's JSON output.
|
||||||
* `-v`, `--verbose`:
|
* `-v`, `--verbose`:
|
||||||
Show more verbose analytics data for *`formula`*.
|
Show more verbose analytics data for *`formula`*.
|
||||||
* `--formula`:
|
* `--formula`:
|
||||||
|
|||||||
@ -385,6 +385,10 @@ Print JSON of formulae that are currently installed\.
|
|||||||
Print JSON of all available formulae\.
|
Print JSON of all available formulae\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-\-variations\fR
|
||||||
|
Include the variations hash in each formula\'s JSON output\.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
\fB\-v\fR, \fB\-\-verbose\fR
|
\fB\-v\fR, \fB\-\-verbose\fR
|
||||||
Show more verbose analytics data for \fIformula\fR\.
|
Show more verbose analytics data for \fIformula\fR\.
|
||||||
.
|
.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user