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.

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top