123456789_123456789_123456789_123456789_123456789_

Module: Rake

Relationships & Source Files
Namespace Children
Modules:
Classes:
Exceptions:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: lib/rake.rb,
lib/rake/application.rb,
lib/rake/backtrace.rb,
lib/rake/clean.rb,
lib/rake/cloneable.rb,
lib/rake/cpu_counter.rb,
lib/rake/default_loader.rb,
lib/rake/dsl_definition.rb,
lib/rake/early_time.rb,
lib/rake/file_creation_task.rb,
lib/rake/file_list.rb,
lib/rake/file_list.rb,
lib/rake/file_task.rb,
lib/rake/file_utils_ext.rb,
lib/rake/invocation_chain.rb,
lib/rake/invocation_exception_mixin.rb,
lib/rake/late_time.rb,
lib/rake/linked_list.rb,
lib/rake/multi_task.rb,
lib/rake/packagetask.rb,
lib/rake/private_reader.rb,
lib/rake/promise.rb,
lib/rake/pseudo_status.rb,
lib/rake/rake_module.rb,
lib/rake/rule_recursion_overflow_error.rb,
lib/rake/scope.rb,
lib/rake/task.rb,
lib/rake/task_argument_error.rb,
lib/rake/task_arguments.rb,
lib/rake/task_manager.rb,
lib/rake/tasklib.rb,
lib/rake/testtask.rb,
lib/rake/thread_history_display.rb,
lib/rake/thread_pool.rb,
lib/rake/trace_output.rb,
lib/rake/version.rb,
lib/rake/win32.rb,
lib/rake/loaders/makefile.rb

Constant Summary

Class Attribute Summary

Class Method Summary

FileUtilsExt - Extended

nowrite

Get/set the nowrite flag controlling output from the ::FileUtils utilities.

rake_check_options

Check that the options do not contain options not listed in optdecl.

rake_output_message

Send the message to the default rake output (which is $stderr).

verbose

Get/set the verbose flag controlling output from the ::FileUtils utilities.

when_writing

Use this function to prevent potentially destructive ruby code from running when the :nowrite flag is set.

::FileUtils - Included

ruby

Run a Ruby interpreter with the given arguments.

safe_ln

Attempt to do a normal file link, but fall back to a copy if the link fails.

sh

Run the system command cmd.

split_all

Split a file path into individual directory names.

create_shell_runner, set_verbose_option, sh_show_command

Class Attribute Details

.application (rw)

Current Rake ::Rake::Application

[ GitHub ]

  
# File 'lib/rake/rake_module.rb', line 8

def application
  @application ||= Rake::Application.new
end

.application=(app) (rw)

Set the current Rake application object.

[ GitHub ]

  
# File 'lib/rake/rake_module.rb', line 13

def application=(app)
  @application = app
end

Class Method Details

.add_rakelib(*files)

Add files to the rakelib list

[ GitHub ]

  
# File 'lib/rake/rake_module.rb', line 33

def add_rakelib(*files)
  application.options.rakelib ||= []
  application.options.rakelib.concat(files)
end

.each_dir_parent(dir)

This method is for internal use only.

Yield each file or directory component.

[ GitHub ]

  
# File 'lib/rake/file_list.rb', line 418

def each_dir_parent(dir)    # :nodoc:
  old_length = nil
  while dir != "." && dir.length != old_length
    yield(dir)
    old_length = dir.length
    dir = File.dirname(dir)
  end
end

.from_pathname(path)

This method is for internal use only.

Convert Pathname and Pathname-like objects to strings; leave everything else alone

[ GitHub ]

  
# File 'lib/rake/file_list.rb', line 429

def from_pathname(path)    # :nodoc:
  path = path.to_path if path.respond_to?(:to_path)
  path = path.to_str if path.respond_to?(:to_str)
  path
end

.load_rakefile(path)

Load a rakefile.

[ GitHub ]

  
# File 'lib/rake/rake_module.rb', line 28

def load_rakefile(path)
  load(path)
end

.original_dir

Return the original directory where the Rake application was started.

[ GitHub ]

  
# File 'lib/rake/rake_module.rb', line 23

def original_dir
  application.original_dir
end

.suggested_thread_count

This method is for internal use only.
[ GitHub ]

  
# File 'lib/rake/rake_module.rb', line 17

def suggested_thread_count # :nodoc:
  @cpu_count ||= Rake::CpuCounter.count
  @cpu_count + 4
end

.with_application(block_application = Rake::Application.new)

Make block_application the default rake application inside a block so you can load rakefiles into a different application.

This is useful when you want to run rake tasks inside a library without running rake in a sub-shell.

Example:

Dir.chdir 'other/directory'

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

puts other_rake.tasks
[ GitHub ]

  
# File '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