Skip to content

Commit 02d6510

Browse files
authored
Merge branch 'master' into NewCollectionOperationQueue
2 parents 3009d23 + 752fd62 commit 02d6510

File tree

1,721 files changed

+34263
-12286
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,721 files changed

+34263
-12286
lines changed

.editorconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ insert_final_newline = true
77
indent_style = tab
88
dotnet_sort_system_directives_first = true
99
csharp_space_after_cast = true
10+
csharp_new_line_before_open_brace = all
11+
csharp_new_line_before_else = true
12+
csharp_new_line_before_catch = true
13+
csharp_new_line_before_finally = true
14+
csharp_new_line_before_members_in_object_initializers = true
15+
csharp_new_line_before_members_in_anonymous_types = true
16+
csharp_new_line_between_query_expression_clauses = true
1017

1118
[*.xsd]
1219
indent_style = tab

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ TestResult.xml
1818
.idea/
1919
.vs/
2020
/build-common/NHibernate.dev.props
21+
/doc/reference/master.xml

.travis.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
dist: trusty
12
language: csharp
2-
mono: latest
3+
mono: none
34
dotnet: 2.1.300
45
sudo: required
56
services:
@@ -30,9 +31,9 @@ before_install:
3031
if [[ "$DB" == "Firebird" ]]
3132
then
3233
sudo apt-get install -y libicu-dev libtommath-dev curl
33-
curl -L -O https://github.com/FirebirdSQL/firebird/releases/download/R3_0_3/Firebird-3.0.3.32900-0.amd64.tar.gz
34-
tar xzvf Firebird-3.0.3.32900-0.amd64.tar.gz
35-
pushd Firebird-3.0.3.32900-0.amd64
34+
curl -L -O https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0.amd64.tar.gz
35+
tar xzvf Firebird-3.0.5.33220-0.amd64.tar.gz
36+
pushd Firebird-3.0.5.33220-0.amd64
3637
sudo ./install.sh -silent
3738
popd
3839
export $(sudo cat /opt/firebird/SYSDBA.password | grep -v ^# | xargs)

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ including [howtos][A1], [blogs][A2] and [reference documentation][A3].
1111
[A2]: http://nhibernate.info/blog/
1212
[A3]: http://nhibernate.info/doc/nh/en/index.html
1313

14-
Latest Version
14+
Latest Release Version
1515
--------------
1616

1717
The quickest way to get the latest release of NHibernate is to add it to your project using
@@ -22,6 +22,24 @@ Alternatively binaries are available from SourceForge at <http://sourceforge.net
2222
You are encouraged to review the release notes ([releasenotes.txt](releasenotes.txt)), particularly when upgrading to a
2323
later version. The release notes will generally document any breaking changes.
2424

25+
Nightly Development Builds
26+
--------------------------
27+
28+
The quickest way to get the latest development build of NHibernate is to add it to your project using
29+
NuGet from MyGet feed (<https://www.myget.org/gallery/nhibernate>).
30+
31+
In order to make life a little bit easier you can register the package source in the NuGet.Config
32+
file in the top folder of your project, similar to the following.
33+
34+
```xml
35+
<?xml version="1.0" encoding="utf-8"?>
36+
<configuration>
37+
<packageSources>
38+
<add key="NHibernateDevBuilds" value="https://www.myget.org/F/nhibernate/api/v3/index.json" />
39+
</packageSources>
40+
</configuration>
41+
```
42+
2543
Community Forums
2644
----------------
2745

ReleaseProcedure.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ These are the tasks typically needed to create an official NHibernate release.
44
that is about to happen (as these will show in the milestone).
55

66
* Create a draft release in Github with GitReleaseManager. If you have used
7-
the NHibernate build menu, it should be available in Tools\gitreleasemanage.x.x.x\
7+
the NHibernate build menu, it should be available in Tools\gitreleasemanager\x.x.x\
88
(change x.x.x by its current version in tools).
99
By example:
1010

11-
Tools\gitreleasemanager.0.7.0\tools\GitReleaseManager.exe create -o nhibernate -r nhibernate-core -m 5.1 -u username -p password
11+
Tools\gitreleasemanager\0.11.0\tools\GitReleaseManager.exe create -o nhibernate -r nhibernate-core -m 5.3 --token yourGitHubTokenWithRepoScope
1212

1313
(Adjust the -m milestone parameter above, and add "-c branchname" if
1414
releasing another branch than master)
@@ -25,9 +25,8 @@ Tools\gitreleasemanager.0.7.0\tools\GitReleaseManager.exe create -o nhibernate -
2525
If the release tag does not match the released version with major.minor.release
2626
formalism, the NuGet package will have an invalid link to release notes.
2727

28-
* Check/update version number in common.xml and NHibernate.props under
29-
build-common folder, in master.xml under doc\reference folder, and in
30-
appveyor.yml in the NHibernate root.
28+
* Check/update version number in NHibernate.props under build-common folder.
29+
Clear VersionSuffix if present.
3130

3231
* Don't forget to commit the above.
3332

@@ -55,3 +54,10 @@ Tools\gitreleasemanager.0.7.0\tools\GitReleaseManager.exe create -o nhibernate -
5554
* If this was a stable branch, merge it forward to master. Perhaps some
5655
changes need to be edited out in the merge, but this will reduce the
5756
risk of some issue being left unfixed on master.
57+
58+
* If this was the master branch, create the stable branch for the new release, named
59+
according to its version with "x" instead of its patch number. By example, "5.3.x".
60+
61+
* If next version is decided set it in NHibernate.props under build-common folder
62+
(in most cases - increment minor version) and set VersionSuffix to "dev".
63+
Commit it directly (without going through a PR).

ShowBuildMenu.bat

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
@echo off
22
pushd %~dp0
33

4+
for /f "tokens=* USEBACKQ delims= " %%i in (`findstr /c:"NUnit.Console" "Tools\packages.csproj"`) do set NUNIT_VERSION=%%i
5+
set NUNIT_VERSION=%NUNIT_VERSION:~51%
6+
set NUNIT_VERSION=%NUNIT_VERSION:" />=%
7+
48
set NANT="%~dp0Tools\nant\bin\NAnt.exe" -t:net-4.0
59
set BUILD_TOOL_PATH=%~dp0Tools\BuildTool\bin\BuildTool.dll
610
set BUILDTOOL=dotnet %BUILD_TOOL_PATH%
711
set AVAILABLE_CONFIGURATIONS=%~dp0available-test-configurations
812
set CURRENT_CONFIGURATION=%~dp0current-test-configuration
9-
set NUNIT="%~dp0Tools\NUnit.ConsoleRunner.3.7.0\tools\nunit3-console.exe"
13+
set NUNIT="%~dp0Tools\NUnit.ConsoleRunner\%NUNIT_VERSION%\tools\nunit3-console.exe"
1014

1115
if not exist %BUILD_TOOL_PATH% (
12-
dotnet build %~dp0Tools\BuildTool\BuildTool.sln -c Release -o bin
16+
pushd %~dp0Tools\BuildTool
17+
dotnet build BuildTool.sln -c Release -o bin
18+
popd
1319
)
1420

1521
:main-menu
@@ -182,7 +188,8 @@ SET NUNITPLATFORM=
182188
goto test-run
183189

184190
:test-run
185-
start "nunit3-console" cmd /K %NUNIT% %NUNITPLATFORM% --agents=1 --process=separate NHibernate.nunit
191+
%NANT% common.tools-restore
192+
start "nunit3-console" cmd /K %NUNIT% %NUNITPLATFORM% --agents=1 NHibernate.nunit
186193
goto main-menu
187194

188195
rem :build-test

ShowBuildMenu.sh

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/bin/sh
22

3+
cd "$(dirname "$0")"
4+
SCRIPT_PATH="$(pwd)"
35
BUILD_TOOL_PATH="./Tools/BuildTool/bin/BuildTool.dll"
46
BUILD_TOOL="dotnet $BUILD_TOOL_PATH"
57
AVAILABLE_CONFIGURATIONS="available-test-configurations"
@@ -10,11 +12,14 @@ LIB_FILES2=""
1012
CURRENT_CONFIGURATION="./current-test-configuration"
1113
OPTION=0
1214
async_generator_path=""
15+
async_generator_version=""
1316

1417
if [ ! -f $BUILD_TOOL_PATH ]
1518
then
16-
dotnet build ./Tools/BuildTool/BuildTool.sln -c Release -o bin
19+
cd ./Tools/BuildTool
20+
dotnet build BuildTool.sln -c Release -o bin
1721
fi
22+
cd "$SCRIPT_PATH"
1823

1924
buildDebug(){
2025
dotnet build ./src/NHibernate.sln
@@ -173,11 +178,11 @@ testRun(){
173178
}
174179

175180
generateAsync(){
176-
dotnet msbuild /t:Restore ./src/NHibernate.sln
181+
dotnet restore ./src/NHibernate.sln
177182

178183
getAsyncGeneratorPath
179184
cd src
180-
mono ../"$async_generator_path"
185+
dotnet ../"$async_generator_path"
181186
cd ..
182187

183188
mainMenu
@@ -191,27 +196,15 @@ getAsyncGeneratorPath(){
191196

192197
cd Tools
193198

194-
if [ ! -f nuget.exe ]
195-
then
196-
wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
197-
fi
198-
199-
async_generator_path="CSharpAsyncGenerator.CommandLine.$(cat packages.config | grep id=\"CSharpAsyncGenerator.CommandLine | cut -d\" -f4)/tools"
199+
async_generator_version="$(cat packages.csproj | grep Include=\"CSharpAsyncGenerator.CommandLine | cut -d\" -f4)"
200+
async_generator_path="csharpasyncgenerator.commandline/$async_generator_version/tools"
200201

201202
if [ ! -d $async_generator_path ]
202203
then
203-
mono nuget.exe install
204+
dotnet restore "./packages.csproj" --packages .
204205
fi
205206

206-
if [ ! -f $async_generator_path/SQLitePCLRaw.core.dll ]
207-
then
208-
# This "hidden" dependency causes a failure under some Mono setup, add it explicitly
209-
mono nuget.exe install SQLitePCLRaw.core -Version 1.0.0
210-
cp SQLitePCLRaw.core.1.0.0/lib/net45/SQLitePCLRaw.core.dll $async_generator_path/
211-
fi
212-
213-
async_generator_path="Tools/$async_generator_path/AsyncGenerator.CommandLine.exe"
214-
207+
async_generator_path="Tools/$async_generator_path/netcoreapp2.1/AsyncGenerator.CommandLine.dll"
215208
cd ..
216209
}
217210

Tools/.gitignore

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
nuget.exe
2-
NUnit.*
3-
vswhere.*
4-
CSharpAsyncGenerator.CommandLine.*
5-
gitreleasemanager.*
6-
SQLitePCLRaw.core.*
1+
nunit.*
2+
vswhere/
3+
csharpasyncgenerator.commandline/
4+
gitreleasemanager/
5+
obj/
6+
microsoft.*

Tools/actual_msbuild.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@echo off
22

3-
for /f "usebackq tokens=*" %%i in (`%~dp0\vswhere.2.1.4\tools\vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do (
3+
for /f "usebackq tokens=*" %%i in (`%~dp0\vswhere\2.1.4\tools\vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do (
44
set InstallDir=%%i
55
)
66

Tools/packages.config

Lines changed: 0 additions & 13 deletions
This file was deleted.

Tools/packages.csproj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netcoreapp2.1</TargetFramework>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<Compile Remove="**\*" />
9+
<EmbeddedResource Remove="**\*" />
10+
<None Remove="**\*" />
11+
</ItemGroup>
12+
13+
<ItemGroup>
14+
<PackageReference Include="CSharpAsyncGenerator.CommandLine" Version="0.18.2" />
15+
<PackageReference Include="vswhere" Version="2.1.4" />
16+
<PackageReference Include="NUnit.Console" Version="3.10.0" />
17+
<PackageReference Include="GitReleaseManager" Version="0.11.0" />
18+
</ItemGroup>
19+
20+
</Project>

appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 5.2.5.{build}
1+
version: '{build}'
22
image: Visual Studio 2017
33
environment:
44
matrix:
@@ -25,7 +25,7 @@ before_test:
2525
# Install Firebird
2626
New-Item -ItemType Directory -Force $FireBirdPath > $null
2727
Push-Location $FireBirdPath
28-
Invoke-WebRequest 'https://github.com/FirebirdSQL/firebird/releases/download/R3_0_3/Firebird-3.0.3.32900-0_x64.zip' -OutFile firebird.zip
28+
Invoke-WebRequest 'https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0_x64.zip' -OutFile firebird.zip
2929
Unblock-File firebird.zip
3030
7z x firebird.zip
3131
New-Item -ItemType Directory -Force Data

build-common/DotNetSdkMono.props

Lines changed: 0 additions & 52 deletions
This file was deleted.

build-common/NHibernate.props

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
<Project>
2-
<Import Project="DotNetSdkMono.props" />
32
<Import Condition="Exists('NHibernate.dev.props')" Project="NHibernate.dev.props"/>
43

54
<PropertyGroup>
6-
<VersionMajor Condition="'$(VersionMajor)' == ''">5</VersionMajor>
7-
<VersionMinor Condition="'$(VersionMinor)' == ''">2</VersionMinor>
8-
<VersionPatch Condition="'$(VersionPatch)' == ''">5</VersionPatch>
9-
<VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix>
5+
<NhVersion Condition="'$(NhVersion)' == ''" >5.3</NhVersion>
6+
<VersionPatch Condition="'$(VersionPatch)' == ''">0</VersionPatch>
7+
<!-- Clear VersionSuffix for making release and set it to dev for making development builds -->
8+
<VersionSuffix Condition="'$(VersionSuffix)' == ''">dev</VersionSuffix>
109

11-
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)</VersionPrefix>
12-
<AssemblyVersion>$(VersionMajor).$(VersionMinor).0.0</AssemblyVersion>
13-
<FileVersion>$(VersionPrefix).0</FileVersion>
10+
<VersionPrefix Condition="'$(VersionPrefix)' == ''">$(NhVersion).$(VersionPatch)</VersionPrefix>
11+
<VersionSuffix Condition="'$(VersionSuffix)' != '' AND '$(BuildNumber)' != ''">$(VersionSuffix).$(BuildNumber)</VersionSuffix>
12+
<AssemblyVersion>$(NhVersion).0.0</AssemblyVersion>
13+
<FileVersion Condition="'$(VersionSuffix)' != '' AND '$(BuildNumber)' != ''">$(VersionPrefix).$(BuildNumber)</FileVersion>
14+
<FileVersion Condition="'$(FileVersion)' == ''">$(VersionPrefix).0</FileVersion>
1415

1516
<NhAppTargetFrameworks Condition ="$(NhAppTargetFrameworks) == ''">net461;netcoreapp2.0</NhAppTargetFrameworks>
1617
<NhLibTargetFrameworks Condition ="$(NhLibTargetFrameworks) == ''">net461;netcoreapp2.0;netstandard2.0</NhLibTargetFrameworks>
@@ -28,7 +29,8 @@
2829
<PackageIconUrl>https://raw.githubusercontent.com/nhibernate/nhibernate-core/master/logo/NHibernate-NuGet.png</PackageIconUrl>
2930
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
3031
<PackageLicenseExpression>LGPL-2.1-only</PackageLicenseExpression>
31-
<PackageReleaseNotes>https://github.com/nhibernate/nhibernate-core/blob/$(VersionPrefix)/releasenotes.txt</PackageReleaseNotes>
32+
<PackageReleaseNotes Condition="'$(VersionSuffix)' == ''">https://github.com/nhibernate/nhibernate-core/blob/$(VersionPrefix)/releasenotes.txt</PackageReleaseNotes>
33+
<PackageReleaseNotes Condition="'$(PackageReleaseNotes)' == ''">This is development version for testing purposes only</PackageReleaseNotes>
3234
<PublishRepositoryUrl>true</PublishRepositoryUrl>
3335
<IncludeSymbols>true</IncludeSymbols>
3436
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
@@ -38,4 +40,7 @@
3840

3941
<DisableImplicitPackageTargetFallback>True</DisableImplicitPackageTargetFallback>
4042
</PropertyGroup>
43+
<ItemGroup>
44+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="all" />
45+
</ItemGroup>
4146
</Project>

0 commit comments

Comments
 (0)