Sha256: 013cc254723a495f41f088f33e72c9e85336a426c4bdf2ab285bb78d9c4a2a44

Contents?: true

Size: 878 Bytes

Versions: 1

Compression:

Stored size: 878 Bytes

Contents

# frozen_string_literal: true
require "shopify_cli"
require_relative "../../../../ext/javy/javy.rb"

module Script
  class Command
    class Javy < ShopifyCLI::Command::SubCommand
      hidden_feature

      prerequisite_task ensure_project_type: :script

      options do |parser, flags|
        parser.on("--in=IN") { |in_file| flags[:in_file] = in_file }
        parser.on("--out=OUT") { |out_file| flags[:out_file] = out_file }
      end

      def call(*)
        source = options.flags[:in_file]
        dest = options.flags[:out_file]

        @ctx.abort(@ctx.message("script.javy.errors.invalid_arguments", ShopifyCLI::TOOL_NAME)) unless source

        ::Javy.build(source: source, dest: dest).unwrap { |e| @ctx.abort(e.message) }
      end

      def self.help
        ShopifyCLI::Context.message("script.javy.help", ShopifyCLI::TOOL_NAME)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shopify-cli-2.7.1 lib/project_types/script/commands/javy.rb