Skip to content

Commit

Permalink
#380 Add net60 as additional target framework (#381)
Browse files Browse the repository at this point in the history
* #380 Add net 6 to STJ project and make other dependencies conditional
* Optimize package properties.
* Fix nullability and warning issues for Demo and Performance projects
  • Loading branch information
thompson-tomo committed May 12, 2024
1 parent b438ccd commit 6c03255
Show file tree
Hide file tree
Showing 13 changed files with 47 additions and 173 deletions.
4 changes: 3 additions & 1 deletion src/Demo/Demo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<TargetFrameworks>net6.0-windows</TargetFrameworks>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>SmartFormat.Demo.ico</ApplicationIcon>
<LangVersion>8.0</LangVersion>
<Nullable>disable</Nullable>
<NoWarn>1591,1573</NoWarn>
</PropertyGroup>

<ItemGroup>
Expand Down
3 changes: 0 additions & 3 deletions src/Demo/ThirdParty/RTFLib/RTFRowDefinition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ namespace RTF
using System.Drawing;
using System.Windows.Forms;

/// <summary>
///
/// </summary>
// ----------------------------------------------------------------------------------------
// _ ___ _..-._ Date: 12/11/08 23:49
// \`.|\..----...-'` `-._.-'' _.-..'
Expand Down
21 changes: 21 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,27 @@
<AnalysisModeSecurity>All</AnalysisModeSecurity>
<AnalysisLevel>latest</AnalysisLevel>
<Features>strict</Features>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461;net6.0</TargetFrameworks>
<PackageReleaseNotes>
Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>

<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

</Project>
4 changes: 3 additions & 1 deletion src/Performance/Performance.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFrameworks>net6.0</TargetFrameworks>
<LangVersion>9.0</LangVersion>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<Nullable>disable</Nullable>
<NoWarn>1591,1573</NoWarn>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 2 additions & 0 deletions src/Performance_v27/Performance_v27.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
<SignAssembly>true</SignAssembly>
<AssemblyName>Performance_v27</AssemblyName>
<RootNamespace>Performance</RootNamespace>
<Nullable>disable</Nullable>
<NoWarn>1591,1573</NoWarn>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,9 @@ It uses extensions to provide named placeholders, localization, pluralization, g
<AssemblyTitle>SmartFormat.Extensions.Newtonsoft.Json</AssemblyTitle>
<AssemblyName>SmartFormat.Extensions.Newtonsoft.Json</AssemblyName>
<PackageId>SmartFormat.Extensions.Newtonsoft.Json</PackageId>
<PackageReleaseNotes>Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<PackageTags>string-format stringformat template templating string-composition smartformat smart-format netstandard netcore netframework csharp c-sharp</PackageTags>
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,10 @@ It uses extensions to provide named placeholders, localization, pluralization, g
<AssemblyTitle>SmartFormat.Extensions.System.Text.Json</AssemblyTitle>
<AssemblyName>SmartFormat.Extensions.System.Text.Json</AssemblyName>
<PackageId>SmartFormat.Extensions.System.Text.Json</PackageId>
<PackageReleaseNotes>Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<PackageTags>string-format stringformat template templating string-composition smartformat smart-format netstandard netcore netframework csharp c-sharp</PackageTags>
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461' or '$(TargetFramework)' == 'netStandard2.0' or '$(TargetFramework)' == 'netStandard2.1'">
<PackageReference Include="System.Text.Json" Version="6.0.2" />
</ItemGroup>

Expand Down
26 changes: 0 additions & 26 deletions src/SmartFormat.Extensions.Time/SmartFormat.Extensions.Time.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,9 @@ It uses extensions to provide named placeholders, localization, pluralization, g
<AssemblyTitle>SmartFormat.Extensions.Time</AssemblyTitle>
<AssemblyName>SmartFormat.Extensions.Time</AssemblyName>
<PackageId>SmartFormat.Extensions.Time</PackageId>
<PackageReleaseNotes>Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<PackageTags>string-format stringformat template templating string-composition smartformat smart-format netstandard netcore netframework csharp c-sharp</PackageTags>
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\SmartFormat\SmartFormat.csproj" />
<None Include="../../SmartFormat_365x365.png" Pack="true" Visible="false" PackagePath="/" />
Expand Down
26 changes: 0 additions & 26 deletions src/SmartFormat.Extensions.Xml/SmartFormat.Extensions.Xml.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,9 @@ It uses extensions to provide named placeholders, localization, pluralization, g
<AssemblyTitle>SmartFormat.Extensions.Xml</AssemblyTitle>
<AssemblyName>SmartFormat.Extensions.Xml</AssemblyName>
<PackageId>SmartFormat.Extensions.Xml</PackageId>
<PackageReleaseNotes>Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<PackageTags>string-format stringformat template templating string-composition smartformat smart-format netstandard netcore netframework csharp c-sharp</PackageTags>
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\SmartFormat\SmartFormat.csproj" />
<None Include="../../SmartFormat_365x365.png" Pack="true" Visible="false" PackagePath="/" />
Expand Down
22 changes: 0 additions & 22 deletions src/SmartFormat.Net/SmartFormat.Net.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,9 @@ It can format various data sources into a string with a minimal, intuitive synta
It uses extensions to provide named placeholders, localization, pluralization, gender conjugation, and list and time formatting.
</Description>
<AssemblyTitle>SmartFormat.Net</AssemblyTitle>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AssemblyName>SmartFormat.Net</AssemblyName>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PackageId>SmartFormat.NET</PackageId>
<PackageReleaseNotes>Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<PackageTags>string-format stringformat template templating string-composition smartformat smart-format netstandard netcore netframework csharp c-sharp</PackageTags>
<Nullable>enable</Nullable>
<WarningsAsErrors>nullable</WarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
Expand Down
22 changes: 8 additions & 14 deletions src/SmartFormat.ZString/SmartFormat.ZString.csproj
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<!-- Current Cysharp.ZString release version is 2.5.1 -->
<RootNamespace>SmartFormat.ZString</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>1701;1702;1591</NoWarn>
<!-- NuGet Packaging -->
<IsPackable>false</IsPackable>
Expand All @@ -14,14 +12,6 @@
<Copyright>© Cysharp, Inc.</Copyright>
<PackageTags>string;</PackageTags>
<Description>Zero allocation StringBuilder for .NET Core and Unity.</Description>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<RepositoryUrl>https://github.com/axuno/SmartFormat</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
Expand Down Expand Up @@ -75,14 +65,18 @@
<None Remove="repo\tests\**" />
</ItemGroup>

<ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461' or '$(TargetFramework)' == 'netStandard2.0'">
<PackageReference Include="System.Memory" Version="4.5.4" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net461' or '$(TargetFramework)' == 'netStandard2.0' or '$(TargetFramework)' == 'netStandard2.1'">
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
</ItemGroup>

<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
<_Parameter1>SmartFormat.ZString.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100a1cdb8ba81e1a00f0f9509a8f0c896e0de0da6875652fffd44fb867e6b78fd78c31c6fdb07544b2ae53ed4b56daa90333d32ac14387f7f68d39165da8f99b8c294c1cee1bcc4bbcbe2dd73879824b53708837f425e2bf5c7d2cf868de9548c44871888bf9db5cb425064dda4b17134f8e3b52e1f686315a1832043c7b58fb0ac</_Parameter1>
</AssemblyAttribute>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
<_Parameter1>SmartFormat.ZString.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100a1cdb8ba81e1a00f0f9509a8f0c896e0de0da6875652fffd44fb867e6b78fd78c31c6fdb07544b2ae53ed4b56daa90333d32ac14387f7f68d39165da8f99b8c294c1cee1bcc4bbcbe2dd73879824b53708837f425e2bf5c7d2cf868de9548c44871888bf9db5cb425064dda4b17134f8e3b52e1f686315a1832043c7b58fb0ac</_Parameter1>
</AssemblyAttribute>
</ItemGroup>

</Project>
6 changes: 6 additions & 0 deletions src/SmartFormat.sln
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SmartFormat.Net", "SmartFor
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SmartFormat.Extensions.Time", "SmartFormat.Extensions.Time\SmartFormat.Extensions.Time.csproj", "{62553041-4606-47FC-B44E-8D6D51F23E22}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0E3785E7-6A2D-48E9-821B-1BCF96314066}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down
30 changes: 3 additions & 27 deletions src/SmartFormat/SmartFormat.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,12 @@ It can format various data sources into a string with a minimal, intuitive synta
It uses extensions to provide named placeholders, localization, pluralization, gender conjugation, and list and time formatting.
</Description>
<AssemblyTitle>SmartFormat</AssemblyTitle>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<AssemblyName>SmartFormat</AssemblyName>
<PackageId>SmartFormat</PackageId>
<PackageReleaseNotes>Please see release notes on
https://github.com/axuno/SmartFormat/releases/
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseFile></PackageLicenseFile>
<PackageLicenseUrl></PackageLicenseUrl>
<PackageProjectUrl>https://github.com/axuno/SmartFormat</PackageProjectUrl>
<PackageIcon>SmartFormat_365x365.png</PackageIcon>
<PackageTags>string-format stringformat template templating string-composition smartformat smart-format netstandard netcore netframework csharp c-sharp</PackageTags>
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../SmartFormat/SmartFormat.snk</AssemblyOriginatorKeyFile>
<!-- Added to include SmartFormat.ZString.dll into the nuget package -->
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
<WarningsAsErrors>nullable</WarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<!-- EmbedUntrackedSources for deterministic build -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReadmeFile>PkgReadMe.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
Expand All @@ -50,12 +26,12 @@ https://github.com/axuno/SmartFormat/releases/
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="ZString" Version="2.6.0" />
</ItemGroup>

<ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461' or '$(TargetFramework)' == 'netStandard2.0'">
<PackageReference Include="System.Memory" Version="4.5.5" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
<PackageReference Include="ZString" Version="2.6.0" />
</ItemGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
Expand Down

0 comments on commit 6c03255

Please sign in to comment.