简单的 rake 文件操作

发布于 2024-10-07 02:39:21 字数 534 浏览 5 评论 0原文

我正在使用 rake 0.8.7

我想运行一个简单的 rake 任务来解压缩一个名为 pma.zip 的文件,

这是我的任务

task :unzip_pma do
  file "pma.txt" => "pma.zip" do
    sh "unzip pma.zip"
  end
end

pma.txt 应该是 pma.zip 解压缩“到”的文件。即,pma.txt 的创建依赖于pma.zip 的存在。

但是,当我运行 rake unzip_pma 时,没有进行解压缩,所以我的猜测是我的语法不正确。

rake unzip_pma -t -v
(in /Users/abdfadf/Desktop)
** Invoke unzip_pma (first_time)
** Execute unzip_pma

问题 1. 我做错了什么。
问题 2:是否有某种方法可以获得比在 rake 命令上运行跟踪时看到的更有意义的输出?

谢谢!

I'm using rake 0.8.7

I want to run a simple rake task that unzips a file called pma.zip

here's my task

task :unzip_pma do
  file "pma.txt" => "pma.zip" do
    sh "unzip pma.zip"
  end
end

pma.txt is supposed to be the file that pma.zip is unzipped "into". i.e., the creation of pma.txt is dependent on the existence of pma.zip.

however, when I run rake unzip_pma, there is no unzipping taking place, so my guess is that my syntax isn't correct.

rake unzip_pma -t -v
(in /Users/abdfadf/Desktop)
** Invoke unzip_pma (first_time)
** Execute unzip_pma

Question 1. What am I doing wrong.
Question 2. Is there some way to get more meaningful output than what I see when I run a trace on my rake command?

THANKS!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

动听の歌 2024-10-14 02:39:21

生成的文件的名称​​是任务名称。然后,您可以将该任务名称作为依赖项提供给另一个任务。尝试像这样定义你的 rake 任务:

file "pma.txt" => "pma.zip" do
  sh "unzip pma.zip"
end

task :unzip_pma => "pma.txt" do
  # Other actions can go here...
end

在你的 rakefile 中使用上述内容,你也可以运行:

rake pma.txt

如果你想强制一个任务在另一个任务中运行(而不是使用依赖规则),请使用 Rake::Task[ :the_other_task].invoke

The name of the generated file is the task-name. You can then feed that task name as a dependency into another task. Try defining your rake tasks like this:

file "pma.txt" => "pma.zip" do
  sh "unzip pma.zip"
end

task :unzip_pma => "pma.txt" do
  # Other actions can go here...
end

With the above in your rakefile, you could also just run:

rake pma.txt

If you want to force one task to run inside another (instead of using a dependency rule), use Rake::Task[:the_other_task].invoke

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文