Remove arch and macos dependencies from cask tab
This commit is contained in:
parent
fbe422b768
commit
fec84544a9
@ -13,7 +13,7 @@ module Cask
|
|||||||
|
|
||||||
tab.tabfile = cask.metadata_main_container_path/FILENAME
|
tab.tabfile = cask.metadata_main_container_path/FILENAME
|
||||||
tab.uninstall_flight_blocks = cask.uninstall_flight_blocks?
|
tab.uninstall_flight_blocks = cask.uninstall_flight_blocks?
|
||||||
tab.runtime_dependencies = Tab.runtime_deps_hash(cask, cask.depends_on)
|
tab.runtime_dependencies = Tab.runtime_deps_hash(cask)
|
||||||
tab.source["version"] = cask.version.to_s
|
tab.source["version"] = cask.version.to_s
|
||||||
tab.source["path"] = cask.sourcefile_path.to_s
|
tab.source["path"] = cask.sourcefile_path.to_s
|
||||||
tab.uninstall_artifacts = cask.artifacts_list(uninstall_only: true)
|
tab.uninstall_artifacts = cask.artifacts_list(uninstall_only: true)
|
||||||
@ -49,7 +49,7 @@ module Cask
|
|||||||
tab
|
tab
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.runtime_deps_hash(cask, depends_on)
|
def self.runtime_deps_hash(cask)
|
||||||
cask_and_formula_dep_graph = ::Utils::TopologicalHash.graph_package_dependencies(cask)
|
cask_and_formula_dep_graph = ::Utils::TopologicalHash.graph_package_dependencies(cask)
|
||||||
cask_deps, formula_deps = cask_and_formula_dep_graph.values.flatten.uniq.partition do |dep|
|
cask_deps, formula_deps = cask_and_formula_dep_graph.values.flatten.uniq.partition do |dep|
|
||||||
dep.is_a?(Cask)
|
dep.is_a?(Cask)
|
||||||
@ -73,9 +73,6 @@ module Cask
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
runtime_deps[:macos] = depends_on.macos if depends_on.macos
|
|
||||||
runtime_deps[:arch] = depends_on.arch if depends_on.arch
|
|
||||||
|
|
||||||
runtime_deps
|
runtime_deps
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -89,7 +89,7 @@ RSpec.describe Cask::Tab, :cask do
|
|||||||
specify "with no dependencies" do
|
specify "with no dependencies" do
|
||||||
cask = Cask::CaskLoader.load("local-transmission")
|
cask = Cask::CaskLoader.load("local-transmission")
|
||||||
|
|
||||||
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq({})
|
expect(described_class.runtime_deps_hash(cask)).to eq({})
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "with cask dependencies" do
|
specify "with cask dependencies" do
|
||||||
@ -100,37 +100,25 @@ RSpec.describe Cask::Tab, :cask do
|
|||||||
{ "full_name"=>"local-transmission", "version"=>"2.61", "declared_directly"=>true },
|
{ "full_name"=>"local-transmission", "version"=>"2.61", "declared_directly"=>true },
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
|
expect(described_class.runtime_deps_hash(cask)).to eq(expected_hash)
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "with macos symbol dependencies" do
|
it "ignores macos symbol dependencies" do
|
||||||
cask = Cask::CaskLoader.load("with-depends-on-macos-symbol")
|
cask = Cask::CaskLoader.load("with-depends-on-macos-symbol")
|
||||||
|
|
||||||
expected_hash = {
|
expect(described_class.runtime_deps_hash(cask)).to eq({})
|
||||||
macos: MacOSRequirement.new([MacOS.version.to_sym], comparator: "=="),
|
|
||||||
}
|
|
||||||
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "with macos array dependencies" do
|
it "ignores macos array dependencies" do
|
||||||
cask = Cask::CaskLoader.load("with-depends-on-macos-array")
|
cask = Cask::CaskLoader.load("with-depends-on-macos-array")
|
||||||
|
|
||||||
expected_hash = {
|
expect(described_class.runtime_deps_hash(cask)).to eq({})
|
||||||
macos: MacOSRequirement.new([[:catalina, MacOS.version.to_sym]], comparator: "=="),
|
|
||||||
}
|
|
||||||
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "with arch dependencies" do
|
it "ignores arch dependencies" do
|
||||||
cask = Cask::CaskLoader.load("with-depends-on-arch")
|
cask = Cask::CaskLoader.load("with-depends-on-arch")
|
||||||
|
|
||||||
expected_hash = {
|
expect(described_class.runtime_deps_hash(cask)).to eq({})
|
||||||
arch: [
|
|
||||||
{ type: :intel, bits: 64 },
|
|
||||||
{ type: :arm, bits: 64 },
|
|
||||||
],
|
|
||||||
}
|
|
||||||
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "with all types of dependencies" do
|
specify "with all types of dependencies" do
|
||||||
@ -141,7 +129,6 @@ RSpec.describe Cask::Tab, :cask do
|
|||||||
expect(Formulary).to receive(:factory).with("unar").and_return(unar)
|
expect(Formulary).to receive(:factory).with("unar").and_return(unar)
|
||||||
|
|
||||||
expected_hash = {
|
expected_hash = {
|
||||||
arch: [{ type: :intel, bits: 64 }, { type: :arm, bits: 64 }],
|
|
||||||
cask: [
|
cask: [
|
||||||
{ "full_name"=>"local-caffeine", "version"=>"1.2.3", "declared_directly"=>true },
|
{ "full_name"=>"local-caffeine", "version"=>"1.2.3", "declared_directly"=>true },
|
||||||
{ "full_name"=>"with-depends-on-cask", "version"=>"1.2.3", "declared_directly"=>true },
|
{ "full_name"=>"with-depends-on-cask", "version"=>"1.2.3", "declared_directly"=>true },
|
||||||
@ -150,10 +137,9 @@ RSpec.describe Cask::Tab, :cask do
|
|||||||
formula: [
|
formula: [
|
||||||
{ "full_name"=>"unar", "version"=>"1.2", "revision"=>0, "pkg_version"=>"1.2", "declared_directly"=>true },
|
{ "full_name"=>"unar", "version"=>"1.2", "revision"=>0, "pkg_version"=>"1.2", "declared_directly"=>true },
|
||||||
],
|
],
|
||||||
macos: MacOSRequirement.new([:el_capitan], comparator: ">="),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
runtime_deps_hash = described_class.runtime_deps_hash(cask, cask.depends_on)
|
runtime_deps_hash = described_class.runtime_deps_hash(cask)
|
||||||
tab = described_class.new
|
tab = described_class.new
|
||||||
tab.runtime_dependencies = runtime_deps_hash
|
tab.runtime_dependencies = runtime_deps_hash
|
||||||
expect(tab.runtime_dependencies).to eql(expected_hash)
|
expect(tab.runtime_dependencies).to eql(expected_hash)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user