Sha256: a3374220931b3935377a18c99be6b89358ed9555f16b11419e152e56da141b12

Contents?: true

Size: 1.33 KB

Versions: 22

Compression:

Stored size: 1.33 KB

Contents

# frozen_string_literal: true

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

module Avm
  module EacAsciidoctorBase0
    module Sources
      module Runners
        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(:source),
                                                           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(:source_banner)
            infov 'Target directory', build.target_directory
          end
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
avm-eac_asciidoctor_base0-0.8.0 lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.40.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.39.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.38.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.37.2 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.37.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.37.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.36.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.36.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.35.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.34.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.33.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
avm-eac_asciidoctor_base0-0.7.1 lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.32.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.31.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.31.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.30.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.29.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
avm-eac_asciidoctor_base0-0.7.0 lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
eac_tools-0.28.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb