diff --git a/Library/Homebrew/cask/cask.rb b/Library/Homebrew/cask/cask.rb index 710753fa4a6630ca80f00ce9e948a7eeacf57cc4..bdda5b6e77d47883428ba35f3c3039230bc9d39b 100644 --- a/Library/Homebrew/cask/cask.rb +++ b/Library/Homebrew/cask/cask.rb @@ -155,6 +155,7 @@ module Cask { "token" => token, "name" => name, + "desc" => desc, "homepage" => homepage, "url" => url, "appcast" => appcast, diff --git a/Library/Homebrew/cask/cmd/create.rb b/Library/Homebrew/cask/cmd/create.rb index 43145bfc3560ab128b91aebc3dedab4f18e91cb0..0c9e44ed42297c31343ea6a210ae0950fa820ba5 100644 --- a/Library/Homebrew/cask/cmd/create.rb +++ b/Library/Homebrew/cask/cmd/create.rb @@ -30,6 +30,7 @@ module Cask url "https://" name "" + desc "" homepage "" app "" diff --git a/Library/Homebrew/cask/dsl.rb b/Library/Homebrew/cask/dsl.rb index 87b83e8d3f3928b62a208a8d038ec8daf3be25a0..3f5ec39412c5201e6d84ac7ad996f0782781ffea 100644 --- a/Library/Homebrew/cask/dsl.rb +++ b/Library/Homebrew/cask/dsl.rb @@ -64,6 +64,7 @@ module Cask :caveats, :conflicts_with, :container, + :desc, :depends_on, :homepage, :language, @@ -93,6 +94,10 @@ module Cask @name.concat(args.flatten) end + def desc(description = nil) + set_unique_stanza(:desc, description.nil?) { description } + end + def set_unique_stanza(stanza, should_return) return instance_variable_get("@#{stanza}") if should_return diff --git a/Library/Homebrew/rubocops/cask/constants/stanza.rb b/Library/Homebrew/rubocops/cask/constants/stanza.rb index 00335bb1f240df2b2bcf23b08cedd9a28593a9e9..e0bda8dc7bb52e986dfb188369e667bb493ead1e 100644 --- a/Library/Homebrew/rubocops/cask/constants/stanza.rb +++ b/Library/Homebrew/rubocops/cask/constants/stanza.rb @@ -6,7 +6,7 @@ module RuboCop module Constants STANZA_GROUPS = [ [:version, :sha256], - [:url, :appcast, :name, :homepage], + [:url, :appcast, :desc, :name, :homepage], [ :auto_updates, :conflicts_with, diff --git a/Library/Homebrew/test/cask/cmd/create_spec.rb b/Library/Homebrew/test/cask/cmd/create_spec.rb index d656e90d44f8a8572a93e8f95a1a57373f795b0b..ab9a0c95b228a43277393858f7a5766f87d89868 100644 --- a/Library/Homebrew/test/cask/cmd/create_spec.rb +++ b/Library/Homebrew/test/cask/cmd/create_spec.rb @@ -35,6 +35,7 @@ describe Cask::Cmd::Create, :cask do url "https://" name "" + desc "" homepage "" app "" diff --git a/Library/Homebrew/test/cask/cmd/list_spec.rb b/Library/Homebrew/test/cask/cmd/list_spec.rb index 82a486b0d5b8a23652961bdd3441f330363bd0d6..b3af63e31f324ea9024c726d682bf396c0f10356 100644 --- a/Library/Homebrew/test/cask/cmd/list_spec.rb +++ b/Library/Homebrew/test/cask/cmd/list_spec.rb @@ -90,7 +90,7 @@ describe Cask::Cmd::List, :cask do let(:casks) { ["local-caffeine", "local-transmission"] } let(:expected_output) { <<~EOS - [{"token":"local-caffeine","name":[],"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/caffeine.zip","appcast":null,"version":"1.2.3","sha256":"67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94","artifacts":[["Caffeine.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null},{"token":"local-transmission","name":["Transmission"],"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.dmg","appcast":null,"version":"2.61","sha256":"e44ffa103fbf83f55c8d0b1bea309a43b2880798dae8620b1ee8da5e1095ec68","artifacts":[["Transmission.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null}] + [{"token":"local-caffeine","name":[],"desc":null,"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/caffeine.zip","appcast":null,"version":"1.2.3","sha256":"67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94","artifacts":[["Caffeine.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null},{"token":"local-transmission","name":["Transmission"],"desc":null,"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.dmg","appcast":null,"version":"2.61","sha256":"e44ffa103fbf83f55c8d0b1bea309a43b2880798dae8620b1ee8da5e1095ec68","artifacts":[["Transmission.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null}] EOS } diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index 949a1c804f728add4f5c528682e8993b5db9a943..cebf4c1af7c63779840ec7a3f9ba473cca53a81c 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -107,6 +107,16 @@ describe Cask::DSL, :cask do end end + describe "desc stanza" do + it "lets you set the description via a desc stanza" do + cask = Cask::Cask.new("desc-cask") do + desc "The package's description" + end + + expect(cask.desc).to eq("The package's description") + end + end + describe "sha256 stanza" do it "lets you set checksum via sha256" do cask = Cask::Cask.new("checksum-cask") do