class FubuRake::AssemblyInfo
Public Class Methods
create(tasks, options)
click to toggle source
# File lib/assembly_info.rb, line 4 def self.create tasks, options if tasks.assembly_info == nil return nil end versionTask = Rake::Task.define_task :version do begin commit = `git log -1 --pretty=format:%H` rescue commit = "git unavailable" end puts "##teamcity[buildNumber '#{options[:build_number]}']" unless options[:tc_build_number].nil? puts "Version: #{options[:build_number]}" if options[:tc_build_number].nil? options = { :trademark => commit, :product_name => 'CHANGEME', :description => options[:build_number], :version => options[:asm_version], :file_version => options[:build_number], :informational_version => options[:asm_version], :copyright => 'CHANGEME', :output_file => 'src/CommonAssemblyInfo.cs' } options = options.merge(tasks.assembly_info) File.open(options[:output_file], 'w') do |file| file.write "using System.Reflection;\n" file.write "using System.Runtime.InteropServices;\n" file.write "[assembly: AssemblyDescription(\"#{options[:description]}\")]\n" file.write "[assembly: AssemblyProduct(\"#{options[:product_name]}\")]\n" file.write "[assembly: AssemblyCopyright(\"#{options[:copyright]}\")]\n" file.write "[assembly: AssemblyTrademark(\"#{options[:trademark]}\")]\n" file.write "[assembly: AssemblyVersion(\"#{options[:version]}\")]\n" file.write "[assembly: AssemblyFileVersion(\"#{options[:file_version]}\")]\n" file.write "[assembly: AssemblyInformationalVersion(\"#{options[:informational_version]}\")]\n" end end versionTask.add_description "Update the version information for the build" return versionTask end