Initial source code parsing code
This commit is contained in:
parent
564dbf2e57
commit
60ee4f6e72
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
@ -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" />
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user