Sha256: 6f9006f081ee0371a699f9de365b2c2ad11a37fc49b0044bb1ad0dd7359323ed

Contents?: true

Size: 920 Bytes

Versions: 2

Compression:

Stored size: 920 Bytes

Contents

require "albacore/albacoretask"
require "albacore/config/xbuildconfig"

class XBuild
  TaskName = :xbuild

  include Albacore::Task
  include Albacore::RunCommand
  include Configuration::XBuild
  
  attr_accessor :solution, 
                :verbosity
  
  attr_array    :targets
  
  attr_hash     :properties
  
  def initialize
    super()
    update_attributes(xbuild.to_hash)
  end
  
  def execute
    unless @solution
      fail_with_message("xbuild requires #solution")
      return
    end
    
    result = run_command("xbuild", build_parameters)
    fail_with_message("XBuild failed, see the build log for more details.") unless result
  end
  
  def build_parameters
    p = []
    p << "\"#{solution}\""
    p << "/verbosity:#{@verbosity}" if @verbosity
    p << @properties.map { |key, value| "/p:#{key}\=\"#{value}\"" } if @properties
    p << "/target:#{@targets.join(";")}" if @targets
    p
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
albacore-1.0.0 lib/albacore/xbuild.rb
albacore-1.0.0.rc.3 lib/albacore/xbuild.rb