Deploying an application

Hi all,
I wonder if you could some give some advice to a newbie?
I am writing an application in ruby at work. I am wondering how do I
make this available to everyone?
Am I correct in thinking I have to install ruby on everyone's PC?

All the PCs at work already have Java installed on them, is it possible
to use JRuby to compile the program to bytecode? then I wouldn't have to
install anything new on all the PCs. Is this a viable option?

Thankyou,
Chris.

···

--
Posted via http://www.ruby-forum.com/.

Try this.

http://www.erikveen.dds.nl/rubyscript2exe/index.html

Harry

···

On 6/5/07, Chris Finch <christopher.finch@nuth.nhs.uk> wrote:

Hi all,
I wonder if you could some give some advice to a newbie?
I am writing an application in ruby at work. I am wondering how do I
make this available to everyone?
Am I correct in thinking I have to install ruby on everyone's PC?

All the PCs at work already have Java installed on them, is it possible
to use JRuby to compile the program to bytecode? then I wouldn't have to
install anything new on all the PCs. Is this a viable option?

Thankyou,
Chris.

--
Posted via http://www.ruby-forum.com/\.

--

A Look into Japanese Ruby List in English

Chris Finch wrote:

Hi all,
I wonder if you could some give some advice to a newbie?
I am writing an application in ruby at work. I am wondering how do I
make this available to everyone?
Am I correct in thinking I have to install ruby on everyone's PC?

All the PCs at work already have Java installed on them, is it possible
to use JRuby to compile the program to bytecode? then I wouldn't have to
install anything new on all the PCs. Is this a viable option?

JRuby doesn't yet compile all code to bytecode, but it doesn't really matter. You can just package up everything in a single JAR file and distribute that...no mucking about with different compiled versions of Ruby, no rubyscript2exe for each target platform. A single file containing a complete Ruby implementation and your code that will run on any machine with Java.

Let me know if you'd like to hear more...

- Charlie

Let me know if you'd like to hear more...

A reply from Mr. JRuby himself - what a forum!

Yes please, if you'd be so kind - any tutorial, instructions, further
information?

···

--
Posted via http://www.ruby-forum.com/\.

Chris Finch wrote:

Let me know if you'd like to hear more...

A reply from Mr. JRuby himself - what a forum!

Yes please, if you'd be so kind - any tutorial, instructions, further information?

There's no official tutorial or walkthrough (though there should be). Of course you can always just distribute JRuby, but it sounds like you want a single package (i.e. a single file?), so basically, there's two options:

1. Add your code at the root of one of the "complete" JRuby JAR files, which include all of the Ruby stdlib as well as the full JRuby implementation. Once it's in the file (which is mostly a standard ZIP file) you can do someting like the following:

<cli>
java -jar my-jruby-complete.jar -e "load 'myscript.rb'"
</cli>

2. You can also modify the JAR by including your code and a "main" Java class that knows how to run it. Basically, this would involve a simple main method something like the following:

<java>
package org.something;

public class MyMain {
   public static void main(String args) {
     org.jruby.Main.main(new String {"myscript.rb"});
   }
}
</java>

And then an entry in the manifest file in the JAR (under META-INF/MANIFEST.MF) like so:

<manifest>
Main-Class: org.someting.MyMain
</manifest>

With this, you could just run the jar directly:

<cli>
java -jar my-special-jruby.jar
</cli>

The bottom line in both cases is that no rebuild of JRuby is necessary. It's one-stop-shopping for redistributable Ruby applications!

- Charlie