Releases: smdn/Smdn.Reflection.ReverseGenerating
Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks version 1.7.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-12-14 update assembly version
Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
index 660f1fc..27c0afc 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<TargetFrameworks>net10.0;net8.0</TargetFrameworks>
<RootNamespace>Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks</RootNamespace>
- <VersionPrefix>1.7.0</VersionPrefix>
+ <VersionPrefix>1.7.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
Notes
What's Changed
Dependencies
- Bump the github-actions-workflows group with 2 updates by @dependabot[bot] in #62
Full Changelog: releases/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.7.0...releases/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.7.1
Smdn.Reflection.ReverseGenerating.ListApi.Core version 1.5.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-12-14 update assembly version
- 2025-12-14 add AssemblyMetadataAttribute output to assembly info
- 2025-11-24 add support for .NET 10
- 2025-07-09 fix and suppress warnings
- 2025-07-09 apply updates from template
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net10.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net10.0.apilist.cs
new file mode 100644
index 0000000..6f7d008
--- /dev/null
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net10.0.apilist.cs
@@ -0,0 +1,104 @@
+// Smdn.Reflection.ReverseGenerating.ListApi.Core.dll (Smdn.Reflection.ReverseGenerating.ListApi.Core-1.5.1)
+// Name: Smdn.Reflection.ReverseGenerating.ListApi.Core
+// AssemblyVersion: 1.5.1.0
+// InformationalVersion: 1.5.1+194cfa4277b6b9f373b1067798cdb665abbcc81f
+// TargetFramework: .NETCoreApp,Version=v10.0
+// Configuration: Release
+// Metadata: IsTrimmable=True
+// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Reflection.ReverseGenerating
+// Metadata: RepositoryBranch=main
+// Metadata: RepositoryCommit=194cfa4277b6b9f373b1067798cdb665abbcc81f
+// Referenced assemblies:
+// Microsoft.Extensions.DependencyModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+// Smdn.Fundamental.Reflection, Version=3.7.0.0, Culture=neutral
+// Smdn.Reflection.ReverseGenerating, Version=1.4.0.0, Culture=neutral
+// System.Collections, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Linq, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Reflection.Metadata, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Reflection.MetadataLoadContext, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+// System.Runtime, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Runtime.InteropServices, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+// System.Runtime.Loader, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+#nullable enable annotations
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.IO;
+using System.Reflection;
+using System.Runtime.Versioning;
+using Microsoft.Extensions.Logging;
+using Smdn.Reflection.ReverseGenerating;
+using Smdn.Reflection.ReverseGenerating.ListApi;
+
+namespace Smdn.Reflection.ReverseGenerating.ListApi {
+ public class ApiListWriter {
+ public ApiListWriter(TextWriter baseWriter, Assembly assembly, ApiListWriterOptions? options) {}
+ public ApiListWriter(TextWriter baseWriter, Assembly assembly, ApiListWriterOptions? options, ILogger? logger) {}
+
+ public TextWriter BaseWriter { get; }
+
+ [Obsolete("Use WriteHeader")]
+ public void WriteAssemblyInfoHeader() {}
+ public void WriteExportedTypes() {}
+ public void WriteFooter() {}
+ public void WriteHeader() {}
+ }
+
+ public class ApiListWriterOptions : GeneratorOptions {
+ public class WriterOptions {
+ public WriterOptions() {}
+
+ public bool OmitCompilerGeneratedRecordEqualityMethods { get; set; }
+ public bool OrderStaticMembersFirst { get; set; }
+ public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
+ public bool WriteAssemblyInfo { get; set; }
+ public bool WriteEmbeddedResources { get; set; }
+ public bool WriteFooter { get; set; }
+ public bool WriteHeader { get; set; }
+ public bool WriteNullableAnnotationDirective { get; set; }
+ public bool WriteReferencedAssemblies { get; set; }
+ }
+
+ public ApiListWriterOptions() {}
+
+ public ApiListWriterOptions.WriterOptions Writer { get; }
+ }
+
+ public static class AssemblyExtensions {
+ [return: MaybeNull] public static TValue GetAssemblyMetadataAttributeValue<TAssemblyMetadataAttribute, TValue>(this Assembly assm) where TAssemblyMetadataAttribute : Attribute {}
+ }
+
+ public sealed class AssemblyFileNotFoundException : FileNotFoundException {
+ public AssemblyFileNotFoundException() {}
+ public AssemblyFileNotFoundException(string? message) {}
+ public AssemblyFileNotFoundException(string? message, Exception? innerException) {}
+ public AssemblyFileNotFoundException(string? message, string? fileName, Exception? innerException) {}
+ }
+
+ public static class AssemblyLoader {
+ [return: MaybeNull] public static TResult UsingAssembly<TArg, TResult>(FileInfo assemblyFile, bool loadIntoReflectionOnlyContext, TArg arg, Func<Assembly, TArg, TResult>? actionWithLoadedAssembly, out WeakReference? context, ILogger? logger = null) {}
+ [return: MaybeNull] public static TResult UsingAssembly<TArg, TResult>(Stream assemblyStream, string componentAssemblyPath, bool loadIntoReflectionOnlyContext, TArg arg, Func<Assembly, TArg, TResult> actionWithLoadedAssembly, out WeakReference? context, ILogger? logger = null) {}
+ }
+
+ public static class AttributeFilter {
+ public static readonly AttributeTypeFilter Default; // = "Smdn.Reflection.ReverseGenerating.AttributeTypeFilter"
+ }
+
+ public static class FrameworkMonikers {
+ public static bool TryGetMoniker(FrameworkName frameworkName, string? osSpecifier, [NotNullWhen(true)] out string? frameworkMoniker) {}
+ }
+
+ public class MemberInfoComparer : IComparer<MemberInfo> {
+ public static readonly MemberInfoComparer Default; // = "Smdn.Reflection.ReverseGenerating.ListApi.MemberInfoComparer"
+ public static readonly MemberInfoComparer StaticMembersFirst; // = "Smdn.Reflection.ReverseGenerating.ListApi.MemberInfoComparer"
+
+ public MemberInfoComparer(int orderOfStaticMember, int orderOfInstanceMember) {}
+
+ public int Compare(MemberInfo? x, MemberInfo? y) {}
+ public int GetOrder(MemberInfo? member) {}
+ }
+}
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs
index 719f9b8..6109926 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs
@@ -1,100 +1,104 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.Core.dll (Smdn.Reflection.ReverseGenerating.ListApi.Core-1.4.0)
+// Smdn.Reflection.ReverseGenerating.ListApi.Core.dll (Smdn.Reflection.ReverseGenerating.ListApi.Core-1.5.1)
// Name: Smdn.Reflection.ReverseGenerating.ListApi.Core
-// AssemblyVersion: 1.4.0.0
-// InformationalVersion: 1.4.0+02191f3bb6a47b2118ccf01f9d8443bf8e5e8cce
+// AssemblyVersion: 1.5.1.0
+// InformationalVersion: 1.5.1+194cfa4277b6b9f373b1067798cdb665abbcc81f
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
+// Metadata: IsTrimmable=True
+// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Reflection.ReverseGenerating
+// Metadata: RepositoryBranch=main
+// Metadata: RepositoryCommit=194cfa4277b6b9f373b1067798cdb665abbcc81f
// Referenced assemblies:
// Microsoft.Extensions.DependencyModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Fundamental.Reflection, Version=3.7.0.0, Culture=neutral
// Smdn.Reflection.ReverseGenerating, Version=1.4.0.0, Culture=neutral
// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Reflection.MetadataLoadContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using ...Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks version 1.7.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-11-24 update assembly version
- 2025-11-24 add support for .NET 10
- 2025-11-24 build depending assemblies without generating the API list to avoid NU1108 error during
dotnet pack - 2025-11-24 simplify generating README file
- 2025-11-23 bump Microsoft.Build.Utilities.Core up to 17.8.43
- 2025-07-09 apply updates from template
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
deleted file mode 100644
index ae7e842..0000000
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.6.0)
-// Name: Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks
-// AssemblyVersion: 1.6.0.0
-// InformationalVersion: 1.6.0+6da2e2bdd2ac6b4c3e58e59b5366b3c597dea2dc
-// TargetFramework: .NETCoreApp,Version=v8.0
-// Configuration: Release
-// Referenced assemblies:
-// Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Smdn.Reflection.ReverseGenerating, Version=1.4.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.4.0.0, Culture=neutral
-// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-#nullable enable annotations
-
-using Microsoft.Build.Framework;
-using Microsoft.Build.Utilities;
-
-namespace Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks {
- public class GenerateApiList : Task {
- public GenerateApiList() {}
-
- [Required]
- public ITaskItem[]? Assemblies { get; set; }
- public bool GenerateAssemblyInfo { get; set; }
- public bool GenerateAttributeWithNamedArguments { get; set; }
- public bool GenerateEmbeddedResources { get; set; }
- public bool GenerateFullTypeName { get; set; }
- public bool GenerateLanguagePrimitiveType { get; set; }
- public string? GenerateMethodBody { get; set; }
- public bool GenerateNullableAnnotations { get; set; }
- public bool GenerateRecordTypes { get; set; }
- public bool GenerateReferencedAssemblies { get; set; }
- public bool GenerateStaticMembersFirst { get; set; }
- public bool GenerateTypeNameWithDeclaringTypeName { get; set; }
- public bool GenerateValueWithDefaultLiteral { get; set; }
- [Output]
- public ITaskItem[]? GeneratedFiles { get; }
- public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
-
- public override bool Execute() {}
- }
-}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Directory.Build.targets b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Directory.Build.targets
index 268af64..479ca9c 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Directory.Build.targets
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Directory.Build.targets
@@ -5,7 +5,6 @@ SPDX-License-Identifier: MIT
<Project>
<ImportGroup>
<Import Project="$(MSBuildThisFileDirectory)..\Directory.Build.targets" />
- <Import Project="$(MSBuildThisFileDirectory)UsingExportedTasks.targets" />
<Import Project="$(MSBuildThisFileDirectory)ReadmeFile.targets" />
</ImportGroup>
</Project>
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets
index a88873b..12275af 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets
@@ -31,6 +31,10 @@ SPDX-License-Identifier: MIT
<!-- .NET 9.x (use files that target .NET 8) -->
@(TaskFiles->WithMetadataValue('TargetFramework', 'net8.0')->'%(ImportLine)', '%0D%0A ')
</ImportGroup>
+ <ImportGroup Condition=" '%24(MSBuildRuntimeType)' == 'Core' and %24([System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription.StartsWith('.NET 10.')) ">
+ <!-- .NET 10.x -->
+ @(TaskFiles->WithMetadataValue('TargetFramework', 'net10.0')->'%(ImportLine)', '%0D%0A ')
+ </ImportGroup>
</Project>
]]></GenerateMSBuildTargetsFileLines>
</PropertyGroup>
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets
index dd9638d..204ab88 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets
@@ -21,7 +21,7 @@ SPDX-License-Identifier: MIT
<CoreAssemblyOutputs Include="$(OutputPath)**\Smdn*.dll"/>
</ItemGroup>
- <GetCoreAssemblyInformationsFromLoadedAssembly AssemblyNames="%(CoreAssemblyOutputs.Filename)" Condition="'$(UseExportedTasksFromOutputAssembly)' == 'true'">
+ <GetCoreAssemblyInformationsFromLoadedAssembly AssemblyFiles="%(CoreAssemblyOutputs.FullPath)">
<Output TaskParameter="AssemblyInformations" ItemName="CoreAssemblyInformations" />
</GetCoreAssemblyInformationsFromLoadedAssembly>
@@ -49,22 +49,31 @@ SPDX-License-Identifier: MIT
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll"
>
<ParameterGroup>
- <AssemblyNames ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
+ <AssemblyFiles ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
<AssemblyInformations ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Using Namespace="System.Linq" />
+ <Using Namespace="System.IO" />
<Using Namespace="System.Reflection" />
<Using Namespace="System.Runtime.Versioning" />
<Code Type="Fragment" Language="cs"><![CDATA[
- AssemblyInformations = AssemblyNames
- .Select(item =>
- AppDomain
+ AssemblyInformations = AssemblyFiles
+ .Select(static item => {
+ var assemblyName = Path.GetFileNameWithoutExtension(item.ItemSpec);
+
+ // find expected assembly from loaded assemblies
+ var assm = AppDomain
.CurrentDomain
.GetAssemblies()
- .First(assembly => assembly.GetName().Name == item.ItemSpec)
- )
+ .FirstOrDefault(assembly => assembly.GetName().Name == assemblyName);
+
+ // load assembly from file
+ assm ??= Assembly.LoadFrom(item.ItemSpec);
+
+ return assm;
+ })
.Select(static assembly =>
(
Name: assembly.GetName().Name,
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
index 121c460..660f1fc 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
@@ -4,12 +4,10 @@ SPDX-License-Identifier: MIT
-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFrameworks>net8.0</TargetFrameworks>
+ <TargetFrameworks>net10.0;net8.0</TargetFrameworks>
<RootNamespace>Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks</RootNamespace>
- <VersionPrefix>1.6.0</VersionPrefix>
+ <VersionPrefix>1.7.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
- <RootNamespac...Smdn.Reflection.ReverseGenerating.ListApi version 1.5.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-11-24 remove dead <PackageReference>s
- 2025-11-24 add support for .NET 10
- 2025-11-23 update assembly version
- 2025-11-23 bump System.CommandLine up to 2.0.0
- 2025-11-23 bump Microsoft.Build.* up to 17.11.48
- 2025-07-09 fix and suppress warnings
- 2025-07-09 apply updates from template
Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs
index 3416446..8349e34 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs
@@ -18,9 +18,9 @@ using Microsoft.Extensions.Logging;
namespace Smdn.Reflection.ReverseGenerating.ListApi.Build;
public static class ProjectBuilder {
-#pragma warning disable CA1724
+#pragma warning disable CA1034, CA1724
public class Options {
-#pragma warning restore CA1724
+#pragma warning restore CA1034, CA1724
public const string DefaultConfiguration = "Debug";
public string? Configuration { get; init; } = DefaultConfiguration;
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj
index 567939c..f8af549 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj
@@ -6,15 +6,13 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<OutputType>Exe</OutputType>
<PackAsTool>true</PackAsTool>
- <TargetFrameworks>net8.0<!-- ;net472 --></TargetFrameworks>
- <AssemblyName>Smdn.Reflection.ReverseGenerating.ListApi</AssemblyName>
+ <TargetFrameworks>net10.0;net8.0<!-- ;net472 --></TargetFrameworks>
<ToolCommandName>list-api</ToolCommandName>
- <VersionPrefix>1.4.0</VersionPrefix>
+ <VersionPrefix>1.5.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
- <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0130 -->
- <Nullable>enable</Nullable>
<NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
<NoWarn>CS2002;$(NoWarn)</NoWarn> <!-- see target 'WriteConstantsFile' -->
+ <NoWarn>CA1515;$(NoWarn)</NoWarn> <!-- CA1515: Consider making public types internal / Must be public because it is referenced from the test project. -->
<EnableFeature_BuildProjectFile Condition=" '$(Configuration)' != 'Release' ">true</EnableFeature_BuildProjectFile>
<APIListEnableGenerating>false</APIListEnableGenerating>
<GeneratePackageReadmeFile>false</GeneratePackageReadmeFile>
@@ -34,21 +32,20 @@ SPDX-License-Identifier: MIT
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="System.CommandLine" Version="2.0.0-beta5.25306.1" />
- <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" Condition="$(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('netcoreapp'))" />
+ <PackageReference Include="System.CommandLine" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" Condition="$(TargetFramework.StartsWith('net8.'))" />
+ <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="10.0.0" Condition="$(TargetFramework.StartsWith('net10.'))" />
<ProjectOrPackageReference ReferencePackageVersion="[1.4.0,2.0.0)" Include="..\Smdn.Reflection.ReverseGenerating.ListApi.Core\Smdn.Reflection.ReverseGenerating.ListApi.Core.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(EnableFeature_BuildProjectFile)' == 'True' ">
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" Condition="$(TargetFramework.StartsWith('net4'))" />
- <PackageReference Include="Microsoft.Build" Version="17.11.31" />
- <PackageReference Include="Microsoft.Build.Utilities.Core" Version="17.11.31" />
- <PackageReference Include="Microsoft.Build.Tasks.Core" Version="17.11.31" />
- <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" Condition="$(TargetFramework.StartsWith('net6.'))" />
- <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="7.0.0" Condition="$(TargetFramework.StartsWith('net7.'))" />
+ <PackageReference Include="Microsoft.Build" Version="17.11.48" />
+ <PackageReference Include="Microsoft.Build.Utilities.Core" Version="17.11.48" />
+ <PackageReference Include="Microsoft.Build.Tasks.Core" Version="17.11.48" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="8.0.0" Condition="$(TargetFramework.StartsWith('net8.'))" />
+ <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="10.0.0" Condition="$(TargetFramework.StartsWith('net10.'))" />
<PackageReference Include="Microsoft.NET.HostModel" Version="3.1.16" />
<PackageReference Include="NuGet.ProjectModel" Version="6.14.0" />
<PackageReference Include="Smdn.Fundamental.Shell" Version="3.0.0" />Notes
What's Changed
Dependencies
- Bump smdn/Smdn.Fundamentals/.github/workflows/test.yml@workflows/test/v1.4.1 from 1.4.1 to 1.4.2 by @dependabot[bot] in #51
- Bump smdn/Smdn.Fundamentals/.github/workflows/publish-release-target.yml@workflows/release-target/v1.10.2 from 1.10.2 to 1.10.3 by @dependabot[bot] in #52
- Bump smdn/Smdn.Fundamentals/.github/workflows/generate-release-target.yml@workflows/release-target/v1.10.2 from 1.10.2 to 1.10.3 by @dependabot[bot] in #53
- Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #57
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #58
- Bump actions/checkout from 5.0.0 to 5.0.1 in the github-actions-workflows group by @dependabot[bot] in #59
New Contributors
- @dependabot[bot] made their first contribution in #51
Full Changelog: releases/Smdn.Reflection.ReverseGenerating.ListApi-1.4.0...releases/Smdn.Reflection.ReverseGenerating.ListApi-1.5.0
Smdn.Reflection.ReverseGenerating.ListApi version 1.4.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-06-28 Revert "update assembly version"
- 2025-06-28 update assembly version
- 2025-06-28 add option '--use-built-in-type-alias'
- 2025-06-28 fix typo
- 2025-06-28 bump System.CommandLine up to 2.0.0-beta5.25306.1
- 2025-06-28 update assembly version
- 2025-06-28 add option '--generate-records' to improve generating of record types
- 2025-06-25 fix typo and replace to more better word
- 2025-06-25 bump dependencies
- 2025-04-21 fix typo in comment
- 2024-12-14 drop target framework net6.0
Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs
index d9e5e7c..3416446 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.Build/ProjectBuilder.cs
@@ -117,7 +117,7 @@ public static class ProjectBuilder {
yield return new FileInfo(innerOutputFullPath);
}
- // retrieve Build target result / for in cace of building with single target framework
+ // retrieve Build target result / for in case of building with single target framework
if (result.HasResultsForTarget("Build")) {
var buildTargetResult = result.ResultsByTarget["Build"];
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj
index 0ec0875..567939c 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi.csproj
@@ -6,12 +6,12 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<OutputType>Exe</OutputType>
<PackAsTool>true</PackAsTool>
- <TargetFrameworks>net8.0;net6.0<!-- ;net472 --></TargetFrameworks>
+ <TargetFrameworks>net8.0<!-- ;net472 --></TargetFrameworks>
<AssemblyName>Smdn.Reflection.ReverseGenerating.ListApi</AssemblyName>
<ToolCommandName>list-api</ToolCommandName>
- <VersionPrefix>1.3.0</VersionPrefix>
+ <VersionPrefix>1.4.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
- <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0030 -->
+ <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0130 -->
<Nullable>enable</Nullable>
<NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
<NoWarn>CS2002;$(NoWarn)</NoWarn> <!-- see target 'WriteConstantsFile' -->
@@ -34,26 +34,23 @@ SPDX-License-Identifier: MIT
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
+ <PackageReference Include="System.CommandLine" Version="2.0.0-beta5.25306.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" Condition="$(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('netcoreapp'))" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" Condition="$(TargetFramework.StartsWith('net8.'))" />
- <ProjectOrPackageReference ReferencePackageVersion="[1.3.0,2.0.0)" Include="..\Smdn.Reflection.ReverseGenerating.ListApi.Core\Smdn.Reflection.ReverseGenerating.ListApi.Core.csproj" />
+ <ProjectOrPackageReference ReferencePackageVersion="[1.4.0,2.0.0)" Include="..\Smdn.Reflection.ReverseGenerating.ListApi.Core\Smdn.Reflection.ReverseGenerating.ListApi.Core.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(EnableFeature_BuildProjectFile)' == 'True' ">
- <!-- Overrides the package version of Newtonsoft.Json which NuGet.Packaging refers to -->
- <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
-
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" Condition="$(TargetFramework.StartsWith('net4'))" />
- <PackageReference Include="Microsoft.Build" Version="16.11.0" />
- <PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.11.0" />
- <PackageReference Include="Microsoft.Build.Tasks.Core" Version="16.11.0" />
+ <PackageReference Include="Microsoft.Build" Version="17.11.31" />
+ <PackageReference Include="Microsoft.Build.Utilities.Core" Version="17.11.31" />
+ <PackageReference Include="Microsoft.Build.Tasks.Core" Version="17.11.31" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="6.0.0" Condition="$(TargetFramework.StartsWith('net6.'))" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="7.0.0" Condition="$(TargetFramework.StartsWith('net7.'))" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="8.0.0" Condition="$(TargetFramework.StartsWith('net8.'))" />
<PackageReference Include="Microsoft.NET.HostModel" Version="3.1.16" />
- <PackageReference Include="NuGet.ProjectModel" Version="5.11.0" />
+ <PackageReference Include="NuGet.ProjectModel" Version="6.14.0" />
<PackageReference Include="Smdn.Fundamental.Shell" Version="3.0.0" />
</ItemGroup>
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/Program.cs b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/Program.cs
index 20cd597..7400b05 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/Program.cs
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/Program.cs
@@ -1,10 +1,6 @@
// SPDX-FileCopyrightText: 2021 smdn <[email protected]>
// SPDX-License-Identifier: MIT
using System;
-using System.CommandLine;
-using System.CommandLine.Builder;
-using System.CommandLine.Parsing;
-using System.Reflection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
@@ -28,33 +24,17 @@ internal sealed class Program {
using var serviceProvider = services.BuildServiceProvider();
var rootCommand = new RootCommandImplementation(serviceProvider).CreateCommand();
- var builder =
- new CommandLineBuilder(rootCommand)
- .UseDefaults()
- .UseExceptionHandler(
- onException: static (ex, context) => {
- Exception? caughtException = ex;
-
- if (ex is TargetInvocationException exTargetInvocation)
- caughtException = exTargetInvocation.InnerException;
-
- switch (caughtException) {
- case InvalidCommandOperationException exInvalidCommandOperation:
- Console.Error.WriteLine(exInvalidCommandOperation.Message);
- break;
-
- case CommandOperationNotSupportedException exCommandOperationNotSupported:
- Console.Error.WriteLine(exCommandOperationNotSupported.Message);
- break;
-
- default:
- Console.Error.WriteLine(caughtException);
- break;
- }
- },
- errorExitCode: -1
- );
- return builder.Build().Invoke(args);
+ try {
+ return rootCommand.Parse(args).Invoke();
+ }
+ catch (InvalidCommandOperationException ex) {
+ Console.Error.WriteLine(ex.Message);
+ return -1;
+ }
+ catch (CommandOperationNotSupportedException ex) {
+ Console.Error.WriteLine(ex.Message);
+ return -1;
+ }
}
}
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/RootCommandImplementation.cs b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/RootCommandImplementation.cs
index 4ae99be..e94c77a 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/RootCommandImplementation.cs
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi/Smdn.Reflection.ReverseGenerating.ListApi/RootCommandImplementation.cs
@...Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks version 1.6.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-06-28 update assembly version
- 2025-06-28 add option 'GenerateRecordTypes' to improve generating of record types
- 2025-06-25 fix typo and replace to more better word
- 2025-04-21 fix typo in comment
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
index 52088cd..ae7e842 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
@@ -1,46 +1,47 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.5.0)
+// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.6.0)
// Name: Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks
-// AssemblyVersion: 1.5.0.0
-// InformationalVersion: 1.5.0+46795e683ad7589956c2248284abae8fee6923cb
+// AssemblyVersion: 1.6.0.0
+// InformationalVersion: 1.6.0+6da2e2bdd2ac6b4c3e58e59b5366b3c597dea2dc
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.1.0, Culture=neutral
+// Smdn.Reflection.ReverseGenerating, Version=1.4.0.0, Culture=neutral
+// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.4.0.0, Culture=neutral
// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks {
public class GenerateApiList : Task {
public GenerateApiList() {}
[Required]
public ITaskItem[]? Assemblies { get; set; }
public bool GenerateAssemblyInfo { get; set; }
public bool GenerateAttributeWithNamedArguments { get; set; }
public bool GenerateEmbeddedResources { get; set; }
public bool GenerateFullTypeName { get; set; }
public bool GenerateLanguagePrimitiveType { get; set; }
public string? GenerateMethodBody { get; set; }
public bool GenerateNullableAnnotations { get; set; }
+ public bool GenerateRecordTypes { get; set; }
public bool GenerateReferencedAssemblies { get; set; }
public bool GenerateStaticMembersFirst { get; set; }
public bool GenerateTypeNameWithDeclaringTypeName { get; set; }
public bool GenerateValueWithDefaultLiteral { get; set; }
[Output]
public ITaskItem[]? GeneratedFiles { get; }
public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
public override bool Execute() {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.5.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets
index 7020fb3..dd9638d 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/ReadmeFile.targets
@@ -63,13 +63,13 @@ SPDX-License-Identifier: MIT
AppDomain
.CurrentDomain
.GetAssemblies()
- .First(assm => assm.GetName().Name == item.ItemSpec)
+ .First(assembly => assembly.GetName().Name == item.ItemSpec)
)
- .Select(static assm =>
+ .Select(static assembly =>
(
- Name: assm.GetName().Name,
- InformationalVersion: assm.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion,
- TargetFramework: assm.GetCustomAttribute<TargetFrameworkAttribute>().FrameworkName
+ Name: assembly.GetName().Name,
+ InformationalVersion: assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion,
+ TargetFramework: assembly.GetCustomAttribute<TargetFrameworkAttribute>().FrameworkName
)
)
.Distinct()
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
index a9d3842..121c460 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
@@ -6,9 +6,9 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<RootNamespace>Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks</RootNamespace>
- <VersionPrefix>1.5.0</VersionPrefix>
+ <VersionPrefix>1.6.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
- <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0030 -->
+ <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0130 -->
<Nullable>enable</Nullable>
<NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateApiList.cs b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateApiList.cs
index 0bb72fd..2dbad72 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateApiList.cs
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateApiList.cs
@@ -31,6 +31,7 @@ public class GenerateApiList : Task {
public bool GenerateAssemblyInfo { get; set; } = true;
public bool GenerateEmbeddedResources { get; set; } = true;
public bool GenerateReferencedAssemblies { get; set; } = true;
+ public bool GenerateRecordTypes { get; set; } = true;
public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; } = true;
#pragma warning disable CA1819
@@ -149,6 +150,10 @@ public class GenerateApiList : Task {
options.AttributeDeclaration.WithNamedArguments = GenerateAttributeWithNamedArguments;
options.ValueDeclaration.UseDefaultLiteral = GenerateValueWithDefaultLiteral;
+
+ options.TypeDeclaration.EnableRecordTypes = GenerateRecordTypes;
+ options.TypeDeclaration.OmitRecordImplicitInterface = GenerateRecordTypes;
+ options.Writer.OmitCompilerGeneratedRecordEqualityMethods = GenerateRecordTypes;
#pragma warning restore IDE0017, IDE0055
return options;
@@ -174,7 +179,7 @@ public class GenerateApiList : Task {
logger: logger,
context: out var context,
loadIntoReflectionOnlyContext: loadIntoReflectionOnlyContext,
- actionWithLoadedAssembly: static (assm, arg) => {
+ actionWithLoadedAssembly: static (assembly, arg) => {
// ensure the output directory existing
Directory.CreateDirectory(Path.GetDirectoryName(arg.outputApiListFilePath)!);
@@ -196,7 +201,7 @@ public class GenerateApiList : Task {
#endif
var writer = new ApiListWriter(
outputWriter,
- assm,
+ assembly,
arg.options,
...Smdn.Reflection.ReverseGenerating.ListApi.Core version 1.4.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-06-28 add CompatibilitySuppressions.xml
- 2025-06-28 update assembly version
- 2025-06-28 add ApiListWriterOptions.WriterOptions.OmitCompilerGeneratedRecordEqualityMethods to improve generating record types
- 2025-06-25 fix typo and replace to more better word
- 2024-12-14 update package reference for future use
- 2024-12-14 remove dead codes
- 2024-12-14 drop target framework net6.0
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net6.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net6.0.apilist.cs
deleted file mode 100644
index 76b7a57..0000000
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net6.0.apilist.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.Core.dll (Smdn.Reflection.ReverseGenerating.ListApi.Core-1.3.1)
-// Name: Smdn.Reflection.ReverseGenerating.ListApi.Core
-// AssemblyVersion: 1.3.1.0
-// InformationalVersion: 1.3.1+2045310a22e5222b2462fc1f376ef4522587ec1e
-// TargetFramework: .NETCoreApp,Version=v6.0
-// Configuration: Release
-// Referenced assemblies:
-// Microsoft.Extensions.DependencyModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Smdn.Fundamental.Reflection, Version=3.6.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
-// System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Reflection.MetadataLoadContext, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
-// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Runtime.Loader, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-#nullable enable annotations
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.IO;
-using System.Reflection;
-using System.Runtime.Versioning;
-using Microsoft.Extensions.Logging;
-using Smdn.Reflection.ReverseGenerating;
-using Smdn.Reflection.ReverseGenerating.ListApi;
-
-namespace Smdn.Reflection.ReverseGenerating.ListApi {
- public class ApiListWriter {
- public ApiListWriter(TextWriter baseWriter, Assembly assembly, ApiListWriterOptions? options) {}
- public ApiListWriter(TextWriter baseWriter, Assembly assembly, ApiListWriterOptions? options, ILogger? logger) {}
-
- public TextWriter BaseWriter { get; }
-
- [Obsolete("Use WriteHeader")]
- public void WriteAssemblyInfoHeader() {}
- public void WriteExportedTypes() {}
- public void WriteFooter() {}
- public void WriteHeader() {}
- }
-
- public class ApiListWriterOptions : GeneratorOptions {
- public class WriterOptions {
- public WriterOptions() {}
-
- public bool OrderStaticMembersFirst { get; set; }
- public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
- public bool WriteAssemblyInfo { get; set; }
- public bool WriteEmbeddedResources { get; set; }
- public bool WriteFooter { get; set; }
- public bool WriteHeader { get; set; }
- public bool WriteNullableAnnotationDirective { get; set; }
- public bool WriteReferencedAssemblies { get; set; }
- }
-
- public ApiListWriterOptions() {}
-
- public ApiListWriterOptions.WriterOptions Writer { get; }
- }
-
- public static class AssemblyExtensions {
- [return: MaybeNull] public static TValue GetAssemblyMetadataAttributeValue<TAssemblyMetadataAttribute, TValue>(this Assembly assm) where TAssemblyMetadataAttribute : Attribute {}
- }
-
- public sealed class AssemblyFileNotFoundException : FileNotFoundException {
- public AssemblyFileNotFoundException() {}
- public AssemblyFileNotFoundException(string? message) {}
- public AssemblyFileNotFoundException(string? message, Exception? innerException) {}
- public AssemblyFileNotFoundException(string? message, string? fileName, Exception? innerException) {}
- }
-
- public static class AssemblyLoader {
- [return: MaybeNull] public static TResult UsingAssembly<TArg, TResult>(FileInfo assemblyFile, bool loadIntoReflectionOnlyContext, TArg arg, Func<Assembly, TArg, TResult>? actionWithLoadedAssembly, out WeakReference? context, ILogger? logger = null) {}
- [return: MaybeNull] public static TResult UsingAssembly<TArg, TResult>(Stream assemblyStream, string componentAssemblyPath, bool loadIntoReflectionOnlyContext, TArg arg, Func<Assembly, TArg, TResult> actionWithLoadedAssembly, out WeakReference? context, ILogger? logger = null) {}
- }
-
- public static class AttributeFilter {
- public static readonly AttributeTypeFilter Default; // = "Smdn.Reflection.ReverseGenerating.AttributeTypeFilter"
- }
-
- public static class FrameworkMonikers {
- public static bool TryGetMoniker(FrameworkName frameworkName, string? osSpecifier, [NotNullWhen(true)] out string? frameworkMoniker) {}
- }
-
- public class MemberInfoComparer : IComparer<MemberInfo> {
- public static readonly MemberInfoComparer Default; // = "Smdn.Reflection.ReverseGenerating.ListApi.MemberInfoComparer"
- public static readonly MemberInfoComparer StaticMembersFirst; // = "Smdn.Reflection.ReverseGenerating.ListApi.MemberInfoComparer"
-
- public MemberInfoComparer(int orderOfStaticMember, int orderOfInstanceMember) {}
-
- public int Compare(MemberInfo? x, MemberInfo? y) {}
- public int GetOrder(MemberInfo? member) {}
- }
-}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs
index 2ec6d63..c7a56f6 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.Core/Smdn.Reflection.ReverseGenerating.ListApi.Core-net8.0.apilist.cs
@@ -1,99 +1,100 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.Core.dll (Smdn.Reflection.ReverseGenerating.ListApi.Core-1.3.1)
+// Smdn.Reflection.ReverseGenerating.ListApi.Core.dll (Smdn.Reflection.ReverseGenerating.ListApi.Core-1.4.0)
// Name: Smdn.Reflection.ReverseGenerating.ListApi.Core
-// AssemblyVersion: 1.3.1.0
-// InformationalVersion: 1.3.1+2045310a22e5222b2462fc1f376ef4522587ec1e
+// AssemblyVersion: 1.4.0.0
+// InformationalVersion: 1.4.0+02191f3bb6a47b2118ccf01f9d8443bf8e5e8cce
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Extensions.DependencyModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Smdn.Fundamental.Reflection, Version=3.6.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
+// Smdn.Fundamental.Reflection, Version=3.7.0.0, Culture=neutral
+// Smdn.Reflection.ReverseGenerating, Version=1.4.0.0, Culture=neutral
// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Reflection.MetadataLoadContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Reflecti...Smdn.Reflection.ReverseGenerating version 1.4.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2025-06-28 add CompatibilitySuppressions.xml
- 2025-06-28 update assembly version
- 2025-06-28 add GeneratorOptions.TypeDeclarationOptions.EnableRecordTypes to improve generating record types
- 2025-06-28 bump Smdn.Fundamental.Reflection up to 3.7.0
- 2025-06-28 improve implementation for AttributeDeclarationOptions.OmitInaccessibleMembersInNullStateAttribute
- 2025-06-26 add AttributeDeclarationOptions.OmitInaccessibleMembersInNullStateAttribute
- 2025-06-26 simplify expressions
- 2025-06-25 fix typo and replace to more better word
- 2025-04-21 fix typo in comment
- 2024-12-14 drop target framework net6.0
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating/Smdn.Reflection.ReverseGenerating-net45.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating/Smdn.Reflection.ReverseGenerating-net45.apilist.cs
index 3ee4c42..a515746 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating/Smdn.Reflection.ReverseGenerating-net45.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating/Smdn.Reflection.ReverseGenerating-net45.apilist.cs
@@ -1,134 +1,137 @@
-// Smdn.Reflection.ReverseGenerating.dll (Smdn.Reflection.ReverseGenerating-1.3.0)
+// Smdn.Reflection.ReverseGenerating.dll (Smdn.Reflection.ReverseGenerating-1.4.0)
// Name: Smdn.Reflection.ReverseGenerating
-// AssemblyVersion: 1.3.0.0
-// InformationalVersion: 1.3.0+1e9a9d918b8a2ba6fe994e2fa60ff5f7c5b2544e
+// AssemblyVersion: 1.4.0.0
+// InformationalVersion: 1.4.0+18ee669c79d1bf31c72c392aff42f18f4184ea59
// TargetFramework: .NETFramework,Version=v4.5
// Configuration: Release
// Referenced assemblies:
-// Smdn.Fundamental.Reflection, Version=3.6.0.0, Culture=neutral
+// Smdn.Fundamental.Reflection, Version=3.7.0.0, Culture=neutral
// System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.Reflection;
using Smdn.Reflection;
using Smdn.Reflection.ReverseGenerating;
namespace Smdn.Reflection.ReverseGenerating {
public delegate bool AttributeTypeFilter(Type type, ICustomAttributeProvider attributeProvider);
public enum AttributeSectionFormat : int {
Discrete = 1,
List = 0,
}
public enum MethodBodyOption : int {
EmptyImplementation = 1,
None = 0,
ThrowNotImplementedException = 2,
ThrowNull = 3,
}
public static class CSharpFormatter {
public static string EscapeString(string s, bool escapeSingleQuote = false, bool escapeDoubleQuote = false) {}
public static string FormatAccessibility(Accessibility accessibility) {}
public static string FormatParameter(ParameterInfo p, bool typeWithNamespace = true, bool useDefaultLiteral = false) {}
public static string FormatParameterList(MethodBase m, bool typeWithNamespace = true, bool useDefaultLiteral = false) {}
public static string FormatParameterList(ParameterInfo[] parameterList, bool typeWithNamespace = true, bool useDefaultLiteral = false) {}
public static string FormatSpecialNameMethod(MethodBase methodOrConstructor, out MethodSpecialName nameType) {}
public static string FormatTypeName(this EventInfo ev, bool typeWithNamespace = true, bool withDeclaringTypeName = true, bool translateLanguagePrimitiveType = true) {}
public static string FormatTypeName(this FieldInfo f, bool typeWithNamespace = true, bool withDeclaringTypeName = true, bool translateLanguagePrimitiveType = true) {}
public static string FormatTypeName(this ParameterInfo p, bool typeWithNamespace = true, bool withDeclaringTypeName = true, bool translateLanguagePrimitiveType = true) {}
public static string FormatTypeName(this PropertyInfo p, bool typeWithNamespace = true, bool withDeclaringTypeName = true, bool translateLanguagePrimitiveType = true) {}
public static string FormatTypeName(this Type t, ICustomAttributeProvider? attributeProvider = null, bool typeWithNamespace = true, bool withDeclaringTypeName = true, bool translateLanguagePrimitiveType = true) {}
public static string FormatValueDeclaration(object? val, Type typeOfValue, bool typeWithNamespace = true, bool findConstantField = false, bool useDefaultLiteral = false) {}
public static bool IsLanguagePrimitiveType(Type t, out string primitiveTypeName) {}
public static IEnumerable<string> ToNamespaceList(Type t) {}
}
public static class Generator {
public static IEnumerable<string> GenerateAttributeList(ICustomAttributeProvider attributeProvider, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
public static IEnumerable<string> GenerateExplicitBaseTypeAndInterfaces(Type t, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
[Obsolete("Use GenerateGenericParameterConstraintDeclaration instead.")]
public static string GenerateGenericArgumentConstraintDeclaration(Type genericArgument, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
public static string GenerateGenericParameterConstraintDeclaration(Type genericParameter, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
public static string? GenerateMemberDeclaration(MemberInfo member, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
public static string GenerateTypeDeclaration(Type t, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
public static IEnumerable<string> GenerateTypeDeclarationWithExplicitBaseTypeAndInterfaces(Type t, ISet<string>? referencingNamespaces, GeneratorOptions options) {}
}
public class GeneratorOptions : ICloneable {
public class AttributeDeclarationOptions {
public AttributeDeclarationOptions() {}
public AttributeSectionFormat AccessorFormat { get; set; }
public AttributeSectionFormat AccessorParameterFormat { get; set; }
public AttributeSectionFormat BackingFieldFormat { get; set; }
public AttributeSectionFormat DelegateParameterFormat { get; set; }
public AttributeSectionFormat GenericParameterFormat { get; set; }
public AttributeSectionFormat MethodParameterFormat { get; set; }
public bool OmitAttributeSuffix { get; set; }
+ public bool OmitInaccessibleMembersInNullStateAttribute { get; set; }
public AttributeTypeFilter? TypeFilter { get; set; }
public bool WithDeclaringTypeName { get; set; }
public bool WithNamedArguments { get; set; }
public bool WithNamespace { get; set; }
}
public class MemberDeclarationOptions {
public MemberDeclarationOptions() {}
public MethodBodyOption AccessorBody { get; set; }
public MethodBodyOption MethodBody { get; set; }
public bool OmitEndOfStatement { get; set; }
public bool WithAccessibility { get; set; }
public bool WithDeclaringTypeName { get; set; }
public bool WithEnumTypeName { get; set; }
public bool WithNamespace { get; set; }
}
public class ParameterDeclarationOptions {
public ParameterDeclarationOptions() {}
public bool WithDeclaringTypeName { get; set; }
public bool WithNamespace { get; set; }
}
public class TypeDeclarationOptions {
public TypeDeclarationOptions() {}
+ public bool EnableRecordTypes { get; set; }
public bool OmitEndOfStatement { get; set; }
public bool OmitEnumUnderlyingTypeIfPossible { get; set; }
+ public bool OmitRecordImplicitInterface { get; set; }
public bool WithAccessibility { get; set; }
public bool WithDeclaringTypeName { get; set; }
public bool WithNamespace { get; set; }
}
public class ValueDeclarationOptions {
public ValueDeclarationOptions() {}
public bool UseDefaultLiteral { get; set; }
public bool WithDeclaringTypeName { get; set; }
public bool WithNamespace { get; set; }
}
public GeneratorOptions() {}
public GeneratorOptions.AttributeDeclarationOptions AttributeDeclaration { get; init; }
public bool IgnorePrivateOrAssembly { get; set; }
public string? Indent { get; set; }
public Gener...Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks version 1.5.0
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-12-14 add comment
- 2024-12-14 update assembly version
- 2024-12-14 add support for .NET 9
- 2024-12-14 drop target framework net6.0
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs
deleted file mode 100644
index 22a7295..0000000
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.1)
-// Name: Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks
-// AssemblyVersion: 1.4.1.0
-// InformationalVersion: 1.4.1+ab57e3a1a2b0640497492ded79982ed017bc9d8d
-// TargetFramework: .NETCoreApp,Version=v6.0
-// Configuration: Release
-// Referenced assemblies:
-// Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.1.0, Culture=neutral
-// System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-// System.Text.Encoding.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-#nullable enable annotations
-
-using Microsoft.Build.Framework;
-using Microsoft.Build.Utilities;
-
-namespace Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks {
- public class GenerateApiList : Task {
- public GenerateApiList() {}
-
- [Required]
- public ITaskItem[]? Assemblies { get; set; }
- public bool GenerateAssemblyInfo { get; set; }
- public bool GenerateAttributeWithNamedArguments { get; set; }
- public bool GenerateEmbeddedResources { get; set; }
- public bool GenerateFullTypeName { get; set; }
- public bool GenerateLanguagePrimitiveType { get; set; }
- public string? GenerateMethodBody { get; set; }
- public bool GenerateNullableAnnotations { get; set; }
- public bool GenerateReferencedAssemblies { get; set; }
- public bool GenerateStaticMembersFirst { get; set; }
- public bool GenerateTypeNameWithDeclaringTypeName { get; set; }
- public bool GenerateValueWithDefaultLiteral { get; set; }
- [Output]
- public ITaskItem[]? GeneratedFiles { get; }
- public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
-
- public override bool Execute() {}
- }
-}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
index c0fe0ff..52088cd 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
@@ -1,46 +1,46 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.1)
+// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.5.0)
// Name: Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks
-// AssemblyVersion: 1.4.1.0
-// InformationalVersion: 1.4.1+ab57e3a1a2b0640497492ded79982ed017bc9d8d
+// AssemblyVersion: 1.5.0.0
+// InformationalVersion: 1.5.0+46795e683ad7589956c2248284abae8fee6923cb
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.1.0, Culture=neutral
// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks {
public class GenerateApiList : Task {
public GenerateApiList() {}
[Required]
public ITaskItem[]? Assemblies { get; set; }
public bool GenerateAssemblyInfo { get; set; }
public bool GenerateAttributeWithNamedArguments { get; set; }
public bool GenerateEmbeddedResources { get; set; }
public bool GenerateFullTypeName { get; set; }
public bool GenerateLanguagePrimitiveType { get; set; }
public string? GenerateMethodBody { get; set; }
public bool GenerateNullableAnnotations { get; set; }
public bool GenerateReferencedAssemblies { get; set; }
public bool GenerateStaticMembersFirst { get; set; }
public bool GenerateTypeNameWithDeclaringTypeName { get; set; }
public bool GenerateValueWithDefaultLiteral { get; set; }
[Output]
public ITaskItem[]? GeneratedFiles { get; }
public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
public override bool Execute() {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.5.0.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets
index 57a4ddf..a88873b 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/GenerateMSBuildTargetsFile.targets
@@ -23,18 +23,14 @@ SPDX-License-Identifier: MIT
<!-- TODO: MSBuildRuntimeType == Full, Mono and otherwise -->
<GenerateMSBuildTargetsFileLines><![CDATA[
<Project>
- <ImportGroup Condition=" '%24(MSBuildRuntimeType)' == 'Core' and %24([System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription.StartsWith('.NET 6.')) ">
- <!-- .NET 6.x -->
- @(TaskFiles->WithMetadataValue('TargetFramework', 'net6.0')->'%(ImportLine)', '%0D%0A ')
- </ImportGroup>
- <ImportGroup Condition=" '%24(MSBuildRuntimeType)' == 'Core' and %24([System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription.StartsWith('.NET 7.')) ">
- <!-- .NET 7.x -->
- @(TaskFiles->WithMetadataValue('TargetFramework', 'net6.0')->'%(ImportLine)', '%0D%0A ')
- </ImportGroup>
<ImportGroup Condition=" '%24(MSBuildRuntimeType)' == 'Core' and %24([System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription.StartsWith('.NET 8.')) ">
<!-- .NET 8.x -->
@(TaskFiles->WithMetadataValue('TargetFramework', 'net8.0')->'%(ImportLine)', '%0D%0A ')
</ImportGroup>
+ <ImportGroup Condition=" '%24(MSBuildRuntimeType)' == 'Core' and %24([System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription.StartsWith('.NET 9.')) ">
+ <!-- .NET 9.x (use files that target .NET 8) -->
+ @(TaskFiles->WithMetadataValue('TargetFramework', 'net8.0')->'%(ImportLine)', '%0D%0A ')
+ </ImportGroup>
</Project>
]]></GenerateMSBuildTargetsFileLines>
</PropertyGroup>
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.M...Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks version 1.4.1
Released package
Release notes
The full release notes are available at gist.
Change log
Change log in this release:
- 2024-03-30 update assembly version
API changes
API changes in this release:
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs
index c0c069c..22a7295 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net6.0.apilist.cs
@@ -1,46 +1,46 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.0)
+// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.1)
// Name: Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks
-// AssemblyVersion: 1.4.0.0
-// InformationalVersion: 1.4.0+78f3fa29f3ae3518d1679e7201fc18b45d836481
+// AssemblyVersion: 1.4.1.0
+// InformationalVersion: 1.4.1+ab57e3a1a2b0640497492ded79982ed017bc9d8d
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.0.0, Culture=neutral
+// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.1.0, Culture=neutral
// System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Text.Encoding.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks {
public class GenerateApiList : Task {
public GenerateApiList() {}
[Required]
public ITaskItem[]? Assemblies { get; set; }
public bool GenerateAssemblyInfo { get; set; }
public bool GenerateAttributeWithNamedArguments { get; set; }
public bool GenerateEmbeddedResources { get; set; }
public bool GenerateFullTypeName { get; set; }
public bool GenerateLanguagePrimitiveType { get; set; }
public string? GenerateMethodBody { get; set; }
public bool GenerateNullableAnnotations { get; set; }
public bool GenerateReferencedAssemblies { get; set; }
public bool GenerateStaticMembersFirst { get; set; }
public bool GenerateTypeNameWithDeclaringTypeName { get; set; }
public bool GenerateValueWithDefaultLiteral { get; set; }
[Output]
public ITaskItem[]? GeneratedFiles { get; }
public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
public override bool Execute() {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
index 1e94c91..c0fe0ff 100644
--- a/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-net8.0.apilist.cs
@@ -1,46 +1,46 @@
-// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.0)
+// Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.dll (Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.1)
// Name: Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks
-// AssemblyVersion: 1.4.0.0
-// InformationalVersion: 1.4.0+78f3fa29f3ae3518d1679e7201fc18b45d836481
+// AssemblyVersion: 1.4.1.0
+// InformationalVersion: 1.4.1+ab57e3a1a2b0640497492ded79982ed017bc9d8d
// TargetFramework: .NETCoreApp,Version=v8.0
// Configuration: Release
// Referenced assemblies:
// Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// Smdn.Reflection.ReverseGenerating, Version=1.3.0.0, Culture=neutral
-// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.0.0, Culture=neutral
+// Smdn.Reflection.ReverseGenerating.ListApi.Core, Version=1.3.1.0, Culture=neutral
// System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks {
public class GenerateApiList : Task {
public GenerateApiList() {}
[Required]
public ITaskItem[]? Assemblies { get; set; }
public bool GenerateAssemblyInfo { get; set; }
public bool GenerateAttributeWithNamedArguments { get; set; }
public bool GenerateEmbeddedResources { get; set; }
public bool GenerateFullTypeName { get; set; }
public bool GenerateLanguagePrimitiveType { get; set; }
public string? GenerateMethodBody { get; set; }
public bool GenerateNullableAnnotations { get; set; }
public bool GenerateReferencedAssemblies { get; set; }
public bool GenerateStaticMembersFirst { get; set; }
public bool GenerateTypeNameWithDeclaringTypeName { get; set; }
public bool GenerateValueWithDefaultLiteral { get; set; }
[Output]
public ITaskItem[]? GeneratedFiles { get; }
public bool ThrowIfForwardedTypesCouldNotLoaded { get; set; }
public override bool Execute() {}
}
}
-// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.0.0.
-// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
+// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.4.1.0.
+// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.3.1.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)Full changes
Full changes in this release:
diff --git a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
index f0740af..c54065c 100644
--- a/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
+++ b/src/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks.csproj
@@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
<PropertyGroup>
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
<RootNamespace>Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks</RootNamespace>
- <VersionPrefix>1.4.0</VersionPrefix>
+ <VersionPrefix>1.4.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0030 -->
<Nullable>enable</Nullable>Notes
Full Changelog: releases/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.0...releases/Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks-1.4.1