35 lines
1.1 KiB
Ruby
35 lines
1.1 KiB
Ruby
require_relative "changed_files"
|
|
|
|
module CiMatrix
|
|
def self.generate(tap)
|
|
odie "This command must be run from inside a tap directory." unless tap
|
|
|
|
changed_files = ChangedFiles.collect(tap)
|
|
|
|
ruby_files_in_wrong_directory =
|
|
changed_files[:modified_ruby_files] - (changed_files[:modified_cask_files] + changed_files[:modified_command_files] + changed_files[:modified_github_actions_files])
|
|
|
|
if ruby_files_in_wrong_directory.any?
|
|
ruby_files_in_wrong_directory.each do |path|
|
|
puts "::error file=#{path}::File is in wrong directory."
|
|
end
|
|
|
|
odie "Found Ruby files in wrong directory:\n#{ruby_files_in_wrong_directory.join("\n")}"
|
|
end
|
|
|
|
changed_files[:modified_cask_files].map do |path|
|
|
cask = Cask::CaskLoader.load(path)
|
|
|
|
audit_args = ["--download", "--appcast", "--online", "--token-conflicts", "--strict"]
|
|
audit_args << "--new-cask" if changed_files[:added_files].include?(path)
|
|
|
|
{
|
|
name: cask.token,
|
|
cask: "./#{path}",
|
|
working_directory: tap.path,
|
|
audit_args: audit_args,
|
|
}
|
|
end
|
|
end
|
|
end
|