mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
66 lines
1.7 KiB
Ruby
66 lines
1.7 KiB
Ruby
require "hbc/artifact/app"
|
|
require "hbc/artifact/artifact" # generic 'artifact' stanza
|
|
require "hbc/artifact/binary"
|
|
require "hbc/artifact/colorpicker"
|
|
require "hbc/artifact/dictionary"
|
|
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
|
|
module Artifact
|
|
# NOTE: order is important here, since we want to extract nested containers
|
|
# before we handle any other artifacts
|
|
TYPES = [
|
|
PreflightBlock,
|
|
NestedContainer,
|
|
Installer,
|
|
App,
|
|
Suite,
|
|
Artifact, # generic 'artifact' stanza
|
|
Colorpicker,
|
|
Pkg,
|
|
Prefpane,
|
|
Qlplugin,
|
|
Dictionary,
|
|
Font,
|
|
Service,
|
|
StageOnly,
|
|
Binary,
|
|
InputMethod,
|
|
InternetPlugin,
|
|
AudioUnitPlugin,
|
|
VstPlugin,
|
|
Vst3Plugin,
|
|
ScreenSaver,
|
|
Uninstall,
|
|
PostflightBlock,
|
|
Zap,
|
|
].freeze
|
|
|
|
def self.for_cask(cask, command: SystemCommand, force: false)
|
|
odebug "Determining which artifacts are present in Cask #{cask}"
|
|
|
|
TYPES
|
|
.select { |klass| klass.me?(cask) }
|
|
.map { |klass| klass.new(cask, command: command, force: force) }
|
|
end
|
|
end
|
|
end
|