Skip to content

Commit b9b7197

Browse files
committed
Added build options for NH3
1 parent 51de7db commit b9b7197

34 files changed

+51188
-2
lines changed

RakeFile

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,29 @@ namespace :source do
5555
puts "The build number is #{asm.version}"
5656
end
5757

58+
task :nhibernate_version, :nhibernate_version do |t,args|
59+
args.with_defaults :nhibernate_version => ENV['nhibernate_version'] || '2.1'
60+
61+
raise "Unknown NHibernate version #{args.nhibernate_version} (check your tools/NHibernate folder)" unless File.directory? "tools/NHibernate/#{args.nhibernate_version}"
62+
63+
# clear out existing selected nh version
64+
files_to_delete = Dir["tools/NHibernate/*.*"].reject {|f| File.directory? f }
65+
files_to_delete.each {|f| File.delete f }
66+
67+
# copy specific nh version files to the main directory
68+
files_to_copy = Dir["tools/NHibernate/#{args.nhibernate_version}/*.*"]
69+
files_to_copy.each {|f| FileUtils.copy f, "tools/NHibernate/" }
70+
end
71+
5872
desc 'Compile the source'
59-
msbuild :compile do |msb|
60-
msb.properties = { :configuration => :Release }
73+
msbuild :compile, [:nhibernate_version] => :nhibernate_version do |msb,args|
74+
args.with_defaults :nhibernate_version => ENV['nhibernate_version'] || '2.1'
75+
76+
nh_version_precompiler_switch = 'NH' + args.nhibernate_version.gsub('.', '')
77+
78+
puts nh_version_precompiler_switch
79+
80+
msb.properties = { :configuration => :Release, :DefineConstants => nh_version_precompiler_switch }
6181
msb.targets [:Clean, :Build]
6282
msb.solution = 'src/FluentNHibernate.sln'
6383
end

src/FluentNHibernate.Testing/AutoMapping/TestFixtures.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,14 +359,23 @@ public Object NullSafeGet(IDataReader rs, string[] names, ISessionImplementor se
359359
return (first == null && second == null) ? null : new string[] { first, second };
360360
}
361361

362+
#if NH30
363+
public void NullSafeSet(IDbCommand st, Object value, int index, bool[] unknown, ISessionImplementor session)
364+
{
365+
DoubleString ds = value as DoubleString ?? new DoubleString();
362366

367+
NHibernateUtil.String.NullSafeSet(st, ds.s1, index, session);
368+
NHibernateUtil.String.NullSafeSet(st, ds.s2, index + 1, session);
369+
}
370+
#else
363371
public void NullSafeSet(IDbCommand st, Object value, int index, ISessionImplementor session)
364372
{
365373
DoubleString ds = value as DoubleString ?? new DoubleString();
366374

367375
NHibernateUtil.String.NullSafeSet(st, ds.s1, index, session);
368376
NHibernateUtil.String.NullSafeSet(st, ds.s2, index + 1, session);
369377
}
378+
#endif
370379

371380
public string[] PropertyNames
372381
{

0 commit comments

Comments
 (0)