Files
Sun1602/Tools/ScriptChecker/init.rb
T
2022-10-26 12:25:11 +08:00

52 lines
1.0 KiB
Ruby

require 'getoptlong'
require 'classes.rb'
require 'rules.rb'
require 'setup.rb'
$version = '0.1' # 프로그램 버전 문자열
$error = false # 검증 수행 중 오류를 만나면 true로 설정
def show_version
puts "SUN Online Game Script Checker v#{$version}"
end
def show_version_and_exit
show_version
exit(0)
end
def set_error
$error = true unless $error
end
opts = GetoptLong.new(
[ '--no-pause', '-n', GetoptLong::NO_ARGUMENT ],
[ '--version', '-v', GetoptLong::NO_ARGUMENT ]
)
no_pause = false
opts.each do |opt, arg|
case opt
when '--no-pause' then no_pause = true
when '--version' then show_version_and_exit
end
end
checker = ScriptChecker.new
# 명령행 인자가 없다면 현재 디렉토리, 있다면 첫 번째 인자로 지정된 디렉토리 사용
checker.dir = ARGV.length < 1 ? 'data' : ARGV[0]
setup(checker) # 검증 설정 구성
show_version
checker.run # 검증 실행
puts "[#{$error ? 'ERROR' : 'OK'}] Checked #{checker.num_scripts} script(s)"
system('pause') unless no_pause
exit($error ? 1 : 0)