Skip to content

Commit

Permalink
Merge pull request #62 from LinqToDB4iSeries/v4.0.0
Browse files Browse the repository at this point in the history
V4.0.1
  • Loading branch information
nsarris authored Jun 1, 2022
2 parents 7bc6590 + d037e1f commit 016a9db
Show file tree
Hide file tree
Showing 335 changed files with 44,559 additions and 5,068 deletions.
15 changes: 15 additions & 0 deletions Build/BannedSymbols.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
T:System.Collections.Concurrent.ConcurrentBag`1;Don't use it, it is flawed type: https://github.com/linq2db/linq2db/pull/2066
T:System.Data.IColumnMapping;Use DataColumnMapping class instead of ADO.NET interfaces
T:System.Data.IColumnMappingCollection;Use ColumnMappingCollection class instead of ADO.NET interfaces
T:System.Data.IDataAdapter;Use DataAdapter class instead of ADO.NET interfaces
T:System.Data.IDataParameter;Use DbParameter class instead of ADO.NET interfaces
T:System.Data.IDataParameterCollection;Use DbParameterCollection class instead of ADO.NET interfaces
T:System.Data.IDataReader;Use DbDataReader class instead of ADO.NET interfaces
T:System.Data.IDataRecord;Use DbDataRecord class instead of ADO.NET interfaces
T:System.Data.IDbCommand;Use DbCommand class instead of ADO.NET interfaces
T:System.Data.IDbConnection;Use DbConnection class instead of ADO.NET interfaces
T:System.Data.IDbDataAdapter;Use DbDataAdapter class instead of ADO.NET interfaces
T:System.Data.IDbDataParameter;Use DbParameter class instead of ADO.NET interfaces
T:System.Data.IDbTransaction;Use DbTransaction class instead of ADO.NET interfaces
T:System.ThreadStaticAttribute;don't do it
M:System.Linq.Expressions.Expression.Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo); use overload with PropertyInfo parameter
34 changes: 28 additions & 6 deletions Build/linq2db.Default.props
Original file line number Diff line number Diff line change
@@ -1,28 +1,50 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Version>3.7.0</Version>
<Version>4.0.1</Version>

<Description>LINQ to DB is a data access technology that provides a run-time infrastructure for managing relational data as objects. This package is a provider for DB2 on the IBM iSeries.</Description>
<Authors>Roy Chase, Nikos Sarris</Authors>
<RepositoryUrl>https://github.com/LinqToDB4iSeries/Linq2DB4iSeries</RepositoryUrl>
<RepositoryType>git</RepositoryType>

<AppDesignerFolder>Properties</AppDesignerFolder>
<LangVersion>10.0</LangVersion>
<Nullable>enable</Nullable>
<WarningLevel>4</WarningLevel>
<ErrorReport>prompt</ErrorReport>
<NoWarn>1591</NoWarn>
<NoWarn>1573;1591</NoWarn>
<AnalysisLevel>preview</AnalysisLevel>

<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<SignAssembly>True</SignAssembly>
<DelaySign>False</DelaySign>

<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>true</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>true</GenerateAssemblyFileVersionAttribute>
<GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>

<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>

<!--required for SkipLocalInit-->
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

<PropertyGroup Condition="'$(TargetFramework)' != 'net45' AND '$(TargetFramework)' != 'net46'">
<DefineConstants>NATIVE_ASYNC;$(DefineConstants)</DefineConstants>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" />
<AdditionalFiles Include="$(MSBuildThisFileDirectory)/BannedSymbols.txt" />

<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>build; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>
102 changes: 102 additions & 0 deletions Build/linq2db.Providers.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project="linq2db.Tests.props" />

<PropertyGroup>
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB3270;MSB3277</MSBuildWarningsAsMessages>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Npgsql" />
<PackageReference Include="System.Data.SQLite.Core" />
<PackageReference Include="MySql.Data" Aliases="MySqlData" />
<PackageReference Include="MySqlConnector" Aliases="MySqlConnector" />
<PackageReference Include="FirebirdSql.Data.FirebirdClient" />
<PackageReference Include="AdoNetCore.AseClient" />
<PackageReference Include="System.Data.SqlClient" />
<PackageReference Include="Microsoft.Data.SqlClient" />
<PackageReference Include="Microsoft.Data.SQLite" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net472' ">
<PackageReference Include="Oracle.ManagedDataAccess" />
<PackageReference Include="Microsoft.SqlServer.Types" />

<!--<Reference Include="IBM.Data.Informix">
<HintPath>$(MSBuildThisFileDirectory)\..\Redist\IBM\IBM.Data.Informix.dll</HintPath>
</Reference>
<Reference Include="Oracle.DataAccess">
<HintPath>$(MSBuildThisFileDirectory)\..\Redist\Oracle\Oracle.DataAccess.dll</HintPath>
</Reference>-->
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' != 'net472' ">
<PackageReference Include="System.Data.Odbc" />
<PackageReference Include="System.Data.OleDb" />
<PackageReference Include="Oracle.ManagedDataAccess.Core" />

<!--nuget doesn't have strong name, so we use local self-signed copy-->
<!--<PackageReference Include="dotMorten.Microsoft.SqlServer.Types" />-->
<!--<Reference Include="Microsoft.SqlServer.Types">
<HintPath>$(MSBuildThisFileDirectory)\..\Redist\dotMorten.Microsoft.SqlServer.Types\Microsoft.SqlServer.Types.dll</HintPath>
</Reference>-->
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net472' ">
<Reference Include="IBM.Data.DB2.iSeries">
<HintPath>..\..\Redist\IBM.Data.DB2.iSeries.dll</HintPath>
</Reference>

<PackageReference Include="IBM.Data.DB.Provider" GeneratePathProperty="true" />
<Reference Include="IBM.Data.DB2">
<HintPath>$(PkgIBM_Data_DB_Provider)\build\net451\x64\IBM.Data.DB2.dll</HintPath>
</Reference>
</ItemGroup>

<!--some magic to not include x64 reference to IBM.Data.DB2.Core in x86 builds, as it fails x86 tests-->
<Choose>
<When Condition="$(X86) == ''">
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' ">
<!--PackageReference + Reference beelongs to same nuget-->
<PackageReference Include="IBM.Data.DB.Provider" GeneratePathProperty="true" />
<Reference Include="IBM.Data.DB2">
<HintPath>$(PkgIBM_Data_DB_Provider)\build\net451\x86\IBM.Data.DB2.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
<PackageReference Include="IBM.Data.DB2.Core" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' " />
<PackageReference Include="IBM.Data.DB2.Core-lnx" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' " />
<PackageReference Include="IBM.Data.DB2.Core-osx" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' "/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageReference Include="Net.IBM.Data.Db2" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' " />
<PackageReference Include="Net.IBM.Data.Db2-lnx" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' " />
<PackageReference Include="Net.IBM.Data.Db2-osx" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' "/>
</ItemGroup>
</When>
</Choose>

<!--<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.1' ">
--><!--magic--><!--
<PackageReference Include="IBM.Data.DB2.Core" Version="1.3.0.100" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' " />
<PackageReference Include="IBM.Data.DB2.Core-lnx" Version="1.3.0.100" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' " />
<PackageReference Include="IBM.Data.DB2.Core-osx" Version="1.3.0.100" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' "/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">
--><!--magic--><!--
<PackageReference Include="IBM.Data.DB2.Core" Version="2.2.0.100" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' " />
<PackageReference Include="IBM.Data.DB2.Core-lnx" Version="2.2.0.100" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' " />
<PackageReference Include="IBM.Data.DB2.Core-osx" Version="2.0.0.100" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' "/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
--><!--magic--><!--
<PackageReference Include="IBM.Data.DB2.Core" Version="3.1.0.300" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' " />
<PackageReference Include="IBM.Data.DB2.Core-lnx" Version="3.1.0.300" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' " />
<PackageReference Include="IBM.Data.DB2.Core-osx" Version="3.1.0.300" Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' "/>
</ItemGroup>-->



</Project>
2 changes: 1 addition & 1 deletion Build/linq2db.Source.props
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1">
<PackageReference Include="Microsoft.SourceLink.GitHub">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
Expand Down
56 changes: 56 additions & 0 deletions Build/linq2db.TestProjects.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project="linq2db.Providers.props" />

<PropertyGroup>
<NoWarn>$(NoWarn);CS0649;CS8012</NoWarn>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\FSharp\Tests.FSharp.fsproj" />
<ProjectReference Include="..\Base\Tests.Base.csproj" />

<None Include="..\..\Data\*">
<Link>Database/%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\Data\Create Scripts\*">
<Link>Database/Create Scripts/%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<ItemGroup>
<PackageReference Include="FluentAssertions" />
<PackageReference Include="NodaTime" />
<PackageReference Include="NUnit3TestAdapter" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="System.Linq.Dynamic.Core" />
<!--don't remove, it is used for T4 nugets build-->
<PackageReference Include="Humanizer.Core" />
<PackageReference Include="JetBrains.Annotations" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net472' ">
<Reference Include="System.Data.Services" />
<Reference Include="System.ServiceModel" />

<PackageReference Include="Microsoft.AspNet.OData" />

<!--<None Include="$(MSBuildThisFileDirectory)\..\Redist\SqlServerTypes\x64\*.dll">
<Link>SqlServerTypes/x64/%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\..\Redist\SqlServerTypes\x86\*.dll">
<Link>SqlServerTypes/x86/%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>-->

</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' != 'net472' ">
<PackageReference Include="Microsoft.AspNetCore.OData" />
</ItemGroup>

</Project>
93 changes: 0 additions & 93 deletions Build/linq2db.Tests.Providers.props

This file was deleted.

23 changes: 6 additions & 17 deletions Build/linq2db.Tests.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,25 @@
<Import Project="linq2db.Default.props" />

<PropertyGroup>
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
<TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks>
<Configurations>Debug;Release;</Configurations>
<NoWarn>$(NoWarn);CS0649;CS0429</NoWarn>
<DefineConstants>$(DefineConstants)</DefineConstants>
<DefineConstants Condition="$(X86) != ''">$(DefineConstants);X86</DefineConstants>

<AssemblyOriginatorKeyFile>..\..\Build\linq2db.snk</AssemblyOriginatorKeyFile>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\Source\ISeriesProvider\LinqToDB.DataProvider.DB2iSeries.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="linq2db.Tools" Version="3.7.0" />
<PackageReference Update="linq2db.AspNet" Version="3.7.0" />
<PackageReference Include="NUnit" Version="3.13.2" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="FastExpressionCompiler" Version="3.3.2" />
<PackageReference Include="NodaTime" Version="3.0.5" />
<PackageReference Include="FluentAssertions" Version="6.2.0" />
<PackageReference Include="linq2db.Tools" />
<PackageReference Include="linq2db.AspNet" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net472' ">
<Reference Include="System.Data.Linq" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Transactions" />

<PackageReference Include="System.Collections.Immutable" Version="5.0.0" />
</ItemGroup>

</Project>
Loading

0 comments on commit 016a9db

Please sign in to comment.