fixed nh build scripts

automated build of Spring.Messaging.Ems and Spring.Testing.Microsoft if dlls are available
This commit is contained in:
eeichinger
2009-08-02 00:52:07 +00:00
parent 04832335fd
commit 972da2f0e5
29 changed files with 331 additions and 238 deletions

View File

@@ -59,6 +59,11 @@ namespace Spring.Data.NHibernate
properties.Add(Environment.ConnectionDriver, typeof(SqlClientDriver).AssemblyQualifiedName);
properties.Add(Environment.ConnectionProvider, typeof(DriverConnectionProvider).AssemblyQualifiedName);
#if NH_2_1
// since 2.1. "hbm2ddl.keywords = 'keywords'" is the default which causes the SessionFactory to connect to the db upon creation
// we don't want this in this unit test
properties.Add(Environment.Hbm2ddlKeyWords, "none");
#endif
sfo.HibernateProperties = properties;
sfo.AfterPropertiesSet();

View File

@@ -10,6 +10,15 @@
* current.build.defines.csc - framework-specific build defines
-->
<target name="build">
<!-- copy nh libs -->
<echo message="NH Libs: ${nh.lib.dir}" />
<copy todir="${current.bin.dir}" overwrite="true">
<fileset basedir="${nh.lib.dir}">
<include name="**/*.dll" />
</fileset>
</copy>
<csc target="library" define="${current.build.defines.csc}"
warnaserror="true"
debug="${current.build.debug}"
@@ -20,21 +29,16 @@
</nowarn>
<sources failonempty="true">
<include name="**/*.cs" />
<include name="../CommonAssemblyInfo.cs" />
</sources>
<references basedir="${current.bin.dir}">
<lib>
<include name="${nh.lib.dir}"/>
</lib>
<include name="System.Data.dll" />
<include name="System.EnterpriseServices.dll" />
<include name="NHibernate.dll" />
<include name="Spring.Data.NHibernate.dll" />
<include name="*.dll" />
<exclude name="${project::get-name()}.dll" />
<exclude name="Spring.Data.NHibernate12.dll" />
<exclude name="Spring.Data.NHibernate20.dll" />
<exclude name="Spring.Data.NHibernate21.dll" />
<exclude name="CloverRuntime.dll" />
<exclude name="Spring.Data.NHibernate12*.dll" />
<exclude name="Spring.Data.NHibernate20*.dll" />
<exclude name="Spring.Data.NHibernate21*.dll" />
<exclude name="Spring.Data.NHibernate*.Tests.dll" />
</references>
<resources prefix="Spring" dynamicprefix="true" failonempty="true">
<include name="**/*.xml" />
@@ -44,13 +48,6 @@
<copy file="${project::get-base-directory()}/${project::get-name()}.dll.config"
tofile="${current.bin.dir}/${project::get-name()}.dll.config"/>
<!-- copy nh libs -->
<copy todir="${current.bin.dir}" overwrite="true">
<fileset basedir="${nh.lib.dir}">
<include name="**/*.dll" />
</fileset>
</copy>
</target>
<target name="test" depends="build">

View File

@@ -96,6 +96,7 @@
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="Spring.Data.NHibernate20.Tests.build" />
<None Include="Spring.Data.NHibernate20.Tests.dll.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

View File

@@ -10,7 +10,16 @@
* current.build.defines.csc - framework-specific build defines
-->
<target name="build">
<csc target="library" define="${current.build.defines.csc},NH_2_0"
<!-- copy nh libs -->
<echo message="NH Libs: ${nh20.lib.dir}" />
<copy todir="${current.bin.dir}" overwrite="true">
<fileset basedir="${nh20.lib.dir}">
<include name="**/*.dll" />
</fileset>
</copy>
<csc target="library" define="${current.build.defines.csc},NH_2_0"
warnaserror="true"
debug="${current.build.debug}"
output="${current.bin.dir}/${project::get-name()}.dll"
@@ -19,22 +28,21 @@
<warning number="${nowarn.numbers.test}" />
</nowarn>
<sources failonempty="true">
<include name="**/*.cs" />
<include name="../CommonAssemblyInfo.cs" />
</sources>
<include name="../Spring.Data.NHibernate.Tests/**/*.cs" />
<include name="../Spring.Data.NHibernate12.Tests/**/*.cs" />
<include name="**/*.cs" />
<exclude name="../Spring.Data.NHibernate.Tests/Data/NHibernate/SessionFactoryUtilsTests.cs" />
<exclude name="AssemblyInfo.cs" />
</sources>
<references basedir="${current.bin.dir}">
<lib>
<include name="${nh20.lib.dir}"/>
</lib>
<include name="System.Data.dll" />
<include name="System.EnterpriseServices.dll" />
<include name="NHibernate.dll" />
<include name="*.dll" />
<exclude name="${project::get-name()}.dll" />
<include name="Spring.Data.NHibernate20.dll" />
<exclude name="Spring.Data.NHibernate.dll" />
<exclude name="Spring.Data.NHibernate12.dll" />
<exclude name="Spring.Data.NHibernate21.dll" />
<exclude name="CloverRuntime.dll" />
<exclude name="Spring.Data.NHibernate12*.dll" />
<exclude name="Spring.Data.NHibernate21*.dll" />
<exclude name="Spring.Data.NHibernate*.Tests.dll" />
</references>
<resources prefix="Spring" dynamicprefix="true" failonempty="true">
<include name="**/*.xml" />
@@ -44,13 +52,6 @@
<copy file="${project::get-base-directory()}/${project::get-name()}.dll.config"
tofile="${current.bin.dir}/${project::get-name()}.dll.config"/>
<!-- copy nh libs -->
<copy todir="${current.bin.dir}" overwrite="true">
<fileset basedir="${nh.lib.dir}">
<include name="**/*.dll" />
</fileset>
</copy>
</target>
<target name="test" depends="build">

View File

@@ -116,9 +116,18 @@
<None Include="..\Spring.Data.NHibernate.Integration.Tests\Data\NHibernate\creditdebit.sql">
<Link>Data\NHibernate\creditdebit.sql</Link>
</None>
<None Include="Spring.Data.NHibernate21.Integration.Tests.build" />
<None Include="Spring.Data.NHibernate21.Integration.Tests.dll.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\..\projects\nhibernate\trunk\nhibernate\src\NHibernate.DomainModel\NHibernate.DomainModel.csproj">
<Project>{5C649B55-1B3F-4C38-9998-1B043E94A244}</Project>
<Name>NHibernate.DomainModel</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\..\..\projects\nhibernate\trunk\nhibernate\src\NHibernate.Test\NHibernate.Test.csproj">
<Project>{7AEE5B37-C552-4E59-9B6F-88755BCB5070}</Project>
<Name>NHibernate.Test</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj">
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
<Name>Spring.Aop.2008</Name>

View File

@@ -25,17 +25,15 @@
<lib>
<include name="${nh21.lib.dir}"/>
</lib>
<include name="System.Data.dll" />
<include name="System.EnterpriseServices.dll" />
<include name="log4net.dll" />
<include name="NHibernate.dll" />
<include name="*.dll" />
<exclude name="${project::get-name()}.dll" />
<exclude name="Spring.Data.NHibernate.Tests.dll" />
<exclude name="Spring.Data.NHibernate.dll" />
<exclude name="Spring.Data.NHibernate12.dll" />
<exclude name="Spring.Data.NHibernate20.dll" />
<exclude name="CloverRuntime.dll" />
<include name="${nh21.lib.dir}/NHibernate.dll" />
<include name="System.Data.dll" />
<include name="System.EnterpriseServices.dll" />
<include name="log4net.dll" />
<include name="*.dll" />
<exclude name="NHibernate.dll" />
<exclude name="${project::get-name()}.dll" />
<exclude name="Spring.Data.NHibernate*.dll" />
<include name="Spring.Data.NHibernate21.dll" />
</references>
<resources prefix="Spring" dynamicprefix="true" failonempty="true">
<include name="**/*.xml" />

View File

@@ -1,6 +1,6 @@
#if NH_2_1XX
#if NH_2_1
using log4net.Config;
using NHibernate;
using NHibernate.Bytecode;
using NHibernate.Cfg;
using NHibernate.Engine;
@@ -39,7 +39,7 @@ namespace Spring.Data.NHibernate.Bytecode
public void CreateDb()
{
InitializeServiceLocator();
var cfg = new Configuration();
Configuration cfg = new Configuration();
Environment.BytecodeProvider = GetBytecodeProvider();
cfg.Configure();
cfg.AddResource("uNhAddIns.Adapters.CommonTests.EnhancedBytecodeProvider.Foo.Spechbm.xml",
@@ -64,18 +64,18 @@ namespace Spring.Data.NHibernate.Bytecode
public void SaveObjectWithStringChangedToUpper()
{
object savedId;
Foo f = new Foo { Description = "something" };
Foo f = new Foo("something");
using (var s = sessions.OpenSession())
using (var tx = s.BeginTransaction())
using (ISession s = sessions.OpenSession())
using (ITransaction tx = s.BeginTransaction())
{
savedId = s.Save(f);
tx.Commit();
}
using (var s = sessions.OpenSession())
using (ISession s = sessions.OpenSession())
{
var upperFoo = s.Get<Foo>(savedId);
Foo upperFoo = s.Get<Foo>(savedId);
Assert.AreEqual("[something]", upperFoo.Description);
}
@@ -86,18 +86,18 @@ namespace Spring.Data.NHibernate.Bytecode
public void SaveNullPropertyAndGetItBack()
{
object savedId;
var f = new Foo();
Foo f = new Foo("");
using (var s = sessions.OpenSession())
using (var tx = s.BeginTransaction())
using (ISession s = sessions.OpenSession())
using (ITransaction tx = s.BeginTransaction())
{
savedId = s.Save(f);
tx.Commit();
}
using (var s = sessions.OpenSession())
using (ISession s = sessions.OpenSession())
{
var upperFoo = s.Get<Foo>(savedId);
Foo upperFoo = s.Get<Foo>(savedId);
Assert.IsNull(upperFoo.Description);
}

View File

@@ -1,9 +1,20 @@
#if NH_2_1XX
#if NH_2_1
namespace Spring.Data.NHibernate.Bytecode
{
public class Foo
{
public virtual string Description { get; set; }
private string _description;
public Foo(string description)
{
_description = description;
}
public virtual string Description
{
get { return _description; }
set { _description = value; }
}
}
}
#endif

View File

@@ -1,4 +1,4 @@
#if NH_2_1XX
#if NH_2_1
namespace Spring.Data.NHibernate.Bytecode
{
public interface IDelimiter

View File

@@ -1,4 +1,4 @@
#if NH_2_1XX
#if NH_2_1
using System.Data;
using NHibernate;
using NHibernate.SqlTypes;
@@ -17,7 +17,7 @@ namespace Spring.Data.NHibernate.Bytecode
public object NullSafeGet(IDataReader rs, string[] names, object owner)
{
var resultString = (string)NHibernateUtil.String.NullSafeGet(rs, names[0]);
string resultString = (string)NHibernateUtil.String.NullSafeGet(rs, names[0]);
if (resultString != null)
return delimiter.Delimit(resultString);
return null;
@@ -61,7 +61,7 @@ namespace Spring.Data.NHibernate.Bytecode
{
get
{
return new[] { new SqlType(DbType.String) };
return new SqlType[] { new SqlType(DbType.String) };
}
}

View File

@@ -1,4 +1,4 @@
#if NH_2_1XX
#if NH_2_1
using NHibernate.Bytecode;
using NUnit.Framework;
@@ -10,7 +10,7 @@ using Spring.Objects.Factory.Support;
namespace Spring.Data.NHibernate.Bytecode
{
//[TestFixture]
[TestFixture, Explicit("requires database")]
public class InjectableUserTypeFixture : AbstractInjectableUserTypeFixture
{
private IConfigurableListableObjectFactory objectFactory;
@@ -32,14 +32,14 @@ namespace Spring.Data.NHibernate.Bytecode
private static void Register<TSerivice, TImplementation>(IConfigurableListableObjectFactory confObjFactory)
{
var odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof (TImplementation)).
ObjectDefinitionBuilder odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation)).
SetAutowireMode(AutoWiringMode.Constructor);
confObjFactory.RegisterObjectDefinition(typeof (TSerivice).FullName, odb.ObjectDefinition);
}
private static void RegisterPrototype<TImplementation>(IConfigurableListableObjectFactory confObjFactory)
{
var odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation))
ObjectDefinitionBuilder odb = ObjectDefinitionBuilder.RootObjectDefinition(objectDefinitionFactory, typeof(TImplementation))
.SetSingleton(false).SetAutowireMode(AutoWiringMode.AutoDetect);
confObjFactory.RegisterObjectDefinition(typeof(TImplementation).FullName, odb.ObjectDefinition);
}

View File

@@ -1,13 +1,31 @@
#if NH_2_1XX
#if NH_2_1
using System;
namespace Spring.Data.NHibernate.Bytecode
{
public class Product
{
public virtual Guid Id { get; set; }
public virtual string Description { get; set; }
public virtual decimal Price { get; set; }
private Guid _id;
private string _description;
private decimal _price;
public virtual Guid Id
{
get { return _id; }
set { _id = value; }
}
public virtual string Description
{
get { return _description; }
set { _description = value; }
}
public virtual decimal Price
{
get { return _price; }
set { _price = value; }
}
}
}
#endif

View File

@@ -27,8 +27,7 @@
<entry key="connection.driver_class"
value="NHibernate.Driver.SqlClientDriver"/>
<entry key="proxyfactory.factory_class"
value="NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu" />
<entry key="hbm2ddl.keywords" value="none" />
</dictionary>
</property>

View File

@@ -28,8 +28,7 @@
<entry key="hibernate.connection.driver_class"
value="NHibernate.Driver.SqlClientDriver"/>
<entry key="proxyfactory.factory_class"
value="NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu" />
<entry key="hbm2ddl.keywords" value="none" />
</dictionary>
</property>

View File

@@ -40,7 +40,7 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\lib\NHibernate21\net\2.0\log4net.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=1.0.4.0, Culture=neutral, PublicKeyToken=154fdcb44c4484fc">
<Reference Include="NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll</HintPath>
</Reference>
@@ -90,6 +90,7 @@
<Compile Include="..\Spring.Data.NHibernate.Tests\Data\NHibernate\TestObject.cs">
<Link>Data\NHibernate\TestObject.cs</Link>
</Compile>
<Compile Include="AssemblyInfo.cs" />
<Compile Include="Data\NHibernate\Bytecode\AbstractInjectableUserTypeFixture.cs" />
<Compile Include="Data\NHibernate\Bytecode\Foo.cs" />
<Compile Include="Data\NHibernate\Bytecode\IDelimiter.cs" />
@@ -98,6 +99,7 @@
<Compile Include="Data\NHibernate\Bytecode\Product.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Spring.Data.NHibernate21.Tests.build" />
<None Include="Spring.Data.NHibernate21.Tests.dll.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

View File

@@ -10,7 +10,16 @@
* current.build.defines.csc - framework-specific build defines
-->
<target name="build">
<csc target="library" define="${current.build.defines.csc},NH_2_0,NH_2_1"
<!-- copy nh libs -->
<echo message="NH Libs: ${nh21.lib.dir}" />
<copy todir="${current.bin.dir}" overwrite="true">
<fileset basedir="${nh21.lib.dir}">
<include name="**/*.dll" />
</fileset>
</copy>
<csc target="library" define="${current.build.defines.csc},NH_2_0,NH_2_1"
warnaserror="true"
debug="${current.build.debug}"
output="${current.bin.dir}/${project::get-name()}.dll"
@@ -19,22 +28,21 @@
<warning number="${nowarn.numbers.test}" />
</nowarn>
<sources failonempty="true">
<include name="**/*.cs" />
<include name="../CommonAssemblyInfo.cs" />
<include name="../Spring.Data.NHibernate.Tests/**/*.cs" />
<include name="../Spring.Data.NHibernate12.Tests/**/*.cs" />
<include name="**/*.cs" />
<exclude name="../Spring.Data.NHibernate.Tests/Data/NHibernate/SessionFactoryUtilsTests.cs" />
<exclude name="AssemblyInfo.cs" />
</sources>
<references basedir="${current.bin.dir}">
<lib>
<include name="${nh21.lib.dir}"/>
</lib>
<include name="System.Data.dll" />
<include name="System.Data.dll" />
<include name="System.EnterpriseServices.dll" />
<include name="NHibernate.dll" />
<include name="*.dll" />
<exclude name="${project::get-name()}.dll" />
<exclude name="Spring.Data.NHibernate.dll" />
<exclude name="Spring.Data.NHibernate12.dll" />
<exclude name="Spring.Data.NHibernate20.dll" />
<exclude name="CloverRuntime.dll" />
<include name="Spring.Data.NHibernate21.dll" />
<exclude name="Spring.Data.NHibernate.dll" />
<exclude name="Spring.Data.NHibernate12*.dll" />
<exclude name="Spring.Data.NHibernate20*.dll" />
<exclude name="Spring.Data.NHibernate*.Tests.dll" />
</references>
<resources prefix="Spring" dynamicprefix="true" failonempty="true">
<include name="**/*.xml" />
@@ -44,13 +52,6 @@
<copy file="${project::get-base-directory()}/${project::get-name()}.dll.config"
tofile="${current.bin.dir}/${project::get-name()}.dll.config"/>
<!-- copy nh libs -->
<copy todir="${current.bin.dir}" overwrite="true">
<fileset basedir="${nh21.lib.dir}">
<include name="**/*.dll" />
</fileset>
</copy>
</target>
<target name="test" depends="build">