Rake CLEAN / CLOBBER does not delete

I think I'm going crazy. Can anyone help?

I have a folder c: \ project \ bin I run the following to execute my rake script

cd C:\project
rake

In my rake script, I have:

require 'rake/clean'
CLOBBER.include('bin')

task :default => [:compile]

task :compile do
    # do nothing
end

It does not delete the bin folder or the contents of the bin folder. I run Ruby on Windows (1.86 or so) and install the rake using gem install rake.

Did I miss something. I tried --trace, etc., but didn’t get any feedback.

+3
source share
3 answers

TL DR:$ rake clobber


As stated above, they are not implied. Here is an example as you requested.

~/deleteme$ cd project
total 8
-rw-r--r--@ 1 josh  staff  110 Jun 27 06:04 Rakefile


~/deleteme/project$ cat Rakefile
require 'rake/clean'
CLOBBER.include('bin')

task :default => ["compile"]

task :compile do
  mkdir 'bin'
end


~/deleteme/project$ rake
(in /Users/josh/deleteme/project)
mkdir bin


~/deleteme/project$ ls -l
total 8
-rw-r--r--@ 1 josh  staff  110 Jun 27 06:04 Rakefile
drwxr-xr-x  2 josh  staff   68 Jun 27 06:05 bin


~/deleteme/project$ rake -T
(in /Users/josh/deleteme/project)
rake clean    # Remove any temporary products.
rake clobber  # Remove any generated file.


~/deleteme/project$ rake clobber
(in /Users/josh/deleteme/project)
rm -r bin


~/deleteme/project$ ls -l
total 8
-rw-r--r--@ 1 josh  staff  110 Jun 27 06:04 Rakefile
+4
source

CLEAN or CLOBBER are not implicit tasks - you must declare dependencies or call them

+2

,

task :default => [:compile, :clobber]

task :default => ["compile"]

rake

Remember that in Ruby it is preferable to use characters instead of string literals.

0
source

Source: https://habr.com/ru/post/1717956/


All Articles