mirror of
https://github.com/donl/homebrew-cask-versions.git
synced 2026-07-17 14:26:45 -06:00
Keeping the `link` stanza in the DSL is a mistake: it will be confusing when combined with the ability to install by copying. This PR retires `link` completely, and adds a generic artifact stanza called `artifact`. (`link` is removed from the docs, but will still work for compatibility during transition.) This only affects one current Cask (dwarf-fortress.rb), and that Cask may be changed to use `suite` in the future.
66 lines
1.9 KiB
Ruby
66 lines
1.9 KiB
Ruby
module Cask::Artifact; end
|
|
|
|
require 'cask/artifact/base'
|
|
require 'cask/artifact/uninstall_base'
|
|
require 'cask/artifact/symlinked'
|
|
require 'cask/artifact/hardlinked'
|
|
|
|
require 'cask/artifact/app'
|
|
require 'cask/artifact/artifact' # generic 'artifact' stanza
|
|
require 'cask/artifact/binary'
|
|
require 'cask/artifact/after_block'
|
|
require 'cask/artifact/before_block'
|
|
require 'cask/artifact/colorpicker'
|
|
require 'cask/artifact/font'
|
|
require 'cask/artifact/install_script'
|
|
require 'cask/artifact/nested_container'
|
|
require 'cask/artifact/pkg'
|
|
require 'cask/artifact/prefpane'
|
|
require 'cask/artifact/qlplugin'
|
|
require 'cask/artifact/widget'
|
|
require 'cask/artifact/service'
|
|
require 'cask/artifact/caskroom_only'
|
|
require 'cask/artifact/input_method'
|
|
require 'cask/artifact/internet_plugin'
|
|
require 'cask/artifact/screen_saver'
|
|
require 'cask/artifact/uninstall'
|
|
require 'cask/artifact/zap'
|
|
|
|
module Cask::Artifact
|
|
#
|
|
# NOTE: order is important here, since we want to extract nested containers
|
|
# before we handle any other artifacts
|
|
#
|
|
def self.artifacts
|
|
[
|
|
Cask::Artifact::BeforeBlock,
|
|
Cask::Artifact::NestedContainer,
|
|
Cask::Artifact::InstallScript,
|
|
Cask::Artifact::App,
|
|
Cask::Artifact::Artifact, # generic 'artifact' stanza
|
|
Cask::Artifact::Colorpicker,
|
|
Cask::Artifact::Pkg,
|
|
Cask::Artifact::Prefpane,
|
|
Cask::Artifact::Qlplugin,
|
|
Cask::Artifact::Font,
|
|
Cask::Artifact::Widget,
|
|
Cask::Artifact::Service,
|
|
Cask::Artifact::CaskroomOnly,
|
|
Cask::Artifact::Binary,
|
|
Cask::Artifact::InputMethod,
|
|
Cask::Artifact::InternetPlugin,
|
|
Cask::Artifact::ScreenSaver,
|
|
Cask::Artifact::Uninstall,
|
|
Cask::Artifact::AfterBlock,
|
|
Cask::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
|