Class: IlMerge

Inherits:
Object
  • Object
show all
Includes:
Albacore::RunCommand, Albacore::Task, Configuration::ILMerge
Defined in:
lib/albacore/ilmerge.rb

Constant Summary collapse

TaskName =
[:ilmerge, :ILMerge]

Instance Attribute Summary collapse

Attributes included from Albacore::RunCommand

#command, #working_directory

Attributes included from Logging

#current_log_device, #logger

Instance Method Summary collapse

Methods included from Configuration::ILMerge

#ilmerge, ilmergeconfig, #use_resolver

Methods included from Albacore::Configuration

included

Methods included from Albacore::RunCommand

#get_command, #run_command

Methods included from AttrMethods

#attr_array, #attr_hash

Methods included from Albacore::Task

clean_dirname, create_rake_task, include_config, included

Methods included from UpdateAttributes

#<<, #update_attributes

Methods included from YAMLConfig

#configure, #load_config_by_task_name

Methods included from Logging

#create_logger, #log_device=, #log_level, #log_level=

Methods included from Failure

#fail_with_message

Constructor Details

#initializeIlMerge

Returns a new instance of IlMerge.



14
15
16
17
# File 'lib/albacore/ilmerge.rb', line 14

def initialize
  super()
  update_attributes ilmerge.to_hash
end

Instance Attribute Details

#outputObject

Returns the value of attribute output.



10
11
12
# File 'lib/albacore/ilmerge.rb', line 10

def output
  @output
end

#resolverObject

Returns the value of attribute resolver.



10
11
12
# File 'lib/albacore/ilmerge.rb', line 10

def resolver
  @resolver
end

Instance Method Details

#assemblies(*assys) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
# File 'lib/albacore/ilmerge.rb', line 19

def assemblies *assys
  raise ArgumentError, "expected at least 2 assemblies to merge" if assys.length < 2
  @assemblies = assys
end

#build_parametersObject

Raises:

  • (ArgumentError)


24
25
26
27
28
29
30
# File 'lib/albacore/ilmerge.rb', line 24

def build_parameters
  params = Array.new @parameters
  params << %Q{/out:"#{output}"}
  raise ArgumentError, "you are required to call assemblies" if @assemblies == nil
  params += @assemblies
  params
end

#executeObject



32
33
34
35
# File 'lib/albacore/ilmerge.rb', line 32

def execute
  @command ||= @resolver.resolve
  result = run_command "ILMerge", build_parameters
end