Initial source code parsing code

This commit is contained in:
Cj 2024-06-19 04:10:46 -04:00
parent 564dbf2e57
commit 60ee4f6e72
5 changed files with 263 additions and 18 deletions

View File

@ -1,4 +1,6 @@
using Newtonsoft.Json;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Newtonsoft.Json;
using ReCodeIt.Models;
using ReCodeIt.Utils;
@ -9,6 +11,8 @@ public static class ProjectManager
public static CrossCompilerProjectModel ActiveProject { get; private set; }
private static CrossCompilerSettings Settings => DataProvider.Settings.CrossCompiler;
public static List<string> AllProjectSourceFiles { get; private set; } = [];
public static void CreateProject(
string OrigAssemblyPath,
string RemappedAssemblyOutputPath,
@ -51,6 +55,7 @@ public static class ProjectManager
{
ActiveProject = LoadCrossCompilerProjModel(path);
CopyVisualStudioProject(ActiveProject);
LoadVSProjectFromClone();
Logger.Log($"Found and Loaded ReCodeIt Project at {path}");
}
@ -139,7 +144,7 @@ public static class ProjectManager
DataProvider.Settings.CrossCompiler.LastLoadedProject = path;
DataProvider.SaveAppSettings();
Logger.Log($"Cross Compiler project json generated to {path}", ConsoleColor.Green);
Logger.Log($"Cross Compiler project json saved to {path}", ConsoleColor.Green);
}
private static CrossCompilerProjectModel LoadCrossCompilerProjModel(string path)
@ -160,4 +165,36 @@ public static class ProjectManager
return model!;
}
private static void LoadVSProjectFromClone()
{
var path = Path.Combine(
DataProvider.ReCodeItProjectsPath,
ActiveProject.SolutionName);
// Find all the source files in the project, we dont want anything from the obj folder.
AllProjectSourceFiles = Directory.GetFiles(path, "*.cs", SearchOption.AllDirectories)
.Where(file => !file.Contains(Path.DirectorySeparatorChar + "obj" + Path.DirectorySeparatorChar))
.ToList();
Logger.Log($"Found {AllProjectSourceFiles.Count} source files in the project", ConsoleColor.Yellow);
}
private static void AnalyzeSyntaxTree(SyntaxNode root)
{
// Example: Find all method declarations
var methodDeclarations = root.DescendantNodes().OfType<MethodDeclarationSyntax>();
foreach (var method in methodDeclarations)
{
Logger.Log($"Method: {method.Identifier.Text}");
Logger.Log($"Return Type: {method.ReturnType}");
Logger.Log("Parameters:");
foreach (var parameter in method.ParameterList.Parameters)
{
Logger.Log($" {parameter.Type} {parameter.Identifier}");
}
Logger.Log(string.Empty);
}
}
}

View File

@ -1,4 +1,7 @@
using ReCodeIt.Models;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using ReCodeIt.Models;
using ReCodeIt.ReMapper;
using ReCodeIt.Utils;
@ -55,6 +58,45 @@ public class ReCodeItCrossCompiler
public void StartCrossCompile()
{
//CopyVisualStudioProject();
AnalyzeSourceFiles();
}
private void AnalyzeSourceFiles()
{
foreach (var file in ProjectManager.AllProjectSourceFiles)
{
AnalyzeSourcefile(file);
}
}
private void AnalyzeSourcefile(string file)
{
var source = LoadSourceFile(file);
var syntaxTree = CSharpSyntaxTree.ParseText(source);
var root = syntaxTree.GetCompilationUnitRoot();
var identifiers = root.DescendantNodes()
.OfType<IdentifierNameSyntax>()
.Where(id => ActiveProject.ChangedTypes.ContainsKey(id.Identifier.Text));
if (!identifiers.Any()) { return; }
Logger.Log($"found {identifiers.Count()} objects to change in file {Path.GetFileNameWithoutExtension(file)}");
// Replace "RigClass" with "NewRigClass"
var newRoot = root.ReplaceNodes(identifiers, (oldNode, newNode) =>
SyntaxFactory.IdentifierName(ActiveProject.ChangedTypes[oldNode.Identifier.Text])
.WithLeadingTrivia(oldNode.GetLeadingTrivia())
.WithTrailingTrivia(oldNode.GetTrailingTrivia()));
}
/// <summary>
/// Loads a source file from disk
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
private string LoadSourceFile(string path)
{
return File.ReadAllText(path);
}
}

View File

@ -8,6 +8,174 @@
</PropertyGroup>
<ItemGroup>
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\cs\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\cs\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\de\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\de\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\de\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\es\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\es\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\es\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\fr\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\fr\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Humanizer.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\it\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\it\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\it\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ja\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ja\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ko\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ko\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Bcl.AsyncInterfaces.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Build.Locator.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.CodeAnalysis.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.CodeAnalysis.pdb" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.CodeAnalysis.Workspaces.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.exe" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.exe.config" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.CodeAnalysis.Workspaces.pdb" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Configuration.Abstractions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Configuration.Binder.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Configuration.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.DependencyInjection.Abstractions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.DependencyInjection.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Logging.Abstractions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Logging.Configuration.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Logging.Console.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Logging.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Options.ConfigurationExtensions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Options.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Microsoft.Extensions.Primitives.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\Newtonsoft.Json.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\pl\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\pl\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\pt-BR\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\pt-BR\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ru\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\ru\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Buffers.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Collections.Immutable.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.CommandLine.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Composition.AttributedModel.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Composition.Convention.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Composition.Hosting.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Composition.Runtime.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Composition.TypedParts.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Diagnostics.DiagnosticSource.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.IO.Pipelines.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Memory.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Numerics.Vectors.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Reflection.Metadata.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Runtime.CompilerServices.Unsafe.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Text.Encoding.CodePages.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Text.Encodings.Web.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Text.Json.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Threading.Channels.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.Threading.Tasks.Extensions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\System.ValueTuple.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\tr\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\tr\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\zh-Hans\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\zh-Hans\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\zh-Hant\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-net472\zh-Hant\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\cs\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\cs\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\de\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\de\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\de\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\es\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\es\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\es\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\fr\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\fr\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Humanizer.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\it\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\it\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\it\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ja\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ja\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ko\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ko\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Bcl.AsyncInterfaces.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Build.Locator.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.pdb" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.Workspaces.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.deps.json" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.dll.config" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.runtimeconfig.json" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.CodeAnalysis.Workspaces.pdb" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Configuration.Abstractions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Configuration.Binder.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Configuration.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.DependencyInjection.Abstractions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.DependencyInjection.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Logging.Abstractions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Logging.Configuration.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Logging.Console.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Logging.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Options.ConfigurationExtensions.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Options.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Microsoft.Extensions.Primitives.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\Newtonsoft.Json.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\pl\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\pl\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\pt-BR\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\pt-BR\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\runtimes\browser\lib\net6.0\System.Text.Encodings.Web.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\runtimes\win\lib\net6.0\System.Text.Encoding.CodePages.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ru\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\ru\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Collections.Immutable.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.CommandLine.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Composition.AttributedModel.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Composition.Convention.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Composition.Hosting.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Composition.Runtime.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Composition.TypedParts.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.IO.Pipelines.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Reflection.Metadata.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Text.Encoding.CodePages.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Text.Encodings.Web.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Text.Json.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\System.Threading.Channels.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\tr\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\tr\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\zh-Hans\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\zh-Hans\System.CommandLine.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\zh-Hant\Microsoft.CodeAnalysis.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll" />
<Content Remove="C:\Users\Corey\.nuget\packages\microsoft.codeanalysis.workspaces.msbuild\4.10.0\contentFiles\any\any\BuildHost-netcore\zh-Hant\System.CommandLine.resources.dll" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Locator" Version="1.7.8" />
<PackageReference Include="Microsoft.CodeAnalysis" Version="4.10.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.10.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.10.0" />
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" Version="4.10.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Mono.Cecil" Version="0.11.5" />
<PackageReference Include="morelinq" Version="4.2.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />

View File

@ -34,6 +34,8 @@ public class ReCodeItRemapper
private bool CrossMapMode { get; set; } = false;
private string AssemblyPath { get; set; }
/// <summary>
/// Start the remapping process
/// </summary>
@ -45,6 +47,7 @@ public class ReCodeItRemapper
{
DataProvider.LoadAssemblyDefinition(assemblyPath);
AssemblyPath = assemblyPath;
CrossMapMode = crossMapMode;
OutPath = outPath;
@ -275,7 +278,12 @@ public class ReCodeItRemapper
/// </summary>
private void WriteAssembly()
{
var path = DataProvider.WriteAssemblyDefinition(OutPath);
var fileName = Path.GetFileName(AssemblyPath);
var path = Path.Combine(OutPath, fileName);
Logger.Log(fileName);
path = DataProvider.WriteAssemblyDefinition(path);
Logger.Log("-----------------------------------------------", ConsoleColor.Green);
Logger.Log($"Complete: Assembly written to `{path}`", ConsoleColor.Green);

View File

@ -194,20 +194,10 @@ public static class DataProvider
Logger.Log($"Module {fileName} not found in assembly {fileName}");
}
public static string WriteAssemblyDefinition(string path, string filename = "")
public static string WriteAssemblyDefinition(string path)
{
filename = filename != string.Empty
? filename
: Path.GetFileNameWithoutExtension(path) + "-Remapped.dll";
AssemblyDefinition.Write(path);
var strippedPath = Path.GetDirectoryName(path);
var remappedPath = Path.Combine(strippedPath!, filename);
AssemblyDefinition.Write(remappedPath);
Logger.Log($"Writing Assembly {filename} to path {remappedPath}");
return remappedPath;
return path;
}
}