#!/usr/bin/env ruby # frozen_string_literal: true if File.exist? asciidoctor_epub3 = (File.expand_path '../lib/asciidoctor-epub3', __dir__) require asciidoctor_epub3 else require 'asciidoctor-epub3' end require 'asciidoctor/cli' options = Asciidoctor::Cli::Options.new backend: 'epub3' # FIXME: provide an API in Asciidoctor for sub-components to print version information unless ARGV != ['-v'] && (ARGV & ['-V', '--version']).empty? require_relative '../lib/asciidoctor-epub3/version' $stdout.write %(Asciidoctor EPUB3 #{Asciidoctor::Epub3::VERSION} using ) options.print_version exit 0 end # FIXME: This is a really bizarre API. Please make me simpler. case (result = options.parse! ARGV) when Integer exit result else invoker = Asciidoctor::Cli::Invoker.new options GC.start invoker.invoke! exit invoker.code end