Skip to content

Commit 1aee912

Browse files
authored
linq2db 6 migration (#127)
* linq2db 6 migration * ci fix * test * build fixes
1 parent 1a1d4bd commit 1aee912

25 files changed

+294
-176
lines changed

.editorconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,15 @@ dotnet_diagnostic.MA0051.severity = none
265265
dotnet_diagnostic.MA0053.severity = none
266266
# MA0101: String contains an implicit end of line character
267267
dotnet_diagnostic.MA0101.severity = none
268+
# MA0110: Use the Regex source generator
269+
dotnet_diagnostic.MA0110.severity = none
268270
# MA0111: Use string.Create instead of FormattableString
269271
dotnet_diagnostic.MA0111.severity = none
270272
# MA0144: Use System.OperatingSystem to check the current OS
271273
dotnet_diagnostic.MA0144.severity = none
272274
# MA0154: Use langword in XML comment
273275
dotnet_diagnostic.MA0154.severity = none
276+
# MA0159: Use Order instead of OrderBy
277+
dotnet_diagnostic.MA0159.severity = none
278+
# MA0165: Make interpolated string
279+
dotnet_diagnostic.MA0165.severity = none

Build/BuildNuspecs.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if ($version) {
3737
$xml.package.metadata.AppendChild($child)
3838

3939
$child = $xml.CreateElement('copyright', $nsUri)
40-
$child.InnerText = 'Copyright © 2016-2024 ' + $authors
40+
$child.InnerText = 'Copyright © 2016-2025 ' + $authors
4141
$xml.package.metadata.AppendChild($child)
4242

4343
$child = $xml.CreateElement('authors', $nsUri)

Build/Pack.cmd

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,39 @@
1-
ECHO OFF
1+
ECHO ON
22
ECHO Packing %2
33

4-
DEL linq2db.LINQPad.%2
5-
DEL linq2db.LINQPad.%2.zip
4+
SET RELDIR=%1..\..\..\..\releases
5+
SET RESDIR=%1..\..\..\..\..\Build
6+
7+
DEL %RELDIR%\linq2db.LINQPad.%2
8+
DEL %RELDIR%\linq2db.LINQPad.%2.zip
69

710
REM LINQPad 5 driver archive generation
811
IF %2 EQU lpx (
912
REM remove resource satellite assemblies
10-
RD /S /Q %1\cs
11-
RD /S /Q %1\de
12-
RD /S /Q %1\es
13-
RD /S /Q %1\fr
14-
RD /S /Q %1\it
15-
RD /S /Q %1\ja
16-
RD /S /Q %1\ko
17-
RD /S /Q %1\pl
18-
RD /S /Q %1\pt
19-
RD /S /Q %1\pt-BR
20-
RD /S /Q %1\ru
21-
RD /S /Q %1\tr
22-
RD /S /Q %1\zh-Hans
23-
RD /S /Q %1\zh-Hant
13+
RD /S /Q %1cs
14+
RD /S /Q %1de
15+
RD /S /Q %1es
16+
RD /S /Q %1fr
17+
RD /S /Q %1it
18+
RD /S /Q %1ja
19+
RD /S /Q %1ko
20+
RD /S /Q %1pl
21+
RD /S /Q %1pt
22+
RD /S /Q %1pt-BR
23+
RD /S /Q %1ru
24+
RD /S /Q %1tr
25+
RD /S /Q %1zh-Hans
26+
RD /S /Q %1zh-Hant
2427

2528
REM remove not needed files
26-
DEL /Q %1\linq2db.*.xml
27-
DEL /Q %1\*.pdb
29+
DEL /Q %1linq2db.*.xml
30+
DEL /Q %1*.pdb
2831

29-
"C:\Program Files\7-Zip\7z.exe" -r a linq2db.LINQPad.%2.zip %1\*.* %1\..\..\..\..\Build\Connection.png %1\..\..\..\..\Build\FailedConnection.png %1\..\..\..\..\Build\header.xml
32+
"C:\Program Files\7-Zip\7z.exe" -r a %RELDIR%\linq2db.LINQPad.%2.zip %1*.* %RESDIR%\Connection.png %RESDIR%\FailedConnection.png %RESDIR%\header.xml
3033
)
3134

3235
REM LINQPad 7 driver archive generation
33-
IF %2 EQU lpx6 ("C:\Program Files\7-Zip\7z.exe" a linq2db.LINQPad.%2.zip %1\linq2db.LINQPad.dll %1\..\..\..\..\Build\Connection.png %1\..\..\..\..\Build\FailedConnection.png %1\linq2db.LINQPad.deps.json)
36+
IF %2 EQU lpx6 ("C:\Program Files\7-Zip\7z.exe" a %RELDIR%\linq2db.LINQPad.%2.zip %1linq2db.LINQPad.dll %RESDIR%\Connection.png %RESDIR%\FailedConnection.png %1linq2db.LINQPad.deps.json)
3437

35-
REN linq2db.LINQPad.%2.zip linq2db.LINQPad.%2
38+
REN %RELDIR%\linq2db.LINQPad.%2.zip linq2db.LINQPad.%2
3639

Build/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
# LINQ to DB LINQPad 7 Driver
1+
# LINQ to DB LINQPad 8 Driver
22

3-
This nuget package is a driver for [LINQPad 7](http://www.linqpad.net). Support for LINQPad 6 is available via older 4.x drivers.
3+
This nuget package is a driver for [LINQPad 8](http://www.linqpad.net). Support for older versions of LINQPad is available via older versions drivers.
44

55
Following databases supported:
66

77
- **ClickHouse**: using Binary, HTTP and MySQL interfaces
8-
- **DB2** (LUW, z/OS): x64-bit version of LINQPad only
8+
- **DB2** (LUW, z/OS, iSeries): x64-bit version of LINQPad only
9+
- **DB2 iSeries**: check release notes to see which version supports this database
910
- **Firebird**
1011
- **Informix**: x64-bit version of LINQPad only
1112
- **Microsoft Access**: both OLE DB and ODBC drivers

Build/azure-pipelines.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
variables:
22
solution: 'linq2db.LINQPad.sln'
33
build_configuration: 'Release'
4-
assemblyVersion: 5.4.2.0
5-
nugetVersion: 5.4.2
6-
nugetDevVersion: 5.4.3
7-
nugetPRVersion: 5.4.3
4+
assemblyVersion: 6.0.0
5+
nugetVersion: 6.0.0-preview.3
6+
nugetDevVersion: 6.0.0
7+
nugetPRVersion: 6.0.0
88
artifact_lpx: 'lpx'
99
artifact_lpx6: 'lpx6'
1010
artifact_nuget: 'nuget'
@@ -40,22 +40,22 @@ stages:
4040
arguments: -path $(Build.SourcesDirectory)/Source/linq2db.LINQPad.csproj -version $(assemblyVersion)
4141
displayName: Update Assembly Version
4242

43-
- task: MSBuild@1
43+
- task: DotNetCoreCLI@2
4444
inputs:
45-
solution: '$(solution)'
45+
command: build
46+
projects: '$(solution)'
4647
configuration: '$(build_configuration)'
47-
msbuildArguments: '/t:Restore;Rebuild -m'
4848
displayName: Build Solution
4949

5050
- task: PublishPipelineArtifact@1
5151
inputs:
52-
path: '$(Build.SourcesDirectory)/Source/linq2db.LINQPad.lpx'
52+
path: '$(Build.SourcesDirectory)/.build/releases/linq2db.LINQPad.lpx'
5353
artifact: '$(artifact_lpx)'
5454
displayName: Publish .LPX to Artifacts
5555

5656
- task: PublishPipelineArtifact@1
5757
inputs:
58-
path: '$(Build.SourcesDirectory)/Source/linq2db.LINQPad.lpx6'
58+
path: '$(Build.SourcesDirectory)/.build/releases/linq2db.LINQPad.lpx6'
5959
artifact: '$(artifact_lpx6)'
6060
displayName: Publish .LPX6 to Artifacts
6161

@@ -78,21 +78,21 @@ stages:
7878
- task: NuGetCommand@2
7979
inputs:
8080
command: 'custom'
81-
arguments: 'pack "$(Build.SourcesDirectory)/Build/linq2db.LINQPad.nuspec" -OutputDirectory "$(Build.SourcesDirectory)/Build/built"'
81+
arguments: 'pack "$(Build.SourcesDirectory)/Build/linq2db.LINQPad.nuspec" -OutputDirectory "$(Build.SourcesDirectory)/.build/nugets"'
8282
condition: or (eq(variables['Build.SourceBranchName'], 'master'), eq(variables['Build.SourceBranchName'], 'release'))
8383
displayName: Generate linq2db.LINQPad.nupkg
8484

8585
- task: PublishPipelineArtifact@1
8686
inputs:
87-
path: '$(Build.SourcesDirectory)/Build/built/'
87+
path: '$(Build.SourcesDirectory)/.build/nugets/'
8888
artifact: '$(artifact_nuget)'
8989
condition: or (eq(variables['Build.SourceBranchName'], 'master'), eq(variables['Build.SourceBranchName'], 'release'))
9090
displayName: Publish nuget to Artifacts
9191

9292
- task: NuGetCommand@2
9393
inputs:
9494
command: 'push'
95-
packagesToPush: '$(Build.SourcesDirectory)/Build/built/*.nupkg'
95+
packagesToPush: '$(Build.SourcesDirectory)/.build/nugets/*.nupkg'
9696
nuGetFeedType: 'internal'
9797
publishVstsFeed: '0dcc414b-ea54-451e-a54f-d63f05367c4b/967a4107-9788-41a4-9f6d-a2318aab1410'
9898
displayName: Publish to Azure Artifacts feed
@@ -101,7 +101,7 @@ stages:
101101
- task: NuGetCommand@2
102102
inputs:
103103
command: 'push'
104-
packagesToPush: '$(Build.SourcesDirectory)/Build/built/*.nupkg'
104+
packagesToPush: '$(Build.SourcesDirectory)/.build/nugets/*.nupkg'
105105
nuGetFeedType: 'external'
106106
publishFeedCredentials: 'linq2db nuget.org feed'
107107
displayName: Publish to Nuget.org

Build/linq2db.LINQPad.nuspec

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,42 +10,42 @@
1010
</tags>
1111
<readme>README.md</readme>
1212
<dependencies>
13-
<group targetFramework="net6.0">
14-
<dependency id="linq2db" version="5.4.1" />
15-
<dependency id="linq2db.Tools" version="5.4.1" />
13+
<group targetFramework="net8.0">
14+
<dependency id="linq2db.Tools" version="6.0.0-preview.3" />
15+
<dependency id="linq2db.Scaffold" version="6.0.0-preview.3" />
1616

1717
<dependency id="LINQPad.Reference" version="1.3.1" />
1818

19-
<dependency id="System.Configuration.ConfigurationManager" version="8.0.1" />
20-
<dependency id="Microsoft.CodeAnalysis.CSharp" version="4.11.0" />
19+
<dependency id="System.Configuration.ConfigurationManager" version="9.0.1" />
20+
<dependency id="Microsoft.CodeAnalysis.CSharp" version="4.12.0" />
2121

22-
<dependency id="FirebirdSql.Data.FirebirdClient" version="10.3.1" />
23-
<dependency id="MySqlConnector" version="2.3.7" />
22+
<dependency id="FirebirdSql.Data.FirebirdClient" version="10.3.2" />
23+
<dependency id="MySqlConnector" version="2.4.0" />
2424
<dependency id="AdoNetCore.AseClient" version="0.19.2" />
2525
<dependency id="System.Data.SQLite.Core" version="1.0.119" />
26-
<dependency id="Microsoft.Data.SqlClient" version="5.2.2" />
26+
<dependency id="Microsoft.Data.SqlClient" version="6.0.1" />
2727
<dependency id="Microsoft.SqlServer.Types" version="160.1000.6" />
28-
<dependency id="System.Data.Odbc" version="8.0.1" />
29-
<dependency id="System.Data.OleDb" version="8.0.1" />
30-
<dependency id="Npgsql" version="8.0.4" />
31-
<dependency id="Oracle.ManagedDataAccess.Core" version="23.6.0" />
32-
<dependency id="Net.IBM.Data.Db2" version="7.0.0.400" />
33-
<dependency id="ClickHouse.Client" version="7.8.0" />
28+
<dependency id="System.Data.Odbc" version="9.0.1" />
29+
<dependency id="System.Data.OleDb" version="9.0.1" />
30+
<dependency id="Npgsql" version="9.0.2" />
31+
<dependency id="Oracle.ManagedDataAccess.Core" version="23.7.0" />
32+
<dependency id="Net.IBM.Data.Db2" version="8.0.0.300" />
33+
<dependency id="ClickHouse.Client" version="7.10.0" />
3434
<dependency id="Octonica.ClickHouseClient" version="3.1.3" />
35-
<dependency id="linq2db4iSeries" version="5.4.0" />
35+
<!--<dependency id="linq2db4iSeries" version="5.4.0" />-->
3636
</group>
3737
</dependencies>
3838
<frameworkReferences>
39-
<group targetFramework="net6.0">
39+
<group targetFramework="net8.0">
4040
<frameworkReference name="Microsoft.WindowsDesktop.App.WPF" />
4141
</group>
4242
</frameworkReferences>
4343
</metadata>
4444

4545
<files>
46-
<file src="..\Source\bin\Release\net6.0-windows\linq2db.LINQPad.dll" target="lib\net6.0\" />
47-
<file src="Connection.png" target="lib\net6.0\" />
48-
<file src="FailedConnection.png" target="lib\net6.0\" />
49-
<file src="README.md" />
46+
<file src="..\.build\bin\linq2db.LINQPad\Release\net8.0-windows\linq2db.LINQPad.dll" target="lib\net8.0\" />
47+
<file src="Connection.png" target="lib\net8.0\" />
48+
<file src="FailedConnection.png" target="lib\net8.0\" />
49+
<file src="README.md" />
5050
</files>
5151
</package>

Directory.Build.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<PropertyGroup>
3+
<ArtifactsPath>$(MSBuildThisFileDirectory).build</ArtifactsPath>
4+
<ArtifactsPivots>$(Configuration)\$(TargetFramework)</ArtifactsPivots>
5+
</PropertyGroup>
6+
</Project>

Directory.Packages.props

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,47 @@
11
<Project>
22
<ItemGroup>
3-
<PackageVersion Include="linq2db" Version="5.4.1" />
4-
<PackageVersion Include="linq2db.Tools" Version="5.4.1" />
3+
<!--temporary due to bad nuget dep-->
4+
<PackageVersion Include="linq2db.Tools" Version="6.0.0-preview.3" />
5+
<PackageVersion Include="linq2db.Scaffold" Version="6.0.0-preview.3" />
56

67
<PackageVersion Include="LINQPad.Reference" Version="1.3.1" />
78

8-
<PackageVersion Include="PolySharp" Version="1.14.1" />
9+
<PackageVersion Include="PolySharp" Version="1.15.0" />
910

10-
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.169" />
11-
<PackageVersion Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.11.0-beta1.24454.1" />
12-
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0-preview.24454.1" />
11+
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.186" />
12+
<PackageVersion Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.11.0-beta1.24605.2" />
13+
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0-preview.24605.2" />
1314

14-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
15-
<PackageVersion Include="System.ValueTuple" Version="4.5.0" />
15+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
16+
17+
<!-- must be pinned to avoid LinqPAD 5 issues (it will not show in list of available connections in Add connection dialog).
18+
Meaning some other dependencies that need 4.6.0+ version
19+
also should be pinned for netfx:
20+
FirebirdClient: pinned to 10.3.1
21+
-->
1622
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
17-
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
18-
<PackageVersion Include="System.Memory" Version="4.5.5" />
19-
<PackageVersion Include="System.Buffers" Version="4.5.1" />
20-
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
21-
<!--don't update those two to 8+ till linq2db reference Microsoft.Bcl.AsyncInterfaces v7 in netfx build-->
22-
<PackageVersion Include="System.Text.Json" Version="7.0.4" />
23-
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" />
23+
24+
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.0" />
25+
<PackageVersion Include="System.Memory" Version="4.6.0" />
26+
<PackageVersion Include="System.Buffers" Version="4.6.0" />
27+
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="9.0.1" />
28+
<PackageVersion Include="System.Text.Json" Version="9.0.1" />
2429

2530
<PackageVersion Include="System.Data.SQLite.Core" Version="1.0.119" />
26-
<PackageVersion Include="System.Data.Odbc" Version="8.0.1" />
27-
<PackageVersion Include="System.Data.OleDb" Version="8.0.1" />
28-
<PackageVersion Include="MySqlConnector" Version="2.3.7" />
31+
<PackageVersion Include="System.Data.Odbc" Version="9.0.1" />
32+
<PackageVersion Include="System.Data.OleDb" Version="9.0.1" />
33+
<PackageVersion Include="MySqlConnector" Version="2.4.0" />
2934
<PackageVersion Include="AdoNetCore.AseClient" Version="0.19.2" />
3035
<PackageVersion Include="IBM.Data.DB.Provider" Version="11.5.9000.4" GeneratePathProperty="true" />
31-
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
32-
<PackageVersion Include="Oracle.ManagedDataAccess" Version="23.6.0" />
33-
<PackageVersion Include="Oracle.ManagedDataAccess.Core" Version="23.6.0" />
34-
<!--don't update to v8+ as we need to support net6.0 TFM-->
35-
<PackageVersion Include="Net.IBM.Data.Db2" Version="7.0.0.400" />
36-
<PackageVersion Include="ClickHouse.Client" Version="7.8.0" />
37-
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.3.1" />
38-
<PackageVersion Include="Npgsql" Version="8.0.4" />
36+
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.0.1" />
37+
<PackageVersion Include="Oracle.ManagedDataAccess" Version="23.7.0" />
38+
<PackageVersion Include="Oracle.ManagedDataAccess.Core" Version="23.7.0" />
39+
<PackageVersion Include="Net.IBM.Data.Db2" Version="8.0.0.300" />
40+
<PackageVersion Include="ClickHouse.Client" Version="7.10.0" />
41+
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.3.2" Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))" />
42+
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.3.1" Condition="!$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))" />
43+
<PackageVersion Include="Npgsql" Version="9.0.2" Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))" />
44+
<PackageVersion Include="Npgsql" Version="8.0.6" Condition="!$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))" />
3945
<PackageVersion Include="Octonica.ClickHouseClient" Version="3.1.3" />
4046
<PackageVersion Include="linq2db4iSeries" Version="5.4.0" />
4147

MIT-LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2016-2024 Linq To DB Team
1+
Copyright (c) 2016-2025 Linq To DB Team
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy
44
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)