Sha256: 7ffb504a4e40471d032dd3f9826c9c74944548dda32f6cc9e2f4b36b66eb44a9
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true class Shoes module Swt class Packager attr_accessor :gems def initialize(dsl) @dsl = dsl @gems = [] end def create_package(program_name, package) unless package =~ /^(swt):(app|jar)$/ abort("#{program_name}: Can't package as '#{package}'. See '#{program_name} --help'") end package.split(':') end def run(path) begin require 'shoes/package' require 'shoes/package/configuration' config = ::Shoes::Package::Configuration.load(path) config.gems.concat(@gems) rescue Errno::ENOENT => e abort "shoes: #{e.message}" end @dsl.packages.each do |backend, wrapper| puts "Packaging #{backend}:#{wrapper}..." packager = ::Shoes::Package.create_packager(config, wrapper) packager.package end end def help(program_name) <<-EOS Package types: #{package_types} Examples: #{examples(program_name)} EOS end def package_types <<-EOS swt:app A standalone OS X executable with the Swt backend swt:jar An executable JAR with the Swt backend EOS end def examples(program_name) <<-EOS To run a Shoes app: #{program_name} path/to/shoes-app.rb Two ways to package a Shoes app as an APP and a JAR, using the Swt backend: #{program_name} -p swt:app -p swt:jar path/to/app.yaml #{program_name} -p swt:app -p swt:jar path/to/shoes-app.rb EOS end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shoes-swt-4.0.0.pre9 | lib/shoes/swt/packager.rb |