Skip to content

Commit aa34f10

Browse files
authored
Merge branch 'master' into gamblen-Ingres9Sequences
2 parents 5a10e68 + c1f7f48 commit aa34f10

File tree

977 files changed

+32925
-130604
lines changed

Some content is hidden

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

977 files changed

+32925
-130604
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ current-test-configuration
1212
# to satisfy later build steps. But it should not be committed.
1313
NHibernate.dll
1414
TestResult.xml
15+
.vscode

CONTRIBUTING.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,25 @@ Ensure that your e-mail address and name are configured appropriately in Git.
7272

7373
Create a feature branch so it's easy to keep it separate from other improvements. Having a pull request accepted might involve further commits based on community feedback, so having the feature branch provides a tidy place to work from. Using the issue number as the branch name is good practice.
7474

75-
When you commit, please include the issue number in your commit message. This will allow the JIRA issue tracker to link to automatically link your commits to the issue. For example: NH-1234
75+
When you commit, please include the issue number in your commit message. This will allow the JIRA issue tracker to automatically link your commits to the issue. By example: *NH-1234 - test case for blah trouble*. Make sure you do not put any non whitespace character adjacent to the issue number, as this would prevent JIRA to match it. (Avoid *NH-1234: test case for blah trouble*.)
7676

7777
## Implementing the Bug Fix or Improvement
7878

79-
Since you now have a failing test case, it should be straight-forward to step into NHibernate to attempt to ascertain what the problem is. While this may seem daunting at first, feel free to give it a go. It's just code afterall. :)
79+
Since you now have a failing test case, it should be straight-forward to step into NHibernate to attempt to ascertain what the problem is. While this may seem daunting at first, feel free to give it a go. It's just code after all. :)
8080

8181
### Ensure All Tests Pass
8282

8383
Once you've made changes to the NHibernate code base, you'll want to ensure that you haven't caused any previously passing tests to fail. The easiest way to check this is to select option D from the build menu, ensure the root tree node is selected, then press run to have all the tests run.
8484

85+
Please note that some tests assume a case insensitive accent sensitive database when performing string comparison. Some tests assume SQL user locales to be en-US. They will fail otherwise. With SQL Server, collation with supplementary characters (\_SC suffix on collation name) are no supported by legacy tests on "text" types.
86+
8587
## Submit a Pull Request
8688

8789
Be sure to link to the JIRA issue in your GitHub pull request. Also, go back to your JIRA issue and link to the pull request.
8890

89-
We use tabs for code indentation, not spaces. As this is not the default in Visual Studio, you will need to reconfigure Visual Studio to indent with tabs whenever you work on the NHibernate codebase. To make this easier, NHibernate has an [editorconfig][3] configuration file to switch Visual Studio automatically between tabs and spaces mode. It is recomended you install editorconfig from the Visual Studio Extension Manager.
91+
We use tabs for code indentation, not spaces. As this is not the default in Visual Studio, you will need to reconfigure Visual Studio to indent with tabs whenever you work on the NHibernate codebase. To make this easier, NHibernate has an [editorconfig][3] configuration file to switch Visual Studio automatically between tabs and spaces mode. It is recommended you install editorconfig from the Visual Studio Extension Manager.
92+
93+
After submitting your pull request, come back later to check the outcome of automated builds. If some have failed, they will be listed in your pull request with a link to the corresponding TeamCity build. Find out in the build which tests are newly failing, and take appropriate action. Some of those builds have many known failing tests, which does not trigger a build failure. A *Comparison.txt* file in build Artifacts may help finding which failing tests are not known failing tests and must be addressed.
9094

9195
## Further Discussion
9296

Contributor Guide.html

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,20 @@ <h2>Commit your Test Case</h2>
124124
</p>
125125

126126
<p>
127-
When you commit, please include the issue number in your commit message. This will allow the JIRA issue tracker to link to automatically link your commits to the issue. For example: NH-1234
127+
When you commit, please include the issue number in your commit message. This will allow the JIRA issue tracker to automatically link your commits to the issue. By example: <i>NH-1234 - test case for blah trouble</i>. Make sure you do not put any non whitespace character adjacent to the issue number, as this would prevent JIRA to match it. (Avoid <i>NH-1234: test case for blah trouble</i>.)
128128
</p>
129129

130130
<h2>Implementing the Bug Fix or Improvement</h2>
131131

132-
Since you now have a failing test case, it should be straight-forward to step into NHibernate to attempt to ascertain what the problem is. While this may seem daunting at first, feel free to give it a go. It's just code afterall. :)
132+
Since you now have a failing test case, it should be straight-forward to step into NHibernate to attempt to ascertain what the problem is. While this may seem daunting at first, feel free to give it a go. It's just code after all. :)
133133

134134
<h3>Ensure All Tests Pass</h3>
135-
136-
Once you've made changes to the NHibernate code base, you'll want to ensure that you haven't caused any previously passing tests to fail. The easiest way to check this is to select option D from the build menu, ensure the root tree node is selected, then press run to have all the tests run.
135+
<p>
136+
Once you've made changes to the NHibernate code base, you'll want to ensure that you haven't caused any previously passing tests to fail. The easiest way to check this is to select option D from the build menu, ensure the root tree node is selected, then press run to have all the tests run.
137+
</p>
138+
<p>
139+
Please note that some tests assume a case insensitive accent sensitive database when performing string comparison. Some tests assume SQL user locales to be en-US. They will fail otherwise. With SQL Server, collation with supplementary characters (_SC suffix on collation name) are no supported by legacy tests on "text" types.
140+
</p>
137141

138142
<h2>Submit a Pull Request</h2>
139143

@@ -142,7 +146,10 @@ <h2>Submit a Pull Request</h2>
142146
</p>
143147
<p>We use tabs for code indentation, not spaces. As this is not the default in Visual Studio, you will need to reconfigure Visual Studio to indent with tabs whenever you work on the NHibernate codebase. To make this easier, NHibernate has an
144148
<a href="http://www.editorconfig.org/">editorconfig</a> configuration file to switch Visual Studio automatically between
145-
tabs and spaces mode. It is recomended you install editorconfig from the Visual Studio Extension Manager.</p>
149+
tabs and spaces mode. It is recommended you install editorconfig from the Visual Studio Extension Manager.</p>
150+
<p>
151+
After submitting your pull request, come back later to check the outcome of automated builds. If some have failed, they will be listed in your pull request with a link to the corresponding TeamCity build. Find out in the build which tests are newly failing, and take appropriate action. Some of those builds have many known failing tests, which does not trigger a build failure. A <i>Comparison.txt</i> file in build Artifacts may help finding which failing tests are not known failing tests and must be addressed.
152+
</p>
146153

147154
<h2>Further Discussion</h2>
148155

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ of NHibernate (in no particular order):
6464
* [Log4net][] - logging, by the [Apache Software Foundation][]
6565
* [JetBrains][] - [ReSharper][] licences for NHibernate developers
6666
* [LinFu][] - proxy implementation (Philip Laureano)
67-
* Iesi.Collections - source code taken from an [article][Article] written by Jason Smith
68-
* [Relinq] - Linq provider for NHibernate
67+
* Iesi.Collections - source code taken from an [article][] written by Jason Smith
68+
* [Relinq][] - Linq provider for NHibernate
6969

7070
[NUnit]: http://www.nunit.org
7171
[Nant]: http://nant.sourceforge.net
@@ -79,5 +79,5 @@ of NHibernate (in no particular order):
7979
[JetBrains]: http://www.jetbrains.com
8080
[ReSharper]: http://www.jetbrains.com/resharper
8181
[LinFu]: http://code.google.com/p/linfu
82-
[Article]: http://www.codeproject.com/KB/recipes/sets.aspx "Add Support for "Set" Collections to .NET"
83-
[Relinq]: http://relinq.codeplex.com/ "re-linq: Generic LINQ provider"
82+
[article]: http://www.codeproject.com/KB/recipes/sets.aspx
83+
[Relinq]: http://relinq.codeplex.com/

ShowBuildMenu.bat

Lines changed: 5 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set NANT="%~dp0Tools\nant\bin\NAnt.exe" -t:net-4.0
55
set BUILDTOOL="%~dp0Tools\BuildTool\bin\Release\BuildTool.exe"
66
set AVAILABLE_CONFIGURATIONS=%~dp0available-test-configurations
77
set CURRENT_CONFIGURATION=%~dp0current-test-configuration
8-
set NUNIT="%~dp0Tools\nunit\nunit-x86.exe"
8+
set NUNIT="%~dp0Tools\NUnit.ConsoleRunner.3.6.0\tools\nunit3-console.exe"
99

1010
:main-menu
1111
echo ========================= NHIBERNATE BUILD MENU ==========================
@@ -22,20 +22,16 @@ echo E. Build NHibernate (Debug)
2222
echo F. Build NHibernate (Release)
2323
echo G. Build Release Package (Also runs tests and creates documentation)
2424
echo.
25-
echo --- GRAMMAR ---
26-
echo H. Grammar operations (related to Hql.g and HqlSqlWalker.g)
27-
echo.
2825
echo --- TeamCity (CI) build options
2926
echo I. TeamCity build menu
3027
echo.
3128
echo --- Exit ---
3229
echo X. Make the beautiful build menu go away.
3330
echo.
3431

35-
%BUILDTOOL% prompt ABCDEFGHIX
36-
if errorlevel 9 goto end
37-
if errorlevel 8 goto teamcity-menu
38-
if errorlevel 7 goto grammar-menu
32+
%BUILDTOOL% prompt ABCDEFGIX
33+
if errorlevel 8 goto end
34+
if errorlevel 7 goto teamcity-menu
3935
if errorlevel 6 goto build-release-package
4036
if errorlevel 5 goto build-release
4137
if errorlevel 4 goto build-debug
@@ -161,7 +157,7 @@ echo Configuration activated.
161157
goto main-menu
162158

163159
:test-run
164-
start "" %NUNIT% NHibernate.nunit
160+
start "nunit3-console" cmd /K %NUNIT% --x86 --agents=1 --process=separate NHibernate.nunit
165161
goto main-menu
166162

167163
rem :build-test
@@ -194,77 +190,6 @@ echo including NuGet packages and tools to push them.
194190
echo.
195191
goto main-menu
196192

197-
:grammar-menu
198-
echo.
199-
echo --- GRAMMAR ---
200-
echo A. Regenerate all grammars.
201-
echo Hql.g to HqlLexer.cs
202-
echo Hql.g to HqlParser.cs
203-
echo HqlSqlWalker.g to HqlSqlWalker.cs
204-
echo SqlGenerator.g to SqlGenerator.cs
205-
echo B. Regenerate all grammars, with Hql.g in debug mode.
206-
echo C. Regenerate all grammars, with HqlSqlWalker.g in debug mode.
207-
echo D. Regenerate all grammars, with SqlGenerator.g in debug mode.
208-
echo E. Quick instructions on using debug mode.
209-
echo.
210-
echo X. Exit to main menu.
211-
echo.
212-
213-
%BUILDTOOL% prompt ABCDEX
214-
if errorlevel 5 goto main-menu
215-
if errorlevel 4 goto antlr-debug
216-
if errorlevel 3 goto antlr-sqlgenerator-debug
217-
if errorlevel 2 goto antlr-hqlsqlwalker-debug
218-
if errorlevel 1 goto antlr-hql-debug
219-
if errorlevel 0 goto antlr-all
220-
221-
:antlr-all
222-
echo *** Regenerating from Hql.g
223-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHql.bat
224-
echo *** Regenerating from HqlSqlWalker.g
225-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHqlSqlWalker.bat
226-
echo *** Regenerating from SqlGenerator.g
227-
call src\NHibernate\Hql\Ast\ANTLR\AntlrSqlGenerator.bat
228-
goto main-menu
229-
230-
:antlr-hql-debug
231-
echo *** Regenerating from Hql.g (Debug Enabled)
232-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHqlDebug.bat
233-
echo *** Regenerating from HqlSqlWalker.g
234-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHqlSqlWalker.bat
235-
echo *** Regenerating from SqlGenerator.g
236-
call src\NHibernate\Hql\Ast\ANTLR\AntlrSqlGenerator.bat
237-
goto main-menu
238-
239-
:antlr-hqlsqlwalker-debug
240-
echo *** Regenerating from Hql.g
241-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHql.bat
242-
echo *** Regenerating from HqlSqlWalker.g (Debug Enabled)
243-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHqlSqlWalkerDebug.bat
244-
echo *** Regenerating from SqlGenerator.g
245-
call src\NHibernate\Hql\Ast\ANTLR\AntlrSqlGenerator.bat
246-
goto main-menu
247-
248-
:antlr-sqlgenerator-debug
249-
echo *** Regenerating from Hql.g
250-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHql.bat
251-
echo *** Regenerating from HqlSqlWalker.g
252-
call src\NHibernate\Hql\Ast\ANTLR\AntlrHqlSqlWalker.bat
253-
echo *** Regenerating from SqlGenerator.g (Debug Enabled)
254-
call src\NHibernate\Hql\Ast\ANTLR\AntlrSqlGeneratorDebug.bat
255-
goto main-menu
256-
257-
:antlr-debug
258-
echo To use the debug grammar:
259-
echo 1. Create a unit test that runs the hql parser on the input you're interested in.
260-
echo The one you want to debug must be the first grammar parsed.
261-
echo 2. Run the unit test. It will appear to stall.
262-
echo 3. Download and run AntlrWorks (java -jar AntlrWorks.jar).
263-
echo 4. Open the grammar you intend to debug in AntlrWorks.
264-
echo 5. Choose "Debug Remote" and accept the default port.
265-
echo 6. You should now be connected and able to step through your grammar.
266-
goto main-menu
267-
268193
:teamcity-menu
269194
echo.
270195
echo --- TeamCity (CI) build options

Tools/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
nuget.exe
2+
NUnit.*
3+
vswhere.*

Tools/Antlr/Antlr3.Runtime.Debug.dll

-45 KB
Binary file not shown.

Tools/Antlr/Antlr3.Runtime.dll

-101 KB
Binary file not shown.

Tools/Antlr/Antlr3.exe

-706 KB
Binary file not shown.

Tools/Antlr/Antlr3.exe.config

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

Tools/Antlr/Antlr3.targets

Lines changed: 0 additions & 169 deletions
This file was deleted.
-37.5 KB
Binary file not shown.

Tools/Antlr/Antlr4.StringTemplate.dll

-191 KB
Binary file not shown.

Tools/Antlr/AntlrBuildTask.dll

-17 KB
Binary file not shown.

0 commit comments

Comments
 (0)