Releases: smdn/Smdn.Fundamentals
Smdn.MSBuild.ProjectAssets.Library version 1.7.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-19 update package version
- 2023-12-19 move naming and code style rules to the common assets
- 2023-12-18 add rule SA1316
- 2023-12-18 bump Microsoft.SourceLink.GitHub up to 8.0.0
- 2023-12-18 bump StyleCop.Analyzers up to 1.2.0-beta.507
- 2023-12-18 add naming rules for the library projects
- 2023-12-18 relax code analysis rules for the library projects
- 2023-12-16 update code analysis rules for the library projects
- 2023-12-16 enable GenerateDocumentationFile for library projects by default
- 2023-12-16 fix to enable trim analyzer only on .NET 6.0 or later
- 2023-12-16 fix not to overwrite initial/default value of property IsTestProject
- 2023-12-16 include EditorConfig file for the test projects
- 2023-12-16 enable NUnit.Analyzers for the test projects
- 2023-12-15 add SPDX license headers
Full changes
Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
index 723c7798..b7237f67 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
<PropertyGroup>
- <VersionPrefix>1.6.1</VersionPrefix>
+ <VersionPrefix>1.7.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
<DevelopmentDependency>true</DevelopmentDependency>
</PropertyGroup>
@@ -25,6 +25,7 @@ SPDX-License-Identifier: MIT
<None Include="project\**" Pack="false" Visible="true" />
<None Include="assets\src\include.editorconfig" Pack="true" PackagePath="assets\src\.editorconfig" />
+ <None Include="assets\tests\include.editorconfig" Pack="true" PackagePath="assets\tests\.editorconfig" />
<None Include="project\*.props" Pack="true" PackagePath="project\" />
<None Include="project\*.targets" Pack="true" PackagePath="project\" />
<None Include="project\StyleCop.Analyzers.ruleset" Pack="true" PackagePath="project\" />
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig b/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig
index 92d372db..9bd78ba8 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/assets/src/include.editorconfig
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2022 smdn <smdn@smdn.jp>
+# SPDX-License-Identifier: MIT
+#
# EditorConfig is awesome: https://EditorConfig.org
#
# code-analysis
@@ -21,63 +24,10 @@ dotnet_analyzer_diagnostic.category-Style.severity = warning
dotnet_analyzer_diagnostic.category-Usage.severity = warning
dotnet_analyzer_diagnostic.category-CodeQuality.severity = warning
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/pattern-matching-preferences
-dotnet_diagnostic.IDE0019.severity = warning # Use pattern matching to avoid 'as' followed by a 'null' check
-dotnet_diagnostic.IDE0020.severity = warning # Use pattern matching to avoid 'is' check followed by a cast
-dotnet_diagnostic.IDE0038.severity = warning # Use pattern matching to avoid 'is' check followed by a cast
-dotnet_diagnostic.IDE0083.severity = suggestion # Use pattern matching (not operator)
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/modifier-preferences
-dotnet_diagnostic.IDE0062.severity = warning # Make local function static
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/expression-level-preferences
-dotnet_diagnostic.IDE0010.severity = suggestion # Add missing cases to switch statement
-dotnet_diagnostic.IDE0018.severity = suggestion # Inline variable declaration
-dotnet_diagnostic.IDE0039.severity = warning # Use conditional expression for return
-dotnet_diagnostic.IDE0046.severity = suggestion # Use local function instead of lambda
-dotnet_diagnostic.IDE0056.severity = suggestion # Use index operator
-dotnet_diagnostic.IDE0057.severity = suggestion # Use range operator
-dotnet_diagnostic.IDE0070.severity = suggestion # Use 'System.HashCode.Combine'
-dotnet_diagnostic.IDE0072.severity = suggestion # Add missing cases to switch expression
-dotnet_diagnostic.IDE0090.severity = suggestion # Simplify new expression
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0160-ide0161
-dotnet_diagnostic.IDE0160.severity = none # Use block-scoped namespace
-dotnet_diagnostic.IDE0161.severity = warning # Use file-scoped namespace
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/null-checking-preferences
-dotnet_diagnostic.IDE0041.severity = warning # Use 'is null' check
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0007-ide0008
-dotnet_diagnostic.IDE0007.severity = suggestion # Use `var` instead of explicit type
-dotnet_diagnostic.IDE0008.severity = none # Use explicit type instead of `var`
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/expression-bodied-members
-dotnet_diagnostic.IDE0021.severity = none # Use expression body for constructors
-dotnet_diagnostic.IDE0022.severity = suggestion # Use expression body for methods
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/code-block-preferences
-dotnet_diagnostic.IDE0063.severity = suggestion # Use simple 'using' statement
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0130
-dotnet_diagnostic.IDE0130.severity = warning # Match namespaces to folder structure
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/unnecessary-code-rules
-dotnet_diagnostic.IDE0001.severity = suggestion # Simplify name
-dotnet_diagnostic.IDE0002.severity = suggestion # Simplify member access
-dotnet_diagnostic.IDE0003.severity = suggestion # Remove `this` or `Me` qualification
-dotnet_diagnostic.IDE0005.severity = warning # Remove unnecessary using directives
-dotnet_diagnostic.IDE0035.severity = suggestion # Remove unreachable code
-dotnet_diagnostic.IDE0051.severity = warning # Remove unused private member
-dotnet_diagnostic.IDE0052.severity = warning # Remove unread private member
-dotnet_diagnostic.IDE0058.severity = suggestion # Remove unnecessary expression value
-dotnet_diagnostic.IDE0059.severity = warning # Remove unnecessary value assignment
-dotnet_diagnostic.IDE0060.severity = warning # Remove unused parameter
-dotnet_diagnostic.IDE0079.severity = warning # Remove unnecessary suppression
-dotnet_diagnostic.IDE0080.severity = warning # Remove unnecessary suppression operator
-
-# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0055
-dotnet_diagnostic.IDE0055.severity = silent # Fix formatting
+#
+# Code quality rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/
+#
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/design-warnings
dotnet_diagnostic.CA1000.severity = warning # Identifiers should not contain underscores
@@ -129,6 +79,11 @@ dotnet_diagnostic.CA1505.severity = warning # Avoid unmaintainable cod
dotnet_diagnostic.CA1506.severity = warning # Avoid excessive class coupling
dotnet_diagnostic.CA1507.severity = warning # Use nameof in place of string
dotnet_diagnostic.CA1508.severity = warning # Avoid dead conditional code
+dotnet_diagnostic.CA1510.severity = suggestion # Use ArgumentNullException throw helper
+dotnet_diagnostic.CA1511.severity = suggestion # Use ArgumentException throw helper
+dotnet_diagnostic.CA1512.s...
Smdn.MSBuild.ProjectAssets.Common version 1.4.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-19 update package version
- 2023-12-19 fix severity for code styles
- 2023-12-19 move naming and code style rules to the common assets
- 2023-12-18 update and refactor code format for the common projects
Full changes
Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
index d55c4724..45646932 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
<PropertyGroup>
- <VersionPrefix>1.3.6</VersionPrefix>
+ <VersionPrefix>1.4.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
<DevelopmentDependency>true</DevelopmentDependency>
<NoWarn>NU5110;NU5111;$(NoWarn)</NoWarn>
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig b/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig
index 2a7ad862..2d0504aa 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/assets/include.editorconfig
@@ -13,6 +13,9 @@ indent_size = 2
end_of_line = lf
insert_final_newline = true
+# /~https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#ideas-for-domain-specific-properties
+indent_brace_style = K&R
+
[*.sln]
charset = utf-8-bom
end_of_line = crlf
@@ -32,47 +35,164 @@ indent_size = 2
# https://docs.microsoft.com/ja-jp/visualstudio/ide/editorconfig-code-style-settings-reference
# https://kent-boogaart.com/blog/editorconfig-reference-for-c-developers
#
-[*.cs]
-dotnet_sort_system_directives_first = true
-dotnet_separate_import_directive_groups = true
-dotnet_style_namespace_match_folder = true:suggestion
+[*.cs]
+# enables .NET code analysis naming and style rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories#naming-rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories#style-rules
+dotnet_analyzer_diagnostic.category-Naming.severity = warning
+dotnet_analyzer_diagnostic.category-Style.severity = warning
+#
+# Example EditorConfig file
+# https://learn.microsoft.com/ja-jp/dotnet/fundamentals/code-analysis/code-style-rule-options
+#
+# Organize usings
+dotnet_sort_system_directives_first = true
+# this. preferences
dotnet_style_qualification_for_field = false:warning
dotnet_style_qualification_for_property = false:warning
dotnet_style_qualification_for_method = false:warning
dotnet_style_qualification_for_event = false:suggestion
-
+# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
-
-dotnet_style_coalesce_expression = true
-dotnet_style_collection_initializer = true
-dotnet_style_explicit_tuple_names = true:suggestion
-dotnet_style_null_propagation = true
-dotnet_style_object_initializer = true
-dotnet_style_require_accessibility_modifiers = for_non_interface_members
+# Parentheses preferences
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:warning
+dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:warning
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion
+# Modifier preferences
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
dotnet_style_readonly_field = true:warning
+# Expression-level preferences
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_auto_properties = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
dotnet_style_prefer_conditional_expression_over_return = true:suggestion
-dotnet_style_prefer_inferred_tuple_names = true:suggestion
-dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
-dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+
+#
+# Code-style naming rules
+# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/naming-rules
+#
+
+# Static readonly fields must be PascalCase
+dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
+dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = static_readonly_field_style
+
+dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
+dotnet_naming_symbols.static_readonly_fields.applicable_accessibilities = *
+dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
+
+dotnet_naming_style.static_readonly_field_style.capitalization = pascal_case
+
+# Non-private static fields must be PascalCase
+dotnet_naming_rule.non_private_static_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_static_fields_must_be_pascal_case.symbols = non_private_static_fields
+dotnet_naming_rule.non_private_static_fields_must_be_pascal_case.style = non_private_static_field_style
+
+dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+dotnet_naming_symbols.non_private_static_fields.required_modifiers = static
+
+dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case
+
+# Non-private readonly fields must be PascalCase
+dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
+dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = non_private_readonly_field_style
+
+dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
+
+dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case
+
+# Non-private fields must be PascalCase
+dotnet_naming_rule.non_private_fields_must_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_fields_must_be_pascal_case.symbols = non_private_fields
+dotnet_naming_rule.non_private_fields_must_be_pascal_case.style = non_private_field_style
+
+dotnet_naming_symbols.non_private_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+dotnet_naming_symbols.non_private_fields.required_modifiers =
+
+dotnet_naming_style.non_private_field_style.capitalization = pascal_case
+
+# Constants must be PascalCase
+dotnet_naming_rule.constants_must_be_pascal_case.severity = warning
+dotnet_naming_rule.constants_must_be_pascal_case.symbols = constants
+dotnet_naming_rule.constants_must_be_pascal_case.style = constant_style
+
+dotnet_naming_symbols.constants.applicable_kinds = field, local
+dotnet_naming_symbols.constants.required_modifiers = const
+
+dotnet_naming_style.constant_style.capitalization = pascal_case
+
+# Other static/instance fields must be camelCase and must not start with any prefix
+dotnet_naming_rule.other_fields_must_be_camel_case_without_prefix.severity = warning
+dotnet_naming_rule.other_fields_must_be_camel_case_without_prefix.symbols = other_fields
+dotnet_naming_rule.other_fields_must_be_camel_case_without_prefix.style = other_field_style
+
+dotnet_naming_symbols.other_fields.applicable_kinds = field
+
+dotnet_naming_style.other_field_style.capitalization = camel_case
+dotnet_naming_style.other_field_style.required_prefix =
+
+# Locals and parameters are camelCase
+dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion
+dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters
+dotnet_naming_rule.locals_should_be_camel_case.style = local_and_parameter_style
+
+dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local
+
+dotnet_naming_style.local_and_parameter_style.capitalization = camel_case
+
+# Local functions are PascalCase
+dotnet_naming_rule.local_functions_should_be_pascal_case.severity ...
Smdn.Test.NUnit.Utils version 4.0.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-14 update assembly version
- 2023-12-14 migrate to NUnit 4.x
- 2023-12-14 simplify partial class declaration
- 2023-05-11 fix warnings
- 2023-05-11 suppress code analysis warnings
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-05-10 validate the parameter is non-null before using it
- 2023-04-19 bump Smdn.MSBuild.ProjectAssets.Library up to 1.5.0
- 2023-01-06 remove unneccessary use of lambda expression
- 2022-07-20 reformat
- 2022-04-19 split implementations into individual files
- 2022-04-18 define PackageValidationBaselineVersion
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net45.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net462.apilist.cs
similarity index 85%
rename from doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net45.apilist.cs
rename to doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net462.apilist.cs
index 1b85c407..3ee04000 100644
--- a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net45.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net462.apilist.cs
@@ -1,56 +1,58 @@
-// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-1.0.0)
+// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-4.0.0)
// Name: Smdn.Test.NUnit.Utils
-// AssemblyVersion: 1.0.0.0
-// InformationalVersion: 1.0.0+7598ad3f6134b7fcb21ff256682be15e2cd04b61
-// TargetFramework: .NETFramework,Version=v4.5
+// AssemblyVersion: 4.0.0.0
+// InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
+// TargetFramework: .NETFramework,Version=v4.6.2
// Configuration: Release
// Referenced assemblies:
// System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-// nunit.framework, Version=3.13.2.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+// nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+// nunit.framework.legacy, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
+using NUnit.Framework.Legacy;
namespace Smdn.Test.NUnit {
public static class Encodings {
public static Encoding EucJP { get; }
public static Encoding Jis { get; }
public static Encoding Latin1 { get; }
public static Encoding ShiftJis { get; }
}
public static class IOUtils {
public static void UsingCurrentDirectory(string path, Action action) {}
public static async Task UsingCurrentDirectoryAsync(string path, Func<Task> action) {}
public static void UsingDirectory(string path, Action<DirectoryInfo> action) {}
public static void UsingDirectory(string path, bool ensureDirectoryCreated, Action<DirectoryInfo> action) {}
public static Task UsingDirectoryAsync(string path, Func<DirectoryInfo, Task> action) {}
public static async Task UsingDirectoryAsync(string path, bool ensureDirectoryCreated, Func<DirectoryInfo, Task> action) {}
public static void UsingFile(string path, Action<FileInfo> action) {}
public static async Task UsingFileAsync(string path, Func<FileInfo, Task> action) {}
}
}
namespace Smdn.Test.NUnit.Assertion {
- public class Assert : Assert {
+ public class Assert : ClassicAssert {
public static void Elapses(TimeSpan expected, TestDelegate code, string message = null) {}
public static void ElapsesAsync(TimeSpan expected, AsyncTestDelegate code, string message = null) {}
public static void ElapsesInRange(TimeSpan expectedMin, TimeSpan expectedMax, TestDelegate code, string message = null) {}
public static void ElapsesInRangeAsync(TimeSpan expectedMin, TimeSpan expectedMax, AsyncTestDelegate code, string message = null) {}
public static void IsSerializable<TSerializable>(TSerializable obj, Action<TSerializable> testDeserializedObject = null) {}
public static void IsSerializable<TSerializable>(TSerializable obj, IFormatter serializationFormatter, IFormatter deserializationFormatter, Action<TSerializable> testDeserializedObject = null) {}
public static void NotElapse(TimeSpan expected, TestDelegate code, string message = null) {}
public static void NotElapseAsync(TimeSpan expected, AsyncTestDelegate code, string message = null) {}
public static TException ThrowsOrAggregates<TException>(TestDelegate code) where TException : Exception {}
public Assert() {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.0.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs
index 7a492dc7..0f3b5e5e 100644
--- a/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Utils/Smdn.Test.NUnit.Utils-net472.apilist.cs
@@ -1,56 +1,58 @@
-// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-1.0.0)
+// Smdn.Test.NUnit.Utils.dll (Smdn.Test.NUnit.Utils-4.0.0)
// Name: Smdn.Test.NUnit.Utils
-// AssemblyVersion: 1.0.0.0
-// InformationalVersion: 1.0.0+7598ad3f6134b7fcb21ff256682be15e2cd04b61
+// AssemblyVersion: 4.0.0.0
+// InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
// TargetFramework: .NETFramework,Version=v4.7.2
// Configuration: Release
// Referenced assemblies:
// System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-// nunit.framework, Version=3.13.2.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+// nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+// nunit.framework.legacy, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
+using NUnit.Framework.Legacy;
namespace Smdn.Test.NUnit {
public static class Encodings {
public static Encoding EucJP { get; }
public static Encoding Jis { get; }
public static Encoding Latin1 { get; }
public static Encoding ShiftJis { get; }
}
public static class IOUtils {
public static void UsingCurrentDirectory(string path, Action action) {}
public static async Task UsingCurrentDirectoryAsync(string path, Func<Task> action) {}
public static void UsingDirectory(string path, Action<DirectoryInfo> action) {}
public static void UsingDirectory(string path, bool ensureDirectoryCreated, Action<DirectoryInfo> action) {}
public static Task UsingDirectoryAsync(string path, Func<DirectoryInfo, Task> action) {}
public static async Task UsingDirectoryAsync(string path, bool ensureDirectoryCreated, Func<DirectoryInfo, Task> action) {}
public static void UsingFile(string path, Action<FileInfo> action) {}
public static async Task UsingFileAsync(string path, Func<FileInfo, Task> action) {}
}
}
namespace Smdn.Test.NUnit.Assertion {
- public class Assert : Assert {
+ public class Assert : ClassicAssert {
public static void Elapses(TimeSpan expected, TestDelegate code, string message = null) {}
public static void ElapsesAsync(TimeSpan expected, AsyncTestDelegate code, string message = null) {}
public static void ElapsesInRange(TimeSpan expectedMin, TimeSpan expectedMax, TestDelegate code, string message = null) {}
public static void ElapsesInRangeAsync(TimeSpan expectedMin, TimeSpan expectedMax, AsyncTestDelegate code, string message = null) {}
public static void IsSerializable<TSerializable>(TSerializable obj, Action<TSerializable> testDeserializedObject = null) {}
public static void IsSerializable<TSerializable>(TSerializable obj...
Smdn.Test.NUnit.Constraints version 4.0.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-12-14 update assembly version
- 2023-12-14 migrate to NUnit 4.x
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-05-10 validate the parameter is non-null before using it
- 2023-01-15 replace ProjectReference with ReferenceAssemblyVersion to ProjectOrPackageReference
- 2023-01-12 set ReferenceAssemblyVersion to the ProjectReferences
- 2023-01-12 use ReferencePackageVersion instead of VersionRange
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net45.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net462.apilist.cs
similarity index 91%
rename from doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net45.apilist.cs
rename to doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net462.apilist.cs
index fde4d1d7..a6d3b921 100644
--- a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net45.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net462.apilist.cs
@@ -1,63 +1,63 @@
-// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-1.0.1)
+// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-4.0.0)
// Name: Smdn.Test.NUnit.Constraints
-// AssemblyVersion: 1.0.1.0
-// InformationalVersion: 1.0.1+22d13e8bac8188bdb5b18a03d0357887e371a50f
-// TargetFramework: .NETFramework,Version=v4.5
+// AssemblyVersion: 4.0.0.0
+// InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
+// TargetFramework: .NETFramework,Version=v4.6.2
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.ControlPicture, Version=3.0.0.0, Culture=neutral
// System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-// nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+// nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
using System;
using NUnit.Framework;
using NUnit.Framework.Constraints;
using Smdn.Test.NUnit.Constraints.Buffers;
namespace Smdn.Test.NUnit.Constraints.Buffers {
public class Is : Is {
public static ReadOnlyByteMemoryEqualConstraint EqualTo(Memory<byte> expected) {}
public static ReadOnlyByteMemoryEqualConstraint EqualTo(ReadOnlyMemory<byte> expected) {}
public static ReadOnlyByteMemoryEqualConstraint EqualTo(byte[] expected) {}
public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(Memory<T> expected) where T : IEquatable<T> {}
public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(ReadOnlyMemory<T> expected) where T : IEquatable<T> {}
public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(T[] expected) where T : IEquatable<T> {}
public Is() {}
}
public class ReadOnlyByteMemoryEqualConstraint : EqualConstraint {
public ReadOnlyByteMemoryEqualConstraint(ReadOnlyMemory<byte> expected) {}
public override string Description { get; }
public ReadOnlyMemory<byte> Expected { get; }
public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
}
public class ReadOnlyByteMemoryEqualConstraintResult : EqualConstraintResult {
public ReadOnlyByteMemoryEqualConstraintResult(ReadOnlyByteMemoryEqualConstraint constraint, object actual, bool hasSucceeded) {}
public override void WriteMessageTo(MessageWriter writer) {}
}
public class ReadOnlyMemoryEqualConstraintResult<T> : EqualConstraintResult where T : IEquatable<T> {
public ReadOnlyMemoryEqualConstraintResult(ReadOnlyMemoryEqualConstraint<T> constraint, object actual, bool hasSucceeded) {}
public override void WriteMessageTo(MessageWriter writer) {}
}
public class ReadOnlyMemoryEqualConstraint<T> : EqualConstraint where T : IEquatable<T> {
public ReadOnlyMemoryEqualConstraint(ReadOnlyMemory<T> expected) {}
public override string Description { get; }
public ReadOnlyMemory<T> Expected { get; }
public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.0.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs
index a3d007d7..f170093a 100644
--- a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-net6.0.apilist.cs
@@ -1,62 +1,62 @@
-// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-1.0.1)
+// Smdn.Test.NUnit.Constraints.dll (Smdn.Test.NUnit.Constraints-4.0.0)
// Name: Smdn.Test.NUnit.Constraints
-// AssemblyVersion: 1.0.1.0
-// InformationalVersion: 1.0.1+22d13e8bac8188bdb5b18a03d0357887e371a50f
+// AssemblyVersion: 4.0.0.0
+// InformationalVersion: 4.0.0+280107daf772c089f4bf30b5bce3f2dded855766
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.ControlPicture, Version=3.0.0.0, Culture=neutral
// System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
+// nunit.framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb
using System;
using NUnit.Framework;
using NUnit.Framework.Constraints;
using Smdn.Test.NUnit.Constraints.Buffers;
namespace Smdn.Test.NUnit.Constraints.Buffers {
public class Is : Is {
public static ReadOnlyByteMemoryEqualConstraint EqualTo(Memory<byte> expected) {}
public static ReadOnlyByteMemoryEqualConstraint EqualTo(ReadOnlyMemory<byte> expected) {}
public static ReadOnlyByteMemoryEqualConstraint EqualTo(byte[] expected) {}
public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(Memory<T> expected) where T : IEquatable<T> {}
public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(ReadOnlyMemory<T> expected) where T : IEquatable<T> {}
public static ReadOnlyMemoryEqualConstraint<T> EqualTo<T>(T[] expected) where T : IEquatable<T> {}
public Is() {}
}
public class ReadOnlyByteMemoryEqualConstraint : EqualConstraint {
public ReadOnlyByteMemoryEqualConstraint(ReadOnlyMemory<byte> expected) {}
public override string Description { get; }
public ReadOnlyMemory<byte> Expected { get; }
public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
}
public class ReadOnlyByteMemoryEqualConstraintResult : EqualConstraintResult {
public ReadOnlyByteMemoryEqualConstraintResult(ReadOnlyByteMemoryEqualConstraint constraint, object actual, bool hasSucceeded) {}
public override void WriteMessageTo(MessageWriter writer) {}
}
public class ReadOnlyMemoryEqualConstraintResult<T> : EqualConstraintResult where T : IEquatable<T> {
public ReadOnlyMemoryEqualConstraintResult(ReadOnlyMemoryEqualConstraint<T> constraint, object actual, bool hasSucceeded) {}
public override void WriteMessageTo(MessageWriter writer) {}
}
public class ReadOnlyMemoryEqualConstraint<T> : EqualConstraint where T : IEquatable<T> {
public ReadOnlyMemoryEqualConstraint(ReadOnlyMemory<T> expected) {}
public override string Description { get; }
public ReadOnlyMemory<T> Expected { get; }
public override ConstraintResult ApplyTo<TActual>(TActual actual) {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.0.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-netstandard2.0.apilist.cs b/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-netstandard2.0.apilist.cs
deleted file mode 100644
index dae4edb9..00000000
--- a/doc/api-list/Smdn.Test.NUnit.Constraints/Smdn.Test.NUnit.Constraints-nets...
Smdn.MSBuild.ProjectAssets.Library version 1.6.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-06-12 update package version
- 2023-06-12 improve template to output TestResultDrop.Messages
- 2023-06-12 fix closing tag
Full changes
Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
index 2c1b8f23..723c7798 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/Smdn.MSBuild.ProjectAssets.Library.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
<PropertyGroup>
- <VersionPrefix>1.6.0</VersionPrefix>
+ <VersionPrefix>1.6.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<DevelopmentDependency>true</DevelopmentDependency>
</PropertyGroup>
diff --git a/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md b/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md
index 444c259a..f1460b5c 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md
+++ b/src/Smdn.MSBuild.ProjectAssets.Library/project/TestReport.template.liquid.md
@@ -137,7 +137,7 @@ SPDX-License-Identifier: MIT
{%- endfor -%}</code></pre></dd>
{%- endif -%}
{%- if messages_warning.size != 0 -%}
- <dt>⚠️ Warnings</summary>
+ <dt>⚠️ Warnings</dt>
<dd><pre><code>{%- for msg in messages_warning -%}[{{ msg.level }}]{{ msg.message | escape }}
{%- endfor -%}</code></pre></dd>
{%- endif -%}
@@ -239,16 +239,34 @@ SPDX-License-Identifier: MIT
{%- else -%}
{%- assign result_has_error_stack_trace = false -%}
{%- endif -%}
- {%- if result_has_error_message or result_has_error_stack_trace -%}
+ {%- if result.messages.size == 0 -%}
+ {%- assign result_has_messages = false -%}
+ {%- else -%}
+ {%- assign result_has_messages = true -%}
+ {%- endif -%}
+ {%- if result_has_error_message or result_has_error_stack_trace or result_has_messages -%}
<dl>
{%- if result_has_error_message -%}
- <dt>Message:</dt>
+ <dt>Error message:</dt>
<dd><pre><code>{{ result.error_message | escape }}</code></pre></dd>
{%- endif -%}
{%- if result_has_error_stack_trace -%}
<dt>Stack trace:</dt>
<dd><pre><code>{{ result.error_stack_trace | escape }}</code></pre></dd>
{%- endif -%}
+ {%- if result_has_messages -%}
+ {%- for message in result.messages -%}
+ {%- if message.text != result.error_message -%}
+ <dt>Message <code>{{ message.category | escape }}</code>:</dt>
+ <dd>
+ <details{{ result_details_open_attr }}>
+ <summary>{{ message.category | escape }}</summary>
+ <pre><code>{{ message.text | escape }}</code></pre>
+ </details>
+ </dd>
+ {%- endif -%}
+ {%- endfor -%}
+ {%- endif -%}
{%- endif -%}
</dl>
{%- endif -%}
Notes
Full Changelog: releases/Smdn.MSBuild.ProjectAssets.Library-1.6.0...releases/Smdn.MSBuild.ProjectAssets.Library-1.6.1
Smdn.MSBuild.DefineConstants.NETSdkApi version 1.3.14
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-06-06 update package version
- 2023-06-06 add static String.GetHashCode(ReadOnlySpan<char>)
- 2023-06-06 add String.GetHashCode overloads which accept StringComparison
Notes
Full Changelog: releases/Smdn.MSBuild.DefineConstants.NETSdkApi-1.3.13...releases/Smdn.MSBuild.DefineConstants.NETSdkApi-1.3.14
Smdn.MSBuild.ProjectAssets.Common version 1.3.6
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-05-12 update package version
- 2023-05-12 use dotnet command instead of MSBuild task
- 2023-05-12 add comment
- 2023-03-11 fix typo
Full changes
Full changes in this release:
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
index e7432009..d55c4724 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/Smdn.MSBuild.ProjectAssets.Common.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<Import Project="$(MSBuildThisFileDirectory)..\..\eng\ProjectSettings.NoAssembliesNoBuild.props" />
<PropertyGroup>
- <VersionPrefix>1.3.5</VersionPrefix>
+ <VersionPrefix>1.3.6</VersionPrefix>
<VersionSuffix></VersionSuffix>
<DevelopmentDependency>true</DevelopmentDependency>
<NoWarn>NU5110;NU5111;$(NoWarn)</NoWarn>
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1 b/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1
index cfaf19c0..d95c2b05 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/project/scripts/psmodules/NuGet.PackageContent/NuGet.PackageContent.psm1
@@ -33,7 +33,7 @@ function Get-NuGetPackageVersions {
}
<#
- Summary: Parses and gets the semantic version from the specified version sstring.
+ Summary: Parses and gets the semantic version from the specified version string.
#>
function Get-SemanticVersion {
Param(
diff --git a/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets b/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets
index 95791faf..077f77ac 100644
--- a/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets
+++ b/src/Smdn.MSBuild.ProjectAssets.Common/project/targets/NewRelease.targets
@@ -19,12 +19,25 @@ SPDX-License-Identifier: MIT
</PropertyGroup>
<!-- Rebuild and Pack to verify that the package can be created -->
- <MSBuild
- Projects="$(MSBuildProjectFullPath)"
- Targets="Clean;Pack"
- Properties="Configuration=Release"
+ <!-- Packing by the MSBuild task seems problematic, so use the dotnet command instead. -->
+ <Exec
+ Command="dotnet clean --nologo --verbosity minimal -c Release $(MSBuildProjectFullPath)"
+ ConsoleToMSBuild="false"
+ EchoOff="false"
+ StandardOutputImportance="High"
/>
+ <Exec
+ Command="dotnet pack --nologo --verbosity minimal -c Release $(MSBuildProjectFullPath)"
+ ConsoleToMSBuild="false"
+ EchoOff="false"
+ StandardOutputImportance="High"
+ >
+ <Output TaskParameter="ExitCode" PropertyName="_PackReleaseExitCode"/>
+ </Exec>
+
+ <Error Text="failed to pack $(MSBuildProjectName)" Condition=" '$(_PackReleaseExitCode)' != '0' " />
+ <!-- check whether the current version has already released -->
<Exec
Command="$(_InvokeProjectAssetsCommonPowerShellScript)QueryNuGetPackageReleased.ps1 -PackageId "$(PackageId)" -PackageVersion "$(PackageVersion)""
IgnoreExitCode="true"
@@ -44,6 +57,7 @@ SPDX-License-Identifier: MIT
File="$(MSBuildProjectFullPath)"
/>
+ <!-- create release tag -->
<Exec
Command="git tag --message="new release target tag for $(_PackageIdWithVersion)" $(_ReleaseTargetTagName) $(RepositoryCommit)"
EchoOff="false"
Notes
Full Changelog: releases/Smdn.MSBuild.ProjectAssets.Common-1.3.5...releases/Smdn.MSBuild.ProjectAssets.Common-1.3.6
Smdn.Fundamental.Stream.BinaryReaderWriter version 3.0.3
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-05-12 update package version
- 2023-05-11 add target framework net6.0
- 2023-05-11 expose Dispose()
- 2023-05-11 suppress code analysis warnings
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs
index 60228a2a..7b411934 100644
--- a/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.Stream.BinaryReaderWriter/Smdn.Fundamental.Stream.BinaryReaderWriter-net45.apilist.cs
@@ -1,276 +1,276 @@
-// Smdn.Fundamental.Stream.BinaryReaderWriter.dll (Smdn.Fundamental.Stream.BinaryReaderWriter-3.0.2)
+// Smdn.Fundamental.Stream.BinaryReaderWriter.dll (Smdn.Fundamental.Stream.BinaryReaderWriter-3.0.3)
// Name: Smdn.Fundamental.Stream.BinaryReaderWriter
-// AssemblyVersion: 3.0.2.0
-// InformationalVersion: 3.0.2+86670cebb1ebcd6d7b8e86885a3b4d7b48858ade
+// AssemblyVersion: 3.0.3.0
+// InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// Smdn.Fundamental.FourCC, Version=3.0.3.0, Culture=neutral
// Smdn.Fundamental.Stream, Version=3.0.3.0, Culture=neutral
// Smdn.Fundamental.UInt24n, Version=3.0.4.0, Culture=neutral
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
using System;
using System.IO;
using Smdn;
using Smdn.IO.Binary;
namespace Smdn.IO.Binary {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class BigEndianBinaryReader : BinaryReader {
protected BigEndianBinaryReader(Stream stream, bool leaveBaseStreamOpen, int storageSize) {}
public BigEndianBinaryReader(Stream stream) {}
public BigEndianBinaryReader(Stream stream, bool leaveBaseStreamOpen) {}
public override short ReadInt16() {}
public override int ReadInt32() {}
public override long ReadInt64() {}
public override ushort ReadUInt16() {}
public override UInt24 ReadUInt24() {}
public override uint ReadUInt32() {}
public override UInt48 ReadUInt48() {}
public override ulong ReadUInt64() {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class BigEndianBinaryWriter : BinaryWriter {
protected BigEndianBinaryWriter(Stream stream, bool leaveBaseStreamOpen, int storageSize) {}
public BigEndianBinaryWriter(Stream stream) {}
public BigEndianBinaryWriter(Stream stream, bool leaveBaseStreamOpen) {}
public override void Write(UInt24 @value) {}
public override void Write(UInt48 @value) {}
public override void Write(int @value) {}
public override void Write(long @value) {}
public override void Write(short @value) {}
public override void Write(uint @value) {}
public override void Write(ulong @value) {}
public override void Write(ushort @value) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public static class BinaryConversion {
public static int ByteSwap(int @value) {}
public static long ByteSwap(long @value) {}
public static short ByteSwap(short @value) {}
public static uint ByteSwap(uint @value) {}
public static ulong ByteSwap(ulong @value) {}
public static ushort ByteSwap(ushort @value) {}
public static byte[] GetBytes(UInt24 @value, bool asLittleEndian) {}
public static byte[] GetBytes(UInt48 @value, bool asLittleEndian) {}
public static byte[] GetBytes(int @value, bool asLittleEndian) {}
public static byte[] GetBytes(long @value, bool asLittleEndian) {}
public static byte[] GetBytes(short @value, bool asLittleEndian) {}
public static byte[] GetBytes(uint @value, bool asLittleEndian) {}
public static byte[] GetBytes(ulong @value, bool asLittleEndian) {}
public static byte[] GetBytes(ushort @value, bool asLittleEndian) {}
public static void GetBytes(UInt24 @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(UInt48 @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(int @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(long @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(short @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(uint @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(ulong @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static void GetBytes(ushort @value, bool asLittleEndian, byte[] bytes, int startIndex) {}
public static byte[] GetBytesBE(UInt24 @value) {}
public static byte[] GetBytesBE(UInt48 @value) {}
public static byte[] GetBytesBE(int @value) {}
public static byte[] GetBytesBE(long @value) {}
public static byte[] GetBytesBE(short @value) {}
public static byte[] GetBytesBE(uint @value) {}
public static byte[] GetBytesBE(ulong @value) {}
public static byte[] GetBytesBE(ushort @value) {}
public static void GetBytesBE(UInt24 @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(UInt48 @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(int @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(long @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(short @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(uint @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(ulong @value, byte[] bytes, int startIndex) {}
public static void GetBytesBE(ushort @value, byte[] bytes, int startIndex) {}
public static byte[] GetBytesLE(UInt24 @value) {}
public static byte[] GetBytesLE(UInt48 @value) {}
public static byte[] GetBytesLE(int @value) {}
public static byte[] GetBytesLE(long @value) {}
public static byte[] GetBytesLE(short @value) {}
public static byte[] GetBytesLE(uint @value) {}
public static byte[] GetBytesLE(ulong @value) {}
public static byte[] GetBytesLE(ushort @value) {}
public static void GetBytesLE(UInt24 @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(UInt48 @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(int @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(long @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(short @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(uint @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(ulong @value, byte[] bytes, int startIndex) {}
public static void GetBytesLE(ushort @value, byte[] bytes, int startIndex) {}
public static short ToInt16(byte[] @value, int startIndex, bool asLittleEndian) {}
public static short ToInt16BE(byte[] @value, int startIndex) {}
public static short ToInt16LE(byte[] @value, int startIndex) {}
public static int ToInt32(byte[] @value, int startIndex, bool asLittleEndian) {}
public static int ToInt32BE(byte[] @value, int startIndex) {}
public static int ToInt32LE(byte[] @value, int startIndex) {}
public static long ToInt64(byte[] @value, int startIndex, bool asLittleEndian) {}
public static long ToInt64BE(byte[] @value, int startIndex) {}
public static long ToInt64LE(byte[] @value, int startIndex) {}
public static ushort ToUInt16(byte[] @value, int startIndex, bool asLittleEndian) {}
public static ushort ToUInt16BE(byte[] @value, int startIndex) {}
public static ushort ToUInt16LE(byte[] @value, int startIndex) {}
public static UInt24 ToUInt24(byte[] @value, int startIndex, bool asLittleEndian) {}
public static UInt24 ToUInt24BE(byte[] @value, int startIndex) {}
public static UInt24 ToUInt24LE(byte[] @value, int startIndex) {}
public static uint ToUInt32(byte[] @value, int startIndex, bool asLittleEndian) {}
public static uint ToUInt32BE(byte[] @value, int startIndex) {}
public static uint ToUInt32LE(byte[] @value, int startIndex) {}
public static UInt48 ToUInt48(byte[] @value, int startIndex, bool asLittleEndian) {}
public static UInt48 ToUInt48BE(byte[] @value, int startIndex) {}
public static UInt48 ToUInt48LE(byte[] @value, int startIndex) {}
public static ulong ToUInt64(byte[] @value, int startIndex, bool asLittleEndian) {}
public static ulong ToUInt64BE(byte[] @va...
Smdn.Fundamental.Stream version 3.0.4
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-05-12 update package version
- 2023-05-11 suppress warning CA1063
- 2023-05-11 suppress code analysis warnings
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-05-10 validate the parameter is non-null before using it
- 2023-01-15 replace ProjectReference with ReferenceAssemblyVersion to ProjectOrPackageReference
- 2023-01-12 set ReferenceAssemblyVersion to the ProjectReferences
- 2023-01-12 use ReferencePackageVersion instead of VersionRange
- 2023-01-06 seal the internal classes
- 2022-10-13 fix warning IDE0074: Use compound assignment
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs
index fc096f30..82b7a2bd 100644
--- a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net45.apilist.cs
@@ -1,137 +1,137 @@
-// Smdn.Fundamental.Stream.dll (Smdn.Fundamental.Stream-3.0.3)
+// Smdn.Fundamental.Stream.dll (Smdn.Fundamental.Stream-3.0.4)
// Name: Smdn.Fundamental.Stream
-// AssemblyVersion: 3.0.3.0
-// InformationalVersion: 3.0.3+e21051dca94564f87fa26449ca8be59194f51ead
+// AssemblyVersion: 3.0.4.0
+// InformationalVersion: 3.0.4+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
// System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
using System;
using System.Buffers;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Smdn.IO.Streams;
namespace Smdn.IO {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public static class StreamExtensions {
public static void CopyTo(this Stream stream, BinaryWriter writer, int bufferSize = 10240) {}
public static Task CopyToAsync(this Stream stream, BinaryWriter writer, int bufferSize = 10240, CancellationToken cancellationToken = default) {}
public static byte[] ReadToEnd(this Stream stream, int readBufferSize = 4096, int initialCapacity = 4096) {}
public static Task<byte[]> ReadToEndAsync(this Stream stream, int readBufferSize = 4096, int initialCapacity = 4096, CancellationToken cancellationToken = default) {}
public static void Write(this Stream stream, ArraySegment<byte> segment) {}
public static void Write(this Stream stream, ReadOnlySequence<byte> sequence) {}
public static Task WriteAsync(this Stream stream, ReadOnlySequence<byte> sequence, CancellationToken cancellationToken = default) {}
}
}
namespace Smdn.IO.Streams {
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public sealed class ChunkedMemoryStream : Stream {
public delegate ChunkedMemoryStream.Chunk Allocator(int chunkSize);
public abstract class Chunk : IDisposable {
public byte[] Data;
protected Chunk() {}
public abstract void Dispose();
}
public static readonly int DefaultChunkSize = 40960;
public ChunkedMemoryStream() {}
public ChunkedMemoryStream(ChunkedMemoryStream.Allocator allocator) {}
public ChunkedMemoryStream(int chunkSize) {}
public ChunkedMemoryStream(int chunkSize, ChunkedMemoryStream.Allocator allocator) {}
public override bool CanRead { get; }
public override bool CanSeek { get; }
public override bool CanTimeout { get; }
public override bool CanWrite { get; }
public int ChunkSize { get; }
public override long Length { get; }
public override long Position { get; set; }
public override void Close() {}
public override void Flush() {}
public override int Read(byte[] buffer, int offset, int count) {}
public override int ReadByte() {}
public override long Seek(long offset, SeekOrigin origin) {}
public override void SetLength(long @value) {}
public byte[] ToArray() {}
public override void Write(byte[] buffer, int offset, int count) {}
public override void WriteByte(byte @value) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class NonClosingStream : Stream {
public NonClosingStream(Stream innerStream) {}
public NonClosingStream(Stream innerStream, bool writable) {}
public override bool CanRead { get; }
public override bool CanSeek { get; }
public override bool CanTimeout { get; }
public override bool CanWrite { get; }
public Stream InnerStream { get; }
public override long Length { get; }
public override long Position { get; set; }
public override void Close() {}
public override void Flush() {}
public override int Read(byte[] buffer, int offset, int count) {}
public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) {}
public override long Seek(long offset, SeekOrigin origin) {}
public override void SetLength(long @value) {}
public override void Write(byte[] buffer, int offset, int count) {}
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public class PartialStream :
Stream,
ICloneable
{
public static PartialStream CreateNonNested(Stream innerOrPartialStream, long length) {}
public static PartialStream CreateNonNested(Stream innerOrPartialStream, long length, bool seekToBegin) {}
public static PartialStream CreateNonNested(Stream innerOrPartialStream, long offset, long length) {}
public static PartialStream CreateNonNested(Stream innerOrPartialStream, long offset, long length, bool seekToBegin) {}
public PartialStream(Stream innerStream, long offset) {}
public PartialStream(Stream innerStream, long offset, bool @readonly, bool leaveInnerStreamOpen) {}
public PartialStream(Stream innerStream, long offset, bool @readonly, bool leaveInnerStreamOpen, bool seekToBegin) {}
public PartialStream(Stream innerStream, long offset, bool leaveInnerStreamOpen) {}
public PartialStream(Stream innerStream, long offset, long length) {}
public PartialStream(Stream innerStream, long offset, long length, bool @readonly, bool leaveInnerStreamOpen) {}
public PartialStream(Stream innerStream, long offset, long length, bool @readonly, bool leaveInnerStreamOpen, bool seekToBegin) {}
public PartialStream(Stream innerStream, long offset, long length, bool leaveInnerStreamOpen) {}
public override bool CanRead { get; }
public override bool CanSeek { get; }
public override bool CanTimeout { get; }
public override bool CanWrite { get; }
public Stream InnerStream { get; }
public bool LeaveInnerStreamOpen { get; }
public override long Length { get; }
public override long Position { get; set; }
public PartialStream Clone() {}
public override void Close() {}
public override void Flush() {}
protected long GetRemainderLength() {}
public override int Read(byte[] buffer, int offset, int count) {}
public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) {}
public override int ReadByte() {}
public override long Seek(long offset, SeekOrigin origin) {}
public override void SetLength(long @value) {}
object ICloneable.Clone() {}
public override void Write(byte[] buffer, int offset, int count) {}
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken = default) {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net46.apilist.cs b/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net46.apilist.cs
index 6f122166..2b806700 100644
--- a/doc/api-list/Smdn.Fundamental.Stream/Smdn.Fundamental.Stream-net46.apilist.cs
+++ b/doc/api-list/Smd...
Smdn.Fundamental.RuntimeInformation version 3.0.3
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2023-05-12 update package version
- 2023-05-11 enable package validation
- 2023-05-11 suppress code analysis warnings
- 2023-05-11 compliant IDE0030; empty the root namespace so that the namespace is determined only by the directory name
- 2023-05-10 use field initializer instead of static ctor
- 2023-04-19 bump Smdn.MSBuild.ProjectAssets.Library up to 1.5.0
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs
index 2e4ff50d..cb0d7658 100644
--- a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net45.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.2)
+// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.3)
// Name: Smdn.Fundamental.RuntimeInformation
-// AssemblyVersion: 3.0.2.0
-// InformationalVersion: 3.0.2+2b7169e01e02e90474ecf7f27e6d37aaa0a385f9
+// AssemblyVersion: 3.0.3.0
+// InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
// System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
#nullable enable annotations
using System;
using System.Runtime.Versioning;
using Smdn;
namespace Smdn {
public enum RuntimeEnvironment : int {
Mono = 2,
NetCore = 3,
NetFx = 1,
Unknown = 0,
}
public static class FrameworkNameUtils {
public static bool TryGetMoniker(FrameworkName? frameworkName, out string? frameworkMoniker) {}
public static bool TryGetMoniker(string? frameworkName, out string? frameworkMoniker) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public static class Runtime {
public static bool IsRunningOnDotNet5OrOver { get; }
public static bool IsRunningOnMono { get; }
public static bool IsRunningOnNetCore { get; }
public static bool IsRunningOnNetFx { get; }
[Obsolete("use Smdn.Platform.IsRunningOnUnix")]
public static bool IsRunningOnUnix { get; }
[Obsolete("use Smdn.Platform.IsRunningOnWindows")]
public static bool IsRunningOnWindows { get; }
public static string Name { get; }
public static RuntimeEnvironment RuntimeEnvironment { get; }
public static bool SupportsIanaTimeZoneName { get; }
public static Version? Version { get; }
public static string VersionString { get; }
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs
index e78de301..a892b23d 100644
--- a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net47.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.2)
+// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.3)
// Name: Smdn.Fundamental.RuntimeInformation
-// AssemblyVersion: 3.0.2.0
-// InformationalVersion: 3.0.2+2b7169e01e02e90474ecf7f27e6d37aaa0a385f9
+// AssemblyVersion: 3.0.3.0
+// InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
// TargetFramework: .NETFramework,Version=v4.7
// Configuration: Release
// Referenced assemblies:
// System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
#nullable enable annotations
using System;
using System.Runtime.Versioning;
using Smdn;
namespace Smdn {
public enum RuntimeEnvironment : int {
Mono = 2,
NetCore = 3,
NetFx = 1,
Unknown = 0,
}
public static class FrameworkNameUtils {
public static bool TryGetMoniker(FrameworkName? frameworkName, out string? frameworkMoniker) {}
public static bool TryGetMoniker(string? frameworkName, out string? frameworkMoniker) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public static class Runtime {
public static bool IsRunningOnDotNet5OrOver { get; }
public static bool IsRunningOnMono { get; }
public static bool IsRunningOnNetCore { get; }
public static bool IsRunningOnNetFx { get; }
[Obsolete("use Smdn.Platform.IsRunningOnUnix")]
public static bool IsRunningOnUnix { get; }
[Obsolete("use Smdn.Platform.IsRunningOnWindows")]
public static bool IsRunningOnWindows { get; }
public static string Name { get; }
public static RuntimeEnvironment RuntimeEnvironment { get; }
public static bool SupportsIanaTimeZoneName { get; }
public static Version? Version { get; }
public static string VersionString { get; }
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.1.7.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.1.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (/~https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs
index 694f7a82..7bba3007 100644
--- a/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.RuntimeInformation/Smdn.Fundamental.RuntimeInformation-net6.0.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.2)
+// Smdn.Fundamental.RuntimeInformation.dll (Smdn.Fundamental.RuntimeInformation-3.0.3)
// Name: Smdn.Fundamental.RuntimeInformation
-// AssemblyVersion: 3.0.2.0
-// InformationalVersion: 3.0.2+2b7169e01e02e90474ecf7f27e6d37aaa0a385f9
+// AssemblyVersion: 3.0.3.0
+// InformationalVersion: 3.0.3+50cd3a5ddb6026e07a1bf790427b237a96c07bb8
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.InteropServices.RuntimeInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Versioning;
using Smdn;
namespace Smdn {
public enum RuntimeEnvironment : int {
Mono = 2,
NetCore = 3,
NetFx = 1,
Unknown = 0,
}
public static class FrameworkNameUtils {
public static bool TryGetMoniker(FrameworkName? frameworkName, [NotNullWhen(true)] out string? frameworkMoniker) {}
public static bool TryGetMoniker(string? frameworkName, [NotNullWhen(true)] out string? frameworkMoniker) {}
}
[TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
public static class Runtime {
public static bool IsRunningOnDotNet5OrOver { get; }
public static bool IsRunningOnMono { get; }
public static bool IsRunningOnNetCore { get; }
public static bool IsRunningOnNetFx { get; }
[Obsolete("use Smdn.Platform.IsRunningOnUnix")]
public static bool IsRunningOnUnix { get; }
[Obsolete("use Smdn.Platform.IsRunningOnWindows")]
public static bool IsRunningOnWindows { get; }
public static string Name { get; }
public static RuntimeEnvironment RuntimeEnvironment { get; }
public static bool SupportsIanaTimeZoneName { get; }
public static Version? Version...