Sha256: fd55fc2cf705e4ab7218cac810d187bd4e7163123ba5fc087a817abf8fa215e0

Contents?: true

Size: 1.42 KB

Versions: 10

Compression:

Stored size: 1.42 KB

Contents

# frozen_string_literal: true

require 'avm/core_ext'
require 'avm/eac_asciidoctor_base0/sources/build'
require 'os'

module Avm
  module Tools
    class Runner
      class AppSrc
        class EacAsciidoctorBase0
          class Build
            runner_with :help do
              desc 'Build the project'
              arg_opt '-d', '--target-dir', 'Directory to build'
              bool_opt '--open', 'Show the result.'
            end

            def run
              start_banner
              build.run
              open
            end

            private

            def build_uncached
              ::Avm::EacAsciidoctorBase0::Sources::Build.new(runner_context.call(:project),
                                                             target_directory: parsed.target_dir)
            end

            def default_target_directory
              runner_context.call(:project).root.join('build')
            end

            def open
              return unless parsed.open?

              infom "Opening \"#{open_path}\"..."
              ::EacRubyUtils::Envs.local.command(OS.open_file_command, open_path).system!
            end

            def open_path
              build.source_files.first.target_path
            end

            def start_banner
              runner_context.call(:project_banner)
              infov 'Target directory', build.target_directory
            end
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
avm-tools-0.103.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.102.2 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.102.1 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.102.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.101.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.100.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.99.1 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.99.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.98.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb
avm-tools-0.97.0 lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb