【问题标题】:simple rake file manipulation简单的 rake 文件操作
【发布时间】:2010-12-13 18:18:34
【问题描述】:

我正在使用 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 命令上运行跟踪时看到的更有意义的输出?

谢谢!

【问题讨论】:

    标签: ruby rake rakefile


    【解决方案1】:

    生成文件的名称​​是任务名称。然后,您可以将该任务名称作为依赖项提供给另一个任务。尝试像这样定义您的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多