Sha256: 4dbf63ed117040209d8ab427967325214876c6d132e61329e97e6233b8f53191

Contents?: true

Size: 1.61 KB

Versions: 52

Compression:

Stored size: 1.61 KB

Contents

# frozen_string_literal: true

require 'eac_cli/default_runner'
require 'eac_git/local'
require 'eac_ruby_utils/console/docopt_runner'

module Avm
  module Tools
    class Runner < ::EacRubyUtils::Console::DocoptRunner
      class Git < ::EacRubyUtils::Console::DocoptRunner
        class Subrepo < ::EacRubyUtils::Console::DocoptRunner
          class Check < ::EacRubyUtils::Console::DocoptRunner
            include ::EacCli::DefaultRunner

            runner_definition do
              desc 'Check status of subrepos.'
              bool_opt '-a', '--all', 'Select all subrepos.'
              bool_opt '-f', '--fix-parent', 'Fix parent SHA1.'
              bool_opt '-n', '--no-error', 'Do not exit with error if check fails.'
              bool_opt '-r', '--remote', 'Check subrepos remote.'
              pos_arg :subrepos, repeat: true, optional: true
            end

            def run
              subrepo_checks.show_result
              return if options.fetch('--no-error')
              return unless subrepo_checks.result.error?

              fatal_error 'Failed'
            end

            private

            def subrepo_checks_uncached
              r = ::Avm::Git::SubrepoChecks.new(local_repos)
              r.check_remote = options.fetch('--remote')
              r.fix_parent = options.fetch('--fix-parent')
              r.add_all_subrepos if options.fetch('--all')
              r.add_subrepos(*options.fetch('<subrepos>'))
              r
            end

            def local_repos_uncached
              ::EacGit::Local.new(context(:git))
            end
          end
        end
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
avm-tools-0.86.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.85.1 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.85.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.84.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.83.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.82.1 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.82.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.81.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.80.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.79.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.78.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.77.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.76.1 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.76.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.75.1 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.75.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.74.1 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.74.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.73.0 lib/avm/tools/runner/git/subrepo/check.rb
avm-tools-0.72.0 lib/avm/tools/runner/git/subrepo/check.rb