aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cask/lib/hbc/artifact.rb
blob: 73bd582a59493315484ca0d23bb4b76e2cd33918 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
module Hbc::Artifact; end

require "hbc/artifact/app"
require "hbc/artifact/artifact" # generic 'artifact' stanza
require "hbc/artifact/binary"
require "hbc/artifact/colorpicker"
require "hbc/artifact/font"
require "hbc/artifact/input_method"
require "hbc/artifact/installer"
require "hbc/artifact/internet_plugin"
require "hbc/artifact/audio_unit_plugin"
require "hbc/artifact/vst_plugin"
require "hbc/artifact/vst3_plugin"
require "hbc/artifact/nested_container"
require "hbc/artifact/pkg"
require "hbc/artifact/postflight_block"
require "hbc/artifact/preflight_block"
require "hbc/artifact/prefpane"
require "hbc/artifact/qlplugin"
require "hbc/artifact/screen_saver"
require "hbc/artifact/service"
require "hbc/artifact/stage_only"
require "hbc/artifact/suite"
require "hbc/artifact/uninstall"
require "hbc/artifact/zap"

module Hbc::Artifact
  # NOTE: order is important here, since we want to extract nested containers
  #       before we handle any other artifacts
  def self.artifacts
    [
      Hbc::Artifact::PreflightBlock,
      Hbc::Artifact::NestedContainer,
      Hbc::Artifact::Installer,
      Hbc::Artifact::App,
      Hbc::Artifact::Suite,
      Hbc::Artifact::Artifact, # generic 'artifact' stanza
      Hbc::Artifact::Colorpicker,
      Hbc::Artifact::Pkg,
      Hbc::Artifact::Prefpane,
      Hbc::Artifact::Qlplugin,
      Hbc::Artifact::Font,
      Hbc::Artifact::Service,
      Hbc::Artifact::StageOnly,
      Hbc::Artifact::Binary,
      Hbc::Artifact::InputMethod,
      Hbc::Artifact::InternetPlugin,
      Hbc::Artifact::AudioUnitPlugin,
      Hbc::Artifact::VstPlugin,
      Hbc::Artifact::Vst3Plugin,
      Hbc::Artifact::ScreenSaver,
      Hbc::Artifact::Uninstall,
      Hbc::Artifact::PostflightBlock,
      Hbc::Artifact::Zap,
    ]
  end

  def self.for_cask(cask)
    odebug "Determining which artifacts are present in Cask #{cask}"
    artifacts.select do |artifact|
      odebug "Checking for artifact class #{artifact}"
      artifact.me?(cask)
    end
  end
end