2009-09-17 48 views
3

我想我瘋了。誰能幫忙?耙清潔/ CLOBBER沒有刪除

我有文件夾c:\項目\ BIN 我運行下面的執行我的耙腳本

cd C:\project 
rake 

在我耙腳本我有:

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

task :default => [:compile] 

task :compile do 
    # do nothing 
end 

它不會刪除「bin」文件夾以及「bin」文件夾的內容。我在Windows中運行Ruby(1.86左右),並使用gem install rake安裝rake。

我錯過了什麼。我試過 - 跟蹤等,但沒有得到任何反饋。

回答

4

TL; DR:$ rake clobber


如上回答說,他們沒有implicilty調用。這是你要求的一個例子。

~/deleteme$ cd project 
total 8 
[email protected] 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 
[email protected] 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 
[email protected] 1 josh staff 110 Jun 27 06:04 Rakefile 
2

CLEAN也不CLOBBER不是隱含的任務 - 你必須聲明依賴或調用它們

+0

您能否舉一個例子,因爲我在讀的每個地方都沒有聲明這種情況。例如Martin Fowler,http://martinfowler.com/articles/rake.html#BuiltInCleaning或本文http://www.stuartellis.eu/articles/rake/。 – Bealer 2009-12-15 11:14:14

0

對於一個簡單的方法來做到這一點,嘗試

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

,而不是

task :default => ["compile"] 

,然後在命令行,你可以只運行

rake 

請記住,在Ruby中最好使用Sym bols而不是字符串文字