[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

A Rake executable script, is this the correct approach

John Pywtorak

10/25/2006 6:49:00 PM

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




1 Answer

John Pywtorak

10/25/2006 7:42:00 PM

0

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 <jpywtora@calpoly.edu> 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
>>
>>
>>
>>
>>
>