Sha256: ff0129dcd31c5690a352790891762c1ba4271bb4552e76b0f2f512b00281f721

Contents?: true

Size: 953 Bytes

Versions: 5

Compression:

Stored size: 953 Bytes

Contents

module Script
  module Layers
    module Application
      class ProjectDependencies
        def self.install(ctx:, task_runner:)
          CLI::UI::Frame.open(ctx.message("script.project_deps.checking")) do
            begin
              if task_runner.dependencies_installed?
                ctx.puts(ctx.message("script.project_deps.none_required"))
              else
                UI::StrictSpinner.spin(ctx.message("script.project_deps.installing")) do |spinner|
                  task_runner.install_dependencies
                  spinner.update_title(ctx.message("script.project_deps.installed"))
                end
              end
              true
            rescue Infrastructure::Errors::DependencyInstallError => e
              CLI::UI::Frame.with_frame_color_override(:red) do
                ctx.puts("\n#{e.message}")
              end
              raise e
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
shopify-cli-2.12.0 lib/project_types/script/layers/application/project_dependencies.rb
shopify-cli-2.11.2 lib/project_types/script/layers/application/project_dependencies.rb
shopify-cli-2.11.1 lib/project_types/script/layers/application/project_dependencies.rb
shopify-cli-2.11.0 lib/project_types/script/layers/application/project_dependencies.rb
shopify-cli-2.10.2 lib/project_types/script/layers/application/project_dependencies.rb