Skip to content

Commit 1649e2d

Browse files
committed
NH-4008 - Add nuget build for driver packages.
1 parent 5eaf779 commit 1649e2d

22 files changed

+623
-5
lines changed

default.build

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@
164164
<property name="bin-pack.tmpdir" value="${build.dir}/tmp-bin" />
165165
<property name="bin-pack.conf-template" value="${bin-pack.tmpdir}/Configuration_Templates" />
166166
<property name="bin-pack.required" value="${bin-pack.tmpdir}/Required_Bins" />
167+
<property name="bin-pack.drivers" value="${bin-pack.tmpdir}/Select_Single_Driver" />
167168
<property name="bin-pack.tests" value="${bin-pack.tmpdir}/Tests" />
168169

169170
<copy file="releasenotes.txt" todir="${bin-pack.tmpdir}"/>
@@ -192,7 +193,11 @@
192193
<include name="NHibernate.???" />
193194
</fileset>
194195
</copy>
195-
<!--Required Bins for lazy loading NHibernate.ByteCode.Castle.dll-->
196+
<copy todir="${bin-pack.drivers}">
197+
<fileset basedir="${bin.dir}">
198+
<include name="NHibernate.Driver.*.???" />
199+
</fileset>
200+
</copy>
196201
<!-- Tests -->
197202
<copy file="${bin.dir}/TestEnbeddedConfig.cfg.xml" todir="${bin-pack.tests}"/>
198203
<copy file="${bin.dir}/ABC.hbm.xml" todir="${bin-pack.tests}"/>
@@ -244,6 +249,16 @@
244249

245250
<fileset id="nugetfiles.all" basedir="src">
246251
<include name="NHibernate/NHibernate.build" />
252+
<include name="NHibernate.Driver.AdoNet/NHibernate.Driver.AdoNet.build" />
253+
<include name="NHibernate.Driver.FirebirdClient/NHibernate.Driver.FirebirdClient.build" />
254+
<include name="NHibernate.Driver.MySql/NHibernate.Driver.MySql.build" />
255+
<include name="NHibernate.Driver.Npgsql/NHibernate.Driver.Npgsql.build" />
256+
<include name="NHibernate.Driver.Odbc/NHibernate.Driver.Odbc.build" />
257+
<include name="NHibernate.Driver.OleDb/NHibernate.Driver.OleDb.build" />
258+
<include name="NHibernate.Driver.Oracle.ManagedDataAccess/NHibernate.Driver.Oracle.ManagedDataAccess.build" />
259+
<include name="NHibernate.Driver.SQLite/NHibernate.Driver.SQLite.build" />
260+
<include name="NHibernate.Driver.SqlServer/NHibernate.Driver.SqlServer.build" />
261+
<include name="NHibernate.Driver.SqlServer.Compact/NHibernate.Driver.SqlServer.Compact.build" />
247262
</fileset>
248263

249264
<target name="nuspec" depends="init nuget.set-properties" description="Create nuspec files">
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" ?>
2+
3+
<project
4+
name="NHibernate.Driver.AdoNet"
5+
default="build"
6+
xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"
7+
>
8+
9+
<property name="nuspec.destination.filename" value="NHibernate.Driver.AdoNet.nuspec" />
10+
<property name="root.dir" value="../.." />
11+
<include buildfile="${root.dir}/build-common/common-project.xml" />
12+
13+
<target name="nuspec" depends="common.init nuget.set-properties" description="Create nuspec for NHibernate.Driver.AdoNet">
14+
<property name="nuspec.destination.file" value="${nuget.workingdir}/${nuspec.destination.filename}" />
15+
<copy file="NHibernate.Driver.AdoNet.nuspec.template" tofile="${nuspec.destination.file}"/>
16+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/version" value="${project.version.nuget}" />
17+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/dependencies/dependency[@id='NHibernate']/@version" value="[${project.version.nuget},6)" />
18+
</target>
19+
20+
<target name="nuget" depends="common.init common.download-nuget nuget.set-properties nuspec">
21+
<!-- Prepare working dir with file needed by NHibernate.Driver.AdoNet.nuspec -->
22+
<copy file="${bin.dir}/NHibernate.Driver.AdoNet.dll" todir="${nuget.workingdir}"/>
23+
<copy file="${bin.dir}/NHibernate.Driver.AdoNet.pdb" todir="${nuget.workingdir}"/>
24+
<copy file="${bin.dir}/NHibernate.Driver.AdoNet.xml" todir="${nuget.workingdir}"/>
25+
26+
<exec basedir="${tools.dir}" workingdir="${nuget.workingdir}" program="NuGet.exe">
27+
<arg value="pack" />
28+
<arg value="-symbols" />
29+
<arg value="${nuspec.destination.filename}" />
30+
</exec>
31+
</target>
32+
33+
</project>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<package>
3+
<metadata>
4+
<id>NHibernate.Driver.AdoNet</id>
5+
<version>x.y.z</version>
6+
<authors>NHibernate community, Hibernate community</authors>
7+
<description>
8+
Driver for all ADO.Net data providers not covered by other NuGet packages. To be used with NHibernate 5. Includes: CsharpSqliteDriver, DB2400Driver, DB2Driver, DotConnectMySqlDriver, IfxDriver, IngresDriver, OracleClientDriver, OracleDataClientDriver, OracleLiteDataClientDriver, SybaseAsaClientDriver, SybaseAseClientDriver, SybaseSQLAnywhereDotNet4Driver, and SybaseSQLAnywhereDriver.
9+
</description>
10+
<language>en-US</language>
11+
<tags>NHibernate; Driver; ADO.Net; sqlite; db2400; db2; mysql; ifx; ingres; oracle; sybase; sqlanywhere; sql anywhere; ianywhere</tags>
12+
<dependencies>
13+
<dependency id="NHibernate" version="[x.y.z,x.y.z)" />
14+
</dependencies>
15+
<projectUrl>
16+
http://nhibernate.info
17+
</projectUrl>
18+
<iconUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/logo/NHibernate-NuGet.png</iconUrl>
19+
<licenseUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/LICENSE.txt</licenseUrl>
20+
</metadata>
21+
<files>
22+
<file src="NHibernate.Driver.AdoNet.dll" target="lib\net461" />
23+
<file src="NHibernate.Driver.AdoNet.pdb" target="lib\net461" />
24+
<file src="NHibernate.Driver.AdoNet.xml" target="lib\net461" />
25+
<file src="..\..\..\src\NHibernate.Driver.AdoNet\**\*.cs" target="src" />
26+
</files>
27+
</package>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" ?>
2+
3+
<project
4+
name="NHibernate.Driver.FirebirdClient"
5+
default="build"
6+
xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"
7+
>
8+
9+
<property name="nuspec.destination.filename" value="NHibernate.Driver.FirebirdClient.nuspec" />
10+
<property name="root.dir" value="../.." />
11+
<include buildfile="${root.dir}/build-common/common-project.xml" />
12+
13+
<target name="nuspec" depends="common.init nuget.set-properties" description="Create nuspec for NHibernate.Driver.FirebirdClient">
14+
<property name="nuspec.destination.file" value="${nuget.workingdir}/${nuspec.destination.filename}" />
15+
<copy file="NHibernate.Driver.FirebirdClient.nuspec.template" tofile="${nuspec.destination.file}"/>
16+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/version" value="${project.version.nuget}" />
17+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/dependencies/dependency[@id='NHibernate']/@version" value="[${project.version.nuget},6)" />
18+
</target>
19+
20+
<target name="nuget" depends="common.init common.download-nuget nuget.set-properties nuspec">
21+
<!-- Prepare working dir with file needed by NHibernate.Driver.FirebirdClient.nuspec -->
22+
<copy file="${bin.dir}/NHibernate.Driver.FirebirdClient.dll" todir="${nuget.workingdir}"/>
23+
<copy file="${bin.dir}/NHibernate.Driver.FirebirdClient.pdb" todir="${nuget.workingdir}"/>
24+
<copy file="${bin.dir}/NHibernate.Driver.FirebirdClient.xml" todir="${nuget.workingdir}"/>
25+
26+
<exec basedir="${tools.dir}" workingdir="${nuget.workingdir}" program="NuGet.exe">
27+
<arg value="pack" />
28+
<arg value="-symbols" />
29+
<arg value="${nuspec.destination.filename}" />
30+
</exec>
31+
</target>
32+
33+
</project>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<package>
3+
<metadata>
4+
<id>NHibernate.Driver.FirebirdClient</id>
5+
<version>x.y.z</version>
6+
<authors>NHibernate community, Hibernate community</authors>
7+
<description>
8+
Driver for Firebird to be used with NHibernate 5.
9+
</description>
10+
<language>en-US</language>
11+
<tags>NHibernate; Driver; firebird; firebirsql; firebirdclient; ADO.Net</tags>
12+
<dependencies>
13+
<dependency id="NHibernate" version="[x.y.z,x.y.z)" />
14+
<dependency id="FirebirdSql.Data.FirebirdClient" version="2.6.5" />
15+
</dependencies>
16+
<projectUrl>
17+
http://nhibernate.info
18+
</projectUrl>
19+
<iconUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/logo/NHibernate-NuGet.png</iconUrl>
20+
<licenseUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/LICENSE.txt</licenseUrl>
21+
</metadata>
22+
<files>
23+
<file src="NHibernate.Driver.FirebirdClient.dll" target="lib\net461" />
24+
<file src="NHibernate.Driver.FirebirdClient.pdb" target="lib\net461" />
25+
<file src="NHibernate.Driver.FirebirdClient.xml" target="lib\net461" />
26+
<file src="..\..\..\src\NHibernate.Driver.FirebirdClient\**\*.cs" target="src" />
27+
</files>
28+
</package>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" ?>
2+
3+
<project
4+
name="NHibernate.Driver.MySql"
5+
default="build"
6+
xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"
7+
>
8+
9+
<property name="nuspec.destination.filename" value="NHibernate.Driver.MySql.nuspec" />
10+
<property name="root.dir" value="../.." />
11+
<include buildfile="${root.dir}/build-common/common-project.xml" />
12+
13+
<target name="nuspec" depends="common.init nuget.set-properties" description="Create nuspec for NHibernate.Driver.MySql">
14+
<property name="nuspec.destination.file" value="${nuget.workingdir}/${nuspec.destination.filename}" />
15+
<copy file="NHibernate.Driver.MySql.nuspec.template" tofile="${nuspec.destination.file}"/>
16+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/version" value="${project.version.nuget}" />
17+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/dependencies/dependency[@id='NHibernate']/@version" value="[${project.version.nuget},6)" />
18+
</target>
19+
20+
<target name="nuget" depends="common.init common.download-nuget nuget.set-properties nuspec">
21+
<!-- Prepare working dir with file needed by NHibernate.Driver.MySql.nuspec -->
22+
<copy file="${bin.dir}/NHibernate.Driver.MySql.dll" todir="${nuget.workingdir}"/>
23+
<copy file="${bin.dir}/NHibernate.Driver.MySql.pdb" todir="${nuget.workingdir}"/>
24+
<copy file="${bin.dir}/NHibernate.Driver.MySql.xml" todir="${nuget.workingdir}"/>
25+
26+
<exec basedir="${tools.dir}" workingdir="${nuget.workingdir}" program="NuGet.exe">
27+
<arg value="pack" />
28+
<arg value="-symbols" />
29+
<arg value="${nuspec.destination.filename}" />
30+
</exec>
31+
</target>
32+
33+
</project>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<package>
3+
<metadata>
4+
<id>NHibernate.Driver.MySql</id>
5+
<version>x.y.z</version>
6+
<authors>NHibernate community, Hibernate community</authors>
7+
<description>
8+
Driver for MySql and MariaDB to be used with NHibernate 5.
9+
</description>
10+
<language>en-US</language>
11+
<tags>NHibernate; Driver; MySql; MySql.Data; Connector/NET; C/Net; ADO.Net</tags>
12+
<dependencies>
13+
<dependency id="NHibernate" version="[x.y.z,x.y.z)" />
14+
<dependency id="MySql.Data" version="6.7.9" />
15+
</dependencies>
16+
<projectUrl>
17+
http://nhibernate.info
18+
</projectUrl>
19+
<iconUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/logo/NHibernate-NuGet.png</iconUrl>
20+
<licenseUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/LICENSE.txt</licenseUrl>
21+
</metadata>
22+
<files>
23+
<file src="NHibernate.Driver.MySql.dll" target="lib\net461" />
24+
<file src="NHibernate.Driver.MySql.pdb" target="lib\net461" />
25+
<file src="NHibernate.Driver.MySql.xml" target="lib\net461" />
26+
<file src="..\..\..\src\NHibernate.Driver.MySql\**\*.cs" target="src" />
27+
</files>
28+
</package>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" ?>
2+
3+
<project
4+
name="NHibernate.Driver.Npgsql"
5+
default="build"
6+
xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"
7+
>
8+
9+
<property name="nuspec.destination.filename" value="NHibernate.Driver.Npgsql.nuspec" />
10+
<property name="root.dir" value="../.." />
11+
<include buildfile="${root.dir}/build-common/common-project.xml" />
12+
13+
<target name="nuspec" depends="common.init nuget.set-properties" description="Create nuspec for NHibernate.Driver.Npgsql">
14+
<property name="nuspec.destination.file" value="${nuget.workingdir}/${nuspec.destination.filename}" />
15+
<copy file="NHibernate.Driver.Npgsql.nuspec.template" tofile="${nuspec.destination.file}"/>
16+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/version" value="${project.version.nuget}" />
17+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/dependencies/dependency[@id='NHibernate']/@version" value="[${project.version.nuget},6)" />
18+
</target>
19+
20+
<target name="nuget" depends="common.init common.download-nuget nuget.set-properties nuspec">
21+
<!-- Prepare working dir with file needed by NHibernate.Driver.Npgsql.nuspec -->
22+
<copy file="${bin.dir}/NHibernate.Driver.Npgsql.dll" todir="${nuget.workingdir}"/>
23+
<copy file="${bin.dir}/NHibernate.Driver.Npgsql.pdb" todir="${nuget.workingdir}"/>
24+
<copy file="${bin.dir}/NHibernate.Driver.Npgsql.xml" todir="${nuget.workingdir}"/>
25+
26+
<exec basedir="${tools.dir}" workingdir="${nuget.workingdir}" program="NuGet.exe">
27+
<arg value="pack" />
28+
<arg value="-symbols" />
29+
<arg value="${nuspec.destination.filename}" />
30+
</exec>
31+
</target>
32+
33+
</project>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<package>
3+
<metadata>
4+
<id>NHibernate.Driver.Npgsql</id>
5+
<version>x.y.z</version>
6+
<authors>NHibernate community, Hibernate community</authors>
7+
<description>
8+
Driver for PostgreSQL to be used with NHibernate 5.
9+
</description>
10+
<language>en-US</language>
11+
<tags>NHibernate; Driver; Npgsql; PostgreSQL; Postgres; ADO.Net</tags>
12+
<dependencies>
13+
<dependency id="NHibernate" version="[x.y.z,x.y.z)" />
14+
<dependency id="Npgsql" version="2.0.11" />
15+
</dependencies>
16+
<projectUrl>
17+
http://nhibernate.info
18+
</projectUrl>
19+
<iconUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/logo/NHibernate-NuGet.png</iconUrl>
20+
<licenseUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/LICENSE.txt</licenseUrl>
21+
</metadata>
22+
<files>
23+
<file src="NHibernate.Driver.Npgsql.dll" target="lib\net461" />
24+
<file src="NHibernate.Driver.Npgsql.pdb" target="lib\net461" />
25+
<file src="NHibernate.Driver.Npgsql.xml" target="lib\net461" />
26+
<file src="..\..\..\src\NHibernate.Driver.Npgsql\**\*.cs" target="src" />
27+
</files>
28+
</package>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" ?>
2+
3+
<project
4+
name="NHibernate.Driver.Odbc"
5+
default="build"
6+
xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"
7+
>
8+
9+
<property name="nuspec.destination.filename" value="NHibernate.Driver.Odbc.nuspec" />
10+
<property name="root.dir" value="../.." />
11+
<include buildfile="${root.dir}/build-common/common-project.xml" />
12+
13+
<target name="nuspec" depends="common.init nuget.set-properties" description="Create nuspec for NHibernate.Driver.Odbc">
14+
<property name="nuspec.destination.file" value="${nuget.workingdir}/${nuspec.destination.filename}" />
15+
<copy file="NHibernate.Driver.Odbc.nuspec.template" tofile="${nuspec.destination.file}"/>
16+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/version" value="${project.version.nuget}" />
17+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/dependencies/dependency[@id='NHibernate']/@version" value="[${project.version.nuget},6)" />
18+
</target>
19+
20+
<target name="nuget" depends="common.init common.download-nuget nuget.set-properties nuspec">
21+
<!-- Prepare working dir with file needed by NHibernate.Driver.Odbc.nuspec -->
22+
<copy file="${bin.dir}/NHibernate.Driver.Odbc.dll" todir="${nuget.workingdir}"/>
23+
<copy file="${bin.dir}/NHibernate.Driver.Odbc.pdb" todir="${nuget.workingdir}"/>
24+
<copy file="${bin.dir}/NHibernate.Driver.Odbc.xml" todir="${nuget.workingdir}"/>
25+
26+
<exec basedir="${tools.dir}" workingdir="${nuget.workingdir}" program="NuGet.exe">
27+
<arg value="pack" />
28+
<arg value="-symbols" />
29+
<arg value="${nuspec.destination.filename}" />
30+
</exec>
31+
</target>
32+
33+
</project>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<package>
3+
<metadata>
4+
<id>NHibernate.Driver.Odbc</id>
5+
<version>x.y.z</version>
6+
<authors>NHibernate community, Hibernate community</authors>
7+
<description>
8+
Driver for Odbc DataProvider to be used with NHibernate 5. Always look for a native .NET DataProvider before using the Odbc DataProvider.
9+
</description>
10+
<language>en-US</language>
11+
<tags>NHibernate; Driver; ODBC</tags>
12+
<dependencies>
13+
<dependency id="NHibernate" version="[x.y.z,x.y.z)" />
14+
</dependencies>
15+
<projectUrl>
16+
http://nhibernate.info
17+
</projectUrl>
18+
<iconUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/logo/NHibernate-NuGet.png</iconUrl>
19+
<licenseUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/LICENSE.txt</licenseUrl>
20+
</metadata>
21+
<files>
22+
<file src="NHibernate.Driver.Odbc.dll" target="lib\net461" />
23+
<file src="NHibernate.Driver.Odbc.pdb" target="lib\net461" />
24+
<file src="NHibernate.Driver.Odbc.xml" target="lib\net461" />
25+
<file src="..\..\..\src\NHibernate.Driver.Odbc\**\*.cs" target="src" />
26+
</files>
27+
</package>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" ?>
2+
3+
<project
4+
name="NHibernate.Driver.OleDb"
5+
default="build"
6+
xmlns="http://nant.sf.net/release/0.85-rc3/nant.xsd"
7+
>
8+
9+
<property name="nuspec.destination.filename" value="NHibernate.Driver.OleDb.nuspec" />
10+
<property name="root.dir" value="../.." />
11+
<include buildfile="${root.dir}/build-common/common-project.xml" />
12+
13+
<target name="nuspec" depends="common.init nuget.set-properties" description="Create nuspec for NHibernate.Driver.OleDb">
14+
<property name="nuspec.destination.file" value="${nuget.workingdir}/${nuspec.destination.filename}" />
15+
<copy file="NHibernate.Driver.OleDb.nuspec.template" tofile="${nuspec.destination.file}"/>
16+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/version" value="${project.version.nuget}" />
17+
<xmlpoke file="${nuspec.destination.file}" xpath="/package/metadata/dependencies/dependency[@id='NHibernate']/@version" value="[${project.version.nuget},6)" />
18+
</target>
19+
20+
<target name="nuget" depends="common.init common.download-nuget nuget.set-properties nuspec">
21+
<!-- Prepare working dir with file needed by NHibernate.Driver.OleDb.nuspec -->
22+
<copy file="${bin.dir}/NHibernate.Driver.OleDb.dll" todir="${nuget.workingdir}"/>
23+
<copy file="${bin.dir}/NHibernate.Driver.OleDb.pdb" todir="${nuget.workingdir}"/>
24+
<copy file="${bin.dir}/NHibernate.Driver.OleDb.xml" todir="${nuget.workingdir}"/>
25+
26+
<exec basedir="${tools.dir}" workingdir="${nuget.workingdir}" program="NuGet.exe">
27+
<arg value="pack" />
28+
<arg value="-symbols" />
29+
<arg value="${nuspec.destination.filename}" />
30+
</exec>
31+
</target>
32+
33+
</project>

0 commit comments

Comments
 (0)