Rake CLEAN / CLOBBER nicht löschen
Frage
Ich glaube, ich werde verrückt. Kann mir jemand helfen?
Ich habe den Ordner c: \ project \ bin Ich betreiben die folgenden meine Rake Skript ausführen
cd C:\project
rake
In meinem Rake Skript habe ich:
require 'rake/clean'
CLOBBER.include('bin')
task :default => [:compile]
task :compile do
# do nothing
end
Es löscht nicht die Ordner „ist“ noch den Inhalt des Ordners „ist“. Ich bin mit Ruby-in Windows (1,86 oder so) und installierte Rechen, gem Rake installieren.
Habe ich etwas verpasst. Ich habe versucht, --trace etc .. aber kein Feedback bekommen.
Lösung
TL; DR: $ rake clobber
Wie die Antwort oben gesagt, sind sie nicht aufgerufen implicilty. Hier ist ein Beispiel, wie Sie gefragt.
~/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
Andere Tipps
sauber noch CLOBBER sind nicht implizite Aufgaben - Sie müssen Abhängigkeit deklarieren oder sie rufen
Für einen einfacheren Weg, es zu tun, versucht
task :default => [:compile, :clobber]
statt
task :default => ["compile"]
Und dann in der Befehlszeile können Sie nur ausführen
rake
Denken Sie daran, in Ruby ist es bevorzugt, Symbole statt Zeichenfolgenliterale zu verwenden