puts __FILE__ if defined?(DEBUG) desc 'performs build commands' task :build do Tasks.execute_task :build;end SLN_FILES=FileList.new('*.sln','*/*.sln','*/*/*.sln') class Build < Array def update changed = true if(changed) Dir.glob('*.gemspec'){|gemspec| add "gem build #{gemspec}" if !File.exist?(Gemspec.gemfile gemspec) } SLN_FILES.each{|sln_file| vs_version=MSBuild.get_vs_version(sln_file) if(MSBuild.has_version?(vs_version)) MSBuild.get_configurations(sln_file).each{ |configuration| MSBuild.get_platforms(sln_file).each{|platform| #Console.debug "configuration='#{configuration}', platform='#{platform}'" self.add "\"#{MSBuild.get_version(vs_version)}\" \"#{sln_file}\" /nologo /p:Configuration=#{configuration} /p:Platform=\"#{platform}\"" } } else puts "version #{vs_version} not found for MsBuild" puts "MSBUILD[:#{vs_version}]='PATH_TO_MSBUILD' may be used to specify msbuild path." end } end end end