相关疑难解决方法(0)

如何从Rake任务中运行Rake任务?

我已经编译在两个方面项目Rake文件,根据全局变量$build_type,它可以是:debug:release(结果走在不同的目录):

task :build => [:some_other_tasks] do
end
Run Code Online (Sandbox Code Playgroud)

我希望创建一个任务,依次编译项目的两个配置,如下所示:

task :build_all do
  [ :debug, :release ].each do |t|
    $build_type = t
    # call task :build with all the tasks it depends on (?)
  end
end
Run Code Online (Sandbox Code Playgroud)

有没有办法将任务称为方法?或者我怎样才能达到类似的效果呢?

ruby rake

402
推荐指数
5
解决办法
14万
查看次数

为什么Rake不能连续调用多个任务?

我有一个Rake任务,我在下面简化了.我在Windows上使用Ruby 1.9.

也许您想猜测下面调用Rake任务"list_all_levels"的结果?它应该是:

"Hello level 1"
"Hello level 2"
"Hello level 3"
Run Code Online (Sandbox Code Playgroud)

但由于我不知道的原因,它只打印"Hello level 1"然后停止.

也就是说,它始终只调用第一个任务.如果我更改第一行以传递arg"42",它将打印"Hello level 42"然后停止.

我想知道为什么它不会调用任务3次并打印所有3行?有没有办法让它按照我的期望工作?

task :list_all_levels => [] do
    Rake::Task[:list].invoke 1
    Rake::Task[:list].invoke 2
    Rake::Task[:list].invoke 3
end

task :list, [:level] => [] do |t, args|
    puts "Hello level #{args.level}"
end
Run Code Online (Sandbox Code Playgroud)

ruby rake task

37
推荐指数
2
解决办法
1万
查看次数

标签 统计

rake ×2

ruby ×2

task ×1