A Rake executable script, is this the correct approach

Discussion in 'Ruby' started by John Pywtorak, Oct 25, 2006.

  1. I humbly come to you, because searching, mostly google, has failed to
    produce a reference, or someone who has done this.

    We traditionally run Rakefile's using either
    $ rake
    or
    $ rake -f my.rake
    etc

    what if I wanted an executable script, say myscript, which is really a
    rake task file, but runs as though it where run as above.
    Attempt 1
    #!/usr/bin/env rake
    task :default do puts "Hello, Rake!" end
    FAILED

    Attempt 2
    #!/usr/bin/env ruby
    task :default do puts "Hello, Rake!" end
    Rake::Task[:default].invoke
    SUCCESS

    So, is the latter really the best way? While it works I worry that rake
    is somehow not setup the same way if the this had been run the
    traditional way. Thanks

    --
    Windows
    Start Here
    Frustrating Hanging Crashing
    Blue Screen of Death
    Reboot
    John Pywtorak, Oct 25, 2006
    #1
    1. Advertising

  2. You missed the point and the sha-bang in attempt 1 which was
    #!/usr/bin/env rake, not ruby.

    I understand what rake is doing, what I want is an executable rake file
    without having to explicitly run rake. Thanks

    Jason Roelofs wrote:
    > Well, attempt 1 is merely defining the task, the task then has to be run,
    > which is what's happening in Attempt 2.
    >
    > When you type `rake` in the command line, what you are really doing is
    >
    > rake default
    >
    > Hopefully that explains what's going on.
    >
    > Jason
    >
    > On 10/25/06, John Pywtorak <> wrote:
    >>
    >> I humbly come to you, because searching, mostly google, has failed to
    >> produce a reference, or someone who has done this.
    >>
    >> We traditionally run Rakefile's using either
    >> $ rake
    >> or
    >> $ rake -f my.rake
    >> etc
    >>
    >> what if I wanted an executable script, say myscript, which is really a
    >> rake task file, but runs as though it where run as above.
    >> Attempt 1
    >> #!/usr/bin/env rake
    >> task :default do puts "Hello, Rake!" end
    >> FAILED
    >>
    >> Attempt 2
    >> #!/usr/bin/env ruby
    >> task :default do puts "Hello, Rake!" end
    >> Rake::Task[:default].invoke
    >> SUCCESS
    >>
    >> So, is the latter really the best way? While it works I worry that rake
    >> is somehow not setup the same way if the this had been run the
    >> traditional way. Thanks
    >>
    >> --
    >> Windows
    >> Start Here
    >> Frustrating Hanging Crashing
    >> Blue Screen of Death
    >> Reboot
    >>
    >>
    >>
    >>
    >>

    >
    John Pywtorak, Oct 25, 2006
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Joe Van Dyk
    Replies:
    2
    Views:
    102
    Damphyr
    Jan 31, 2006
  2. peppermonkey
    Replies:
    1
    Views:
    243
    Gregory Brown
    Feb 10, 2007
  3. Adam Anderson
    Replies:
    1
    Views:
    130
    Adam Anderson
    Sep 19, 2007
  4. James Mead
    Replies:
    0
    Views:
    144
    James Mead
    Jan 15, 2008
  5. thufir
    Replies:
    3
    Views:
    218
    Thufir
    Apr 12, 2008
Loading...

Share This Page