From a1e38561f6c163662c882b36496c9257be584fa6 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Thu, 15 Jan 2009 20:41:55 -0500 Subject: [PATCH] Working application export on windows, still a little crappy though Former-commit-id: 7d996baf728e8d14575557f5037c69c137b0c12e Former-commit-id: f5d4afe2dd9495bdc498a38eab9ab1da85f94de4 --- .../exporters/application_exporter.rb | 9 +++++---- lib/templates/application/lib/args.txt.erb | 4 ---- lib/templates/application/run.bat.erb | 4 ++++ lib/templates/application/run.exe | Bin 21059 -> 0 bytes 4 files changed, 9 insertions(+), 8 deletions(-) delete mode 100644 lib/templates/application/lib/args.txt.erb create mode 100644 lib/templates/application/run.bat.erb delete mode 100644 lib/templates/application/run.exe diff --git a/lib/ruby-processing/exporters/application_exporter.rb b/lib/ruby-processing/exporters/application_exporter.rb index 4a24415c..2eccd537 100644 --- a/lib/ruby-processing/exporters/application_exporter.rb +++ b/lib/ruby-processing/exporters/application_exporter.rb @@ -37,21 +37,22 @@ def export!(sketch) file_list = Dir.glob(app_dir + "{/**/*.{rb,jar},/data/*.*}").map {|f| f.sub(app_dir + "/", "")} @class_path = file_list.map {|f| "$JAVAROOT/" + f.sub(prefix+"/", "") }.join(":") @linux_class_path = file_list.map{|f| f.sub(prefix+"/", "")}.join(":") - @windows_class_path = file_list.map{|f| f.sub(prefix+"/", "")}.join(",") + @windows_class_path = file_list.map{|f| f.sub(prefix+"/", "").gsub('/', '\\')}.join(";") # Do it. render_erb_in_path_with_binding(app_dir, binding, :delete => true) rm Dir.glob(app_dir + "/**/*.{class,java}") runnable = app_dir + "/" + File.basename(@main_file, ".rb") move app_dir + "/run", runnable - move app_dir + "/run.exe", runnable + ".exe" + move app_dir + "/run.bat", "#{runnable}.bat" chmod 0755, runnable + chmod 0755, "#{runnable}.bat" cd app_dir + "/Contents/Resources" # Poor ol' windows can't symlink. # TODO... win = RUBY_PLATFORM.match(/mswin/) - puts "I'm afraid windows can't export Apps quite yet" and exit if win - ln_s('../../lib', 'Java') + puts "\nSorry. Applications exported from Windows won't run on Macs...\n" if win + ln_s('../../lib', 'Java') unless win end def usage(predicate) diff --git a/lib/templates/application/lib/args.txt.erb b/lib/templates/application/lib/args.txt.erb deleted file mode 100644 index 8b6033a8..00000000 --- a/lib/templates/application/lib/args.txt.erb +++ /dev/null @@ -1,4 +0,0 @@ - -org.jruby.Main -ruby-processing/runners/run.rb -<%= @main_file %> \ No newline at end of file diff --git a/lib/templates/application/run.bat.erb b/lib/templates/application/run.bat.erb new file mode 100644 index 00000000..bb9718ab --- /dev/null +++ b/lib/templates/application/run.bat.erb @@ -0,0 +1,4 @@ +@echo off +echo loading... +cd lib +java -cp "<%= @windows_class_path %>" org.jruby.Main ruby-processing/runners/run.rb <%= @main_file %> \ No newline at end of file diff --git a/lib/templates/application/run.exe b/lib/templates/application/run.exe deleted file mode 100644 index 01636ebb58dface9fff8815d1ce2d3d4c6198f86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21059 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 G*Z%^}H$Q#=