Sha256: 28a7d800ae15cc3cf135f6dbd435835de5a9077dfa4de02497f161104f4be9cc

Contents?: true

Size: 932 Bytes

Versions: 7

Compression:

Stored size: 932 Bytes

Contents

class Compile

	def execute(name, session, options)
		print_heading name
		
        matches = Dir.glob("#{session.working_dir}/*.sln", File::FNM_CASEFOLD)
        
        if matches.empty? 
        	raise NoSolutionFile, "No *.sln file found in #{session.working_dir}".red
        end

		if matches.length > 1
			raise MultipleSolutionFiles, "Multiple solution files found at #{session.working_dir}. Don't know which one to build!".red
		end
        
		match = matches.first

        multi_core = session.framework_version[1,1].to_i > 2 ? '/m' : ''
		msbuild_path = "%windir%/microsoft.net/framework/#{session.framework_version}/msbuild.exe"

        sh "#{msbuild_path} /t:Clean;Build /p:Configuration=#{session.configuration} #{options} /p:TrackFileAccess=false #{multi_core} /consoleloggerparameters:ErrorsOnly #{match}"
	end
end

class NoSolutionFile < StandardError  
end 

class MultipleSolutionFiles < StandardError  
end 

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rakeoff-0.1.0 lib/rakeoff/compile.rb
rakeoff-0.0.9 lib/rakeoff/compile.rb
rakeoff-0.0.8 lib/rakeoff/compile.rb
rakeoff-0.0.7 lib/rakeoff/compile.rb
rakeoff-0.0.6 lib/rakeoff/compile.rb
rakeoff-0.0.5 lib/rakeoff/compile.rb
rakeoff-0.0.4 lib/rakeoff/compile.rb