class MTBuild::Configuration
This is the base class for all configuration types.
Attributes
configuration_name[R]
The configuration's name
output_folder[R]
The project's output folder. Project
output goes here.
parent_project[R]
The project that owns this configuration
project_folder[R]
The project's folder. Relative path references are interpreted as relative to this folder.
Public Class Methods
new(parent_project, output_folder, configuration_name, configuration)
click to toggle source
# File lib/mtbuild/configuration.rb, line 19 def initialize(parent_project, output_folder, configuration_name, configuration) @parent_project = parent_project @project_folder = File.expand_path(@parent_project.project_folder) @configuration_name = configuration_name @output_folder = File.expand_path(File.join(output_folder, @configuration_name.to_s)) check_configuration(configuration) @pre_build = configuration.fetch(:pre_build, nil) @post_build = configuration.fetch(:post_build, nil) @pre_build.call if @pre_build.respond_to? :call end
Public Instance Methods
configure_tasks()
click to toggle source
Create the actual Rake
tasks that will perform the configuration's work
# File lib/mtbuild/configuration.rb, line 33 def configure_tasks end
Private Instance Methods
check_configuration(configuration)
click to toggle source
# File lib/mtbuild/configuration.rb, line 38 def check_configuration(configuration) end
expand_configuration_wildcards(task_list)
click to toggle source
# File lib/mtbuild/configuration.rb, line 46 def expand_configuration_wildcards(task_list) return task_list.collect {|task| task.sub(':.', ":#{@configuration_name}") } end
namespace_tasks(task_list)
click to toggle source
# File lib/mtbuild/configuration.rb, line 41 def namespace_tasks(task_list) return task_list.collect {|task| "#{@parent_project.parent_workspace.workspace_name}:#{task}"} unless @parent_project.parent_workspace.nil? return task_list end