模块 Rake

常量

CommandLineOptionError
EARLY
LATE
RakeFileUtils
VERSION

公共类方法

add_rakelib(*files) 点击切换源代码

将文件添加到 rakelib 列表

# File rake-13.2.1/lib/rake/rake_module.rb, line 33
def add_rakelib(*files)
  application.options.rakelib ||= []
  application.options.rakelib.concat(files)
end
application() 点击切换源代码

当前的 Rake Application

# File rake-13.2.1/lib/rake/rake_module.rb, line 8
def application
  @application ||= Rake::Application.new
end
application=(app) 点击切换源代码

设置当前 Rake 应用程序对象。

# File rake-13.2.1/lib/rake/rake_module.rb, line 13
def application=(app)
  @application = app
end
load_rakefile(path) 点击切换源代码

加载一个 rakefile。

# File rake-13.2.1/lib/rake/rake_module.rb, line 28
def load_rakefile(path)
  load(path)
end
original_dir() 点击切换源代码

返回启动 Rake 应用程序的原始目录。

# File rake-13.2.1/lib/rake/rake_module.rb, line 23
def original_dir
  application.original_dir
end
with_application(block_application = Rake::Application.new) { |block_application| ... } 点击切换源代码

使 block_application 成为代码块内的默认 rake 应用程序,以便您可以将 rakefile 加载到不同的应用程序中。

当您想在库中运行 rake 任务而不必在子 shell 中运行 rake 时,这很有用。

示例

Dir.chdir 'other/directory'

other_rake = Rake.with_application do |rake|
  rake.load_rakefile
end

puts other_rake.tasks
# File rake-13.2.1/lib/rake/rake_module.rb, line 54
def with_application(block_application = Rake::Application.new)
  orig_application = Rake.application

  Rake.application = block_application

  yield block_application

  block_application
ensure
  Rake.application = orig_application
end