Refactored .Net Glue to ship Redot versions of Nuget packages

This commit is contained in:
Kitsune4295
2025-07-21 20:08:55 -05:00
parent 502a4d18f7
commit 032dc7946a
49 changed files with 119 additions and 94 deletions

View File

@@ -196,15 +196,15 @@ def run_msbuild(tools: ToolsLocation, sln: str, chdir_to: str, msbuild_args: Opt
def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local, precision, no_deprecated, werror):
target_filenames = [
"GodotSharp.dll",
"GodotSharp.pdb",
"GodotSharp.xml",
"GodotSharpEditor.dll",
"GodotSharpEditor.pdb",
"GodotSharpEditor.xml",
"GodotPlugins.dll",
"GodotPlugins.pdb",
"GodotPlugins.runtimeconfig.json",
"RedotSharp.dll",
"RedotSharp.pdb",
"RedotSharp.xml",
"RedotSharpEditor.dll",
"RedotSharpEditor.pdb",
"RedotSharpEditor.xml",
"RedotPlugins.dll",
"RedotPlugins.pdb",
"RedotPlugins.runtimeconfig.json",
]
for build_config in ["Debug", "Release"]:
@@ -222,7 +222,7 @@ def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local, pre
if werror:
args += ["/p:TreatWarningsAsErrors=true"]
sln = os.path.join(module_dir, "glue/GodotSharp/GodotSharp.sln")
sln = os.path.join(module_dir, "glue/GodotSharp/RedotSharp.sln")
exit_code = run_msbuild(msbuild_tool, sln=sln, chdir_to=module_dir, msbuild_args=args)
if exit_code != 0:
return exit_code
@@ -354,7 +354,7 @@ def build_all(
return exit_code
# GodotTools
sln = os.path.join(module_dir, "editor/GodotTools/GodotTools.sln")
sln = os.path.join(module_dir, "editor/GodotTools/RedotTools.sln")
args = ["/restore", "/t:Build", "/p:Configuration=" + ("Debug" if dev_debug else "Release")] + (
["/p:GodotPlatform=" + godot_platform] if godot_platform else []
)
@@ -374,7 +374,7 @@ def build_all(
args += ["/p:GodotFloat64=true"]
if no_deprecated:
args += ["/p:GodotNoDeprecated=true"]
sln = os.path.join(module_dir, "editor/Godot.NET.Sdk/Godot.NET.Sdk.sln")
sln = os.path.join(module_dir, "editor/Godot.NET.Sdk/Redot.NET.Sdk.sln")
exit_code = run_msbuild(msbuild_tool, sln=sln, chdir_to=module_dir, msbuild_args=args)
if exit_code != 0:
return exit_code
@@ -392,7 +392,7 @@ def main():
"--dev-debug",
action="store_true",
default=False,
help="Build GodotTools and Godot.NET.Sdk with 'Configuration=Debug'",
help="Build RedotTools and Redot.NET.Sdk with 'Configuration=Debug'",
)
parser.add_argument("--godot-platform", type=str, default="")
parser.add_argument("--mono-prefix", type=str, default="")
@@ -404,7 +404,7 @@ def main():
"--no-deprecated",
action="store_true",
default=False,
help="Build GodotSharp without using deprecated features. This is required, if the engine was built with 'deprecated=no'.",
help="Build RedotSharp without using deprecated features. This is required, if the engine was built with 'deprecated=no'.",
)
parser.add_argument("--werror", action="store_true", default=False, help="Treat compiler warnings as errors.")

View File

@@ -1081,7 +1081,7 @@ void CSharpLanguage::_editor_init_callback() {
const void **interop_funcs = godotsharp::get_editor_interop_funcs(interop_funcs_size);
Object *editor_plugin_obj = GDMono::get_singleton()->get_plugin_callbacks().LoadToolsAssemblyCallback(
GodotSharpDirs::get_data_editor_tools_dir().path_join("GodotTools.dll").utf16().get_data(),
GodotSharpDirs::get_data_editor_tools_dir().path_join("RedotTools.dll").utf16().get_data(),
interop_funcs, interop_funcs_size);
CRASH_COND(editor_plugin_obj == nullptr);

View File

@@ -6,7 +6,7 @@
<Description>MSBuild .NET Sdk for Redot projects.</Description>
<Authors>Redot Engine contributors</Authors>
<PackageId>Godot.NET.Sdk</PackageId>
<PackageId>Redot.NET.Sdk</PackageId>
<Version>4.5.0</Version>
<PackageVersion>$(PackageVersion_Godot_NET_Sdk)</PackageVersion>
<RepositoryUrl>https://github.com/godotengine/godot/tree/master/modules/mono/editor/Godot.NET.Sdk</RepositoryUrl>
@@ -20,6 +20,7 @@
<!-- Exclude target framework from the package dependencies as we don't include the build output -->
<SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking>
<IncludeBuildOutput>false</IncludeBuildOutput>
<RootNamespace>Godot.NET.Sdk</RootNamespace>
</PropertyGroup>
<ItemGroup>

View File

@@ -25,13 +25,13 @@
<!-- C# source generators -->
<ItemGroup Condition=" '$(DisableImplicitGodotGeneratorReferences)' != 'true' ">
<PackageReference Include="Godot.SourceGenerators" IsImplicitlyDefined="true" Version="$(PackageVersion_Godot_SourceGenerators)" />
<PackageReference Include="Redot.SourceGenerators" IsImplicitlyDefined="true" Version="$(PackageVersion_Godot_SourceGenerators)" />
</ItemGroup>
<!-- Godot API references -->
<ItemGroup Condition=" '$(DisableImplicitGodotSharpReferences)' != 'true' ">
<PackageReference Include="GodotSharp" IsImplicitlyDefined="true" Version="$(PackageVersion_GodotSharp)" />
<PackageReference Include="GodotSharpEditor" IsImplicitlyDefined="true" Version="$(PackageVersion_GodotSharp)" Condition=" '$(Configuration)' == 'Debug' " />
<PackageReference Include="RedotSharp" IsImplicitlyDefined="true" Version="$(PackageVersion_GodotSharp)" />
<PackageReference Include="RedotSharpEditor" IsImplicitlyDefined="true" Version="$(PackageVersion_GodotSharp)" Condition=" '$(Configuration)' == 'Debug' " />
</ItemGroup>
<!-- iOS-specific build targets -->

View File

@@ -1,6 +1,6 @@
<Project>
<ItemGroup>
<TrimmerRootAssembly Include="GodotSharp" />
<TrimmerRootAssembly Include="RedotSharp" />
<TrimmerRootAssembly Include="$(TargetName)" />
<LinkerArg Include="-install_name '@rpath/$(TargetName)$(NativeBinaryExt)'" />
</ItemGroup>

View File

@@ -3,6 +3,7 @@
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>12</LangVersion>
<RootNamespace>Godot.SourceGenerators.Sample</RootNamespace>
</PropertyGroup>
<PropertyGroup>
@@ -22,14 +23,14 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\glue\GodotSharp\GodotSharp\GodotSharp.csproj">
<ProjectReference Include="..\..\..\glue\GodotSharp\GodotSharp\RedotSharp.csproj">
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\Godot.SourceGenerators\Godot.SourceGenerators.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
<ProjectReference Include="..\Godot.SourceGenerators\Redot.SourceGenerators.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
<!-- This file is imported automatically when using PackageReference to
reference Godot.SourceGenerators, but not when using ProjectReference -->
<Import Project="..\Godot.SourceGenerators\Godot.SourceGenerators.props" />
<Import Project="..\Godot.SourceGenerators\Redot.SourceGenerators.props" />
</Project>

View File

@@ -77,6 +77,6 @@ where TSourceGenerator : ISourceGenerator, new()
private static string FullGeneratedSourceName(string name)
{
var generatorType = typeof(TSourceGenerator);
return Path.Combine(generatorType.Namespace!, generatorType.FullName!, name);
return Path.Combine(generatorType.Namespace!.Replace("Godot", "Redot"), generatorType.FullName!, name);
}
}

View File

@@ -7,6 +7,7 @@
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<RootNamespace>Godot.SourceGenerators.Tests</RootNamespace>
</PropertyGroup>
<PropertyGroup>
@@ -33,8 +34,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\glue\GodotSharp\GodotSharp\GodotSharp.csproj" />
<ProjectReference Include="..\Godot.SourceGenerators\Godot.SourceGenerators.csproj" />
<ProjectReference Include="..\..\..\glue\GodotSharp\GodotSharp\RedotSharp.csproj" />
<ProjectReference Include="..\Godot.SourceGenerators\Redot.SourceGenerators.csproj" />
</ItemGroup>
<ItemGroup>

View File

@@ -13,7 +13,7 @@ public class ScriptPathAttributeGeneratorTests
private static (string, SourceText) MakeAssemblyScriptTypesGeneratedSource(ICollection<string> types)
{
return (
Path.Combine("Godot.SourceGenerators", "Godot.SourceGenerators.ScriptPathAttributeGenerator", "AssemblyScriptTypes.generated.cs"),
Path.Combine("Redot.SourceGenerators", "Godot.SourceGenerators.ScriptPathAttributeGenerator", "AssemblyScriptTypes.generated.cs"),
SourceText.From($$"""
[assembly:Godot.AssemblyHasScriptsAttribute(new System.Type[] {{{string.Join(", ", types.Select(type => $"typeof({type})"))}}})]

View File

@@ -32,7 +32,7 @@ namespace Godot.SourceGenerators
if (context.ContainingSymbol is not INamedTypeSymbol typeSymbol)
return;
if (!typeSymbol.InheritsFrom("GodotSharp", GodotClasses.GodotObject))
if (!typeSymbol.InheritsFrom("RedotSharp", GodotClasses.GodotObject))
return;
if (!classDeclaration.IsPartial())

View File

@@ -54,7 +54,7 @@ namespace Godot.SourceGenerators
while (symbol != null)
{
if (symbol.ContainingAssembly?.Name == "GodotSharp")
if (symbol.ContainingAssembly?.Name == "RedotSharp")
return symbol;
symbol = symbol.BaseType;
@@ -91,7 +91,7 @@ namespace Godot.SourceGenerators
var classTypeSymbol = sm.GetDeclaredSymbol(cds);
if (classTypeSymbol?.BaseType == null
|| !classTypeSymbol.BaseType.InheritsFrom("GodotSharp", GodotClasses.GodotObject))
|| !classTypeSymbol.BaseType.InheritsFrom("RedotSharp", GodotClasses.GodotObject))
{
symbol = null;
return false;

View File

@@ -37,7 +37,7 @@ namespace Godot.SourceGenerators
));
}
if (!typeSymbol.InheritsFrom("GodotSharp", GodotClasses.GodotObject))
if (!typeSymbol.InheritsFrom("RedotSharp", GodotClasses.GodotObject))
{
context.ReportDiagnostic(Diagnostic.Create(
Common.GlobalClassMustDeriveFromGodotObjectRule,

View File

@@ -125,7 +125,7 @@ namespace Godot.SourceGenerators
if (typeKind == TypeKind.Struct)
{
if (type.ContainingAssembly?.Name == "GodotSharp" &&
if (type.ContainingAssembly?.Name == "RedotSharp" &&
type.ContainingNamespace?.Name == "Godot")
{
return type switch
@@ -182,7 +182,7 @@ namespace Godot.SourceGenerators
if (elementType.SimpleDerivesFrom(typeCache.GodotObjectType))
return MarshalType.GodotObjectOrDerivedArray;
if (elementType.ContainingAssembly?.Name == "GodotSharp" &&
if (elementType.ContainingAssembly?.Name == "RedotSharp" &&
elementType.ContainingNamespace?.Name == "Godot")
{
switch (elementType)
@@ -211,7 +211,7 @@ namespace Godot.SourceGenerators
if (type.SimpleDerivesFrom(typeCache.GodotObjectType))
return MarshalType.GodotObjectOrDerived;
if (type.ContainingAssembly?.Name == "GodotSharp")
if (type.ContainingAssembly?.Name == "RedotSharp")
{
switch (type.ContainingNamespace?.Name)
{

View File

@@ -4,12 +4,13 @@
<LangVersion>10</LangVersion>
<Nullable>enable</Nullable>
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
<RootNamespace>Godot.SourceGenerators</RootNamespace>
</PropertyGroup>
<PropertyGroup>
<Description>Core C# source generator for Godot projects.</Description>
<Authors>Godot Engine contributors</Authors>
<PackageId>Godot.SourceGenerators</PackageId>
<PackageId>Redot.SourceGenerators</PackageId>
<Version>4.5.0</Version>
<PackageVersion>$(PackageVersion_Godot_SourceGenerators)</PackageVersion>
<RepositoryUrl>https://github.com/godotengine/godot/tree/master/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators</RepositoryUrl>
@@ -35,6 +36,6 @@
<None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
<!-- Package the props file -->
<None Include="Godot.SourceGenerators.props" Pack="true" PackagePath="build" Visible="true" />
<None Include="Redot.SourceGenerators.props" Pack="true" PackagePath="build" Visible="true" />
</ItemGroup>
</Project>

View File

@@ -716,7 +716,7 @@ namespace Godot.SourceGenerators
return true;
}
if (memberNamedType.InheritsFrom("GodotSharp", "Godot.Resource"))
if (memberNamedType.InheritsFrom("RedotSharp", "Godot.Resource"))
{
hint = PropertyHint.ResourceType;
hintString = GetTypeName(memberNamedType);
@@ -724,7 +724,7 @@ namespace Godot.SourceGenerators
return true;
}
if (memberNamedType.InheritsFrom("GodotSharp", "Godot.Node"))
if (memberNamedType.InheritsFrom("RedotSharp", "Godot.Node"))
{
hint = PropertyHint.NodeType;
hintString = GetTypeName(memberNamedType);

View File

@@ -69,7 +69,7 @@ namespace Godot.SourceGenerators
: string.Empty;
bool hasNamespace = classNs.Length != 0;
bool isNode = symbol.InheritsFrom("GodotSharp", GodotClasses.Node);
bool isNode = symbol.InheritsFrom("RedotSharp", GodotClasses.Node);
bool isInnerClass = symbol.ContainingType != null;
@@ -533,18 +533,18 @@ namespace Godot.SourceGenerators
{
if (marshalType == MarshalType.GodotObjectOrDerived)
{
return memberType.InheritsFrom("GodotSharp", GodotClasses.Node);
return memberType.InheritsFrom("RedotSharp", GodotClasses.Node);
}
if (marshalType == MarshalType.GodotObjectOrDerivedArray)
{
var elementType = ((IArrayTypeSymbol)memberType).ElementType;
return elementType.InheritsFrom("GodotSharp", GodotClasses.Node);
return elementType.InheritsFrom("RedotSharp", GodotClasses.Node);
}
if (memberType is INamedTypeSymbol { IsGenericType: true } genericType)
{
return genericType.TypeArguments
.Any(static typeArgument
=> typeArgument.InheritsFrom("GodotSharp", GodotClasses.Node));
=> typeArgument.InheritsFrom("RedotSharp", GodotClasses.Node));
}
return false;

View File

@@ -1,7 +1,10 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Text;

View File

@@ -3,15 +3,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.NET.Sdk", "Godot.NET.Sdk\Godot.NET.Sdk.csproj", "{31B00BFA-DEA1-42FA-A472-9E54A92A8A5F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.NET.Sdk", "Godot.NET.Sdk\Redot.NET.Sdk.csproj", "{31B00BFA-DEA1-42FA-A472-9E54A92A8A5F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.SourceGenerators", "Godot.SourceGenerators\Godot.SourceGenerators.csproj", "{32D31B23-2A45-4099-B4F5-95B4C8FF7D9F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.SourceGenerators", "Godot.SourceGenerators\Redot.SourceGenerators.csproj", "{32D31B23-2A45-4099-B4F5-95B4C8FF7D9F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.SourceGenerators.Sample", "Godot.SourceGenerators.Sample\Godot.SourceGenerators.Sample.csproj", "{7297A614-8DF5-43DE-9EAD-99671B26BD1F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.SourceGenerators.Sample", "Godot.SourceGenerators.Sample\Redot.SourceGenerators.Sample.csproj", "{7297A614-8DF5-43DE-9EAD-99671B26BD1F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.SourceGenerators.Tests", "Godot.SourceGenerators.Tests\Godot.SourceGenerators.Tests.csproj", "{07E6D201-35C9-4463-9B29-D16621EA733D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.SourceGenerators.Tests", "Godot.SourceGenerators.Tests\Redot.SourceGenerators.Tests.csproj", "{07E6D201-35C9-4463-9B29-D16621EA733D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotSharp", "..\..\glue\GodotSharp\GodotSharp\GodotSharp.csproj", "{AEBF0036-DA76-4341-B651-A3F2856AB2FA}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotSharp", "..\..\glue\GodotSharp\GodotSharp\RedotSharp.csproj", "{AEBF0036-DA76-4341-B651-A3F2856AB2FA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -4,6 +4,7 @@
<TargetFramework>net6.0</TargetFramework>
<LangVersion>10</LangVersion>
<Nullable>enable</Nullable>
<RootNamespace>GodotTools.BuildLogger</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Framework" Version="15.1.548" ExcludeAssets="runtime" />

View File

@@ -4,7 +4,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>9</LangVersion>
<Nullable>enable</Nullable>
<PackageId>GodotTools.IdeMessaging</PackageId>
<PackageId>RedotTools.IdeMessaging</PackageId>
<Version>1.1.2</Version>
<AssemblyVersion>$(Version)</AssemblyVersion>
<Authors>Godot Engine contributors</Authors>
@@ -19,6 +19,7 @@ It's intended for use in IDEs/editors plugins for a better experience working wi
A client using this library is only compatible with servers of the same major version and of a lower or equal minor version.
</Description>
<RootNamespace>GodotTools.IdeMessaging</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />

View File

@@ -24,7 +24,7 @@ namespace GodotTools.OpenVisualStudio
Console.WriteLine("If an existing instance for the solution is not found, a new one is created.");
Console.WriteLine();
Console.WriteLine("Usage:");
Console.WriteLine(@" GodotTools.OpenVisualStudio.exe solution [file[;line[;col]]...]");
Console.WriteLine(@" RedotTools.OpenVisualStudio.exe solution [file[;line[;col]]...]");
Console.WriteLine();
Console.WriteLine("Lines and columns begin at one. Zero or lower will result in an error.");
Console.WriteLine("If a line is specified but a column is not, the line is selected in the text editor.");

View File

@@ -7,6 +7,7 @@
<Nullable>enable</Nullable>
<SelfContained>False</SelfContained>
<RollForward>LatestMajor</RollForward>
<RootNamespace>GodotTools.OpenVisualStudio</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(SolutionDir)/../../../../bin/GodotSharp/Api/Debug/GodotSharp.dll') And ('$(GodotPlatform)' == 'windows' Or ('$(GodotPlatform)' == '' And '$(OS)' == 'Windows_NT'))">
<OutputPath>$(SolutionDir)/../../../../bin/GodotSharp/Tools</OutputPath>

View File

@@ -10,7 +10,7 @@ namespace GodotTools.ProjectEditor
{
public static class ProjectGenerator
{
public static string GodotSdkAttrValue => $"Godot.NET.Sdk/{GeneratedGodotNupkgsVersions.GodotNETSdk}";
public static string GodotSdkAttrValue => $"Redot.NET.Sdk/{GeneratedGodotNupkgsVersions.GodotNETSdk}";
public static string GodotMinimumRequiredTfm => "net8.0";

View File

@@ -5,6 +5,7 @@
<TargetFramework>net8.0</TargetFramework>
<LangVersion>12</LangVersion>
<Nullable>enable</Nullable>
<RootNamespace>GodotTools.ProjectEditor</RootNamespace>
</PropertyGroup>
<ItemGroup>
@@ -15,8 +16,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GodotTools.Core\GodotTools.Core.csproj" />
<ProjectReference Include="..\GodotTools.Shared\GodotTools.Shared.csproj" />
<ProjectReference Include="..\RedotTools.Core\RedotTools.Core.csproj" />
<ProjectReference Include="..\GodotTools.Shared\RedotTools.Shared.csproj" />
</ItemGroup>
</Project>

View File

@@ -5,6 +5,7 @@
<LangVersion>12</LangVersion>
<!-- Specify compile items manually to avoid including dangling generated items. -->
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<RootNamespace>GodotTools.Shared</RootNamespace>
</PropertyGroup>
<Import Project="GenerateGodotNupkgsVersions.targets" />

View File

@@ -264,7 +264,7 @@ namespace GodotTools.Build
private static void AddLoggerArgument(BuildInfo buildInfo, Collection<string> arguments)
{
string buildLoggerPath = Path.Combine(Internals.GodotSharpDirs.DataEditorToolsDir,
"GodotTools.BuildLogger.dll");
"RedotTools.BuildLogger.dll");
arguments.Add(
$"-l:{typeof(GodotBuildLogger).FullName},{buildLoggerPath};{buildInfo.LogsDirPath}");

View File

@@ -290,7 +290,7 @@ namespace GodotTools.Build
UpdateBuildLogText();
// NOTE:
// Currently, GodotTools is loaded in its own load context. This load context is not reloaded, but the script still are.
// Currently, RedotTools is loaded in its own load context. This load context is not reloaded, but the script still are.
// Until that changes, we need workarounds like this one because events keep strong references to disposed objects.
BuildManager.BuildLaunchFailed -= BuildLaunchFailed;
BuildManager.BuildStarted -= BuildStarted;

View File

@@ -260,7 +260,7 @@ namespace GodotTools
var args = new List<string>
{
Path.Combine(GodotSharpDirs.DataEditorToolsDir, "GodotTools.OpenVisualStudio.dll"),
Path.Combine(GodotSharpDirs.DataEditorToolsDir, "RedotTools.OpenVisualStudio.dll"),
GodotSharpDirs.ProjectSlnPath,
line >= 0 ? $"{scriptPath};{line + 1};{col + 1}" : scriptPath
};
@@ -741,7 +741,7 @@ namespace GodotTools
var populateConstructorMethod =
AppDomain.CurrentDomain
.GetAssemblies()
.First(x => x.GetName().Name == "GodotSharpEditor")
.First(x => x.GetName().Name == "RedotSharpEditor")
.GetType("Godot.EditorConstructors")?
.GetMethod("AddEditorConstructors",
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);

View File

@@ -13,6 +13,7 @@
<GodotApiAssembliesDir>$(GodotOutputDataDir)/Api/$(GodotApiConfiguration)</GodotApiAssembliesDir>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<RootNamespace>GodotTools</RootNamespace>
</PropertyGroup>
<!-- Needed for our source generators to work despite this not being a Godot game project -->
@@ -24,7 +25,7 @@
<CompilerVisibleProperty Include="IsGodotToolsProject" />
</ItemGroup>
<PropertyGroup Condition=" Exists('$(GodotApiAssembliesDir)/GodotSharp.dll') ">
<PropertyGroup Condition=" Exists('$(GodotApiAssembliesDir)/RedotSharp.dll') ">
<!-- The project is part of the Godot source tree -->
<!-- Use the Godot source tree output folder instead of '$(ProjectDir)/bin' -->
<OutputPath>$(GodotOutputDataDir)/Tools</OutputPath>
@@ -37,26 +38,27 @@
<PackageReference Include="JetBrains.Rider.PathLocator" Version="1.0.12" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<Reference Include="GodotSharp">
<HintPath>$(GodotApiAssembliesDir)/GodotSharp.dll</HintPath>
<Reference Include="RedotSharp">
<HintPath>$(GodotApiAssembliesDir)/RedotSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="GodotSharpEditor">
<HintPath>$(GodotApiAssembliesDir)/GodotSharpEditor.dll</HintPath>
<Reference Include="RedotSharpEditor">
<HintPath>$(GodotApiAssembliesDir)/RedotSharpEditor.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Godot.NET.Sdk\Godot.SourceGenerators\Godot.SourceGenerators.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
<ProjectReference Include="..\..\..\glue\GodotSharp\Godot.SourceGenerators.Internal\Godot.SourceGenerators.Internal.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
<!-- <ProjectReference Include="..\..\..\glue\GodotSharp\Godot.SourceGenerators.Internal\Redot.SourceGenerators.Internal.csproj" />-->
<ProjectReference Include="..\..\Godot.NET.Sdk\Godot.SourceGenerators\Redot.SourceGenerators.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
<ProjectReference Include="..\..\..\glue\GodotSharp\Godot.SourceGenerators.Internal\Redot.SourceGenerators.Internal.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="true" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GodotTools.BuildLogger\GodotTools.BuildLogger.csproj" />
<ProjectReference Include="..\GodotTools.IdeMessaging\GodotTools.IdeMessaging.csproj" />
<ProjectReference Include="..\GodotTools.ProjectEditor\GodotTools.ProjectEditor.csproj" />
<ProjectReference Include="..\GodotTools.Core\GodotTools.Core.csproj" />
<ProjectReference Include="..\GodotTools.BuildLogger\RedotTools.BuildLogger.csproj" />
<ProjectReference Include="..\GodotTools.IdeMessaging\RedotTools.IdeMessaging.csproj" />
<ProjectReference Include="..\GodotTools.ProjectEditor\RedotTools.ProjectEditor.csproj" />
<ProjectReference Include="..\RedotTools.Core\RedotTools.Core.csproj" />
</ItemGroup>
</Project>

View File

@@ -5,6 +5,7 @@
<TargetFramework>net8.0</TargetFramework>
<LangVersion>12</LangVersion>
<Nullable>enable</Nullable>
<RootNamespace>GodotTools.Core</RootNamespace>
</PropertyGroup>
</Project>

View File

@@ -3,23 +3,23 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.ProjectEditor", "GodotTools.ProjectEditor\GodotTools.ProjectEditor.csproj", "{A8CDAD94-C6D4-4B19-A7E7-76C53CC92984}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools.ProjectEditor", "GodotTools.ProjectEditor\RedotTools.ProjectEditor.csproj", "{A8CDAD94-C6D4-4B19-A7E7-76C53CC92984}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools", "GodotTools\GodotTools.csproj", "{27B00618-A6F2-4828-B922-05CAEB08C286}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools", "GodotTools\RedotTools.csproj", "{27B00618-A6F2-4828-B922-05CAEB08C286}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.Core", "GodotTools.Core\GodotTools.Core.csproj", "{639E48BD-44E5-4091-8EDD-22D36DC0768D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools.Core", "RedotTools.Core\RedotTools.Core.csproj", "{639E48BD-44E5-4091-8EDD-22D36DC0768D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.BuildLogger", "GodotTools.BuildLogger\GodotTools.BuildLogger.csproj", "{6CE9A984-37B1-4F8A-8FE9-609F05F071B3}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools.BuildLogger", "GodotTools.BuildLogger\RedotTools.BuildLogger.csproj", "{6CE9A984-37B1-4F8A-8FE9-609F05F071B3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.IdeMessaging", "GodotTools.IdeMessaging\GodotTools.IdeMessaging.csproj", "{92600954-25F0-4291-8E11-1FEE9FC4BE20}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools.IdeMessaging", "GodotTools.IdeMessaging\RedotTools.IdeMessaging.csproj", "{92600954-25F0-4291-8E11-1FEE9FC4BE20}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.OpenVisualStudio", "GodotTools.OpenVisualStudio\GodotTools.OpenVisualStudio.csproj", "{EAFFF236-FA96-4A4D-BD23-0E51EF988277}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools.OpenVisualStudio", "GodotTools.OpenVisualStudio\RedotTools.OpenVisualStudio.csproj", "{EAFFF236-FA96-4A4D-BD23-0E51EF988277}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.Shared", "GodotTools.Shared\GodotTools.Shared.csproj", "{2758FFAF-8237-4CF2-B569-66BF8B3587BB}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotTools.Shared", "GodotTools.Shared\RedotTools.Shared.csproj", "{2758FFAF-8237-4CF2-B569-66BF8B3587BB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.SourceGenerators", "..\Godot.NET.Sdk\Godot.SourceGenerators\Godot.SourceGenerators.csproj", "{D8C421B2-8911-41EB-B983-F675C7141EB7}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.SourceGenerators", "..\Godot.NET.Sdk\Godot.SourceGenerators\Redot.SourceGenerators.csproj", "{D8C421B2-8911-41EB-B983-F675C7141EB7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.SourceGenerators.Internal", "..\..\glue\GodotSharp\Godot.SourceGenerators.Internal\Godot.SourceGenerators.Internal.csproj", "{55666071-BEC1-4A52-8A98-9A4A7A947DBF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.SourceGenerators.Internal", "..\..\glue\GodotSharp\Godot.SourceGenerators.Internal\Redot.SourceGenerators.Internal.csproj", "{55666071-BEC1-4A52-8A98-9A4A7A947DBF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -5,6 +5,7 @@
<LangVersion>10</LangVersion>
<Nullable>enable</Nullable>
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
<RootNamespace>Godot.SourceGenerators.Internal</RootNamespace>
</PropertyGroup>
<ItemGroup>

View File

@@ -105,7 +105,7 @@ namespace GodotPlugins
if (_editorHint)
{
_editorApiAssembly = Assembly.Load("GodotSharpEditor");
_editorApiAssembly = Assembly.Load("RedotSharpEditor");
SharedAssemblies.Add(_editorApiAssembly.GetName());
NativeLibrary.SetDllImportResolver(_editorApiAssembly, _dllImportResolver);
}
@@ -183,7 +183,7 @@ namespace GodotPlugins
if (method == null)
{
throw new MissingMethodException("GodotTools.GodotSharpEditor",
throw new MissingMethodException("GodotTools.RedotSharpEditor",
"InternalCreateInstance");
}

View File

@@ -37,7 +37,7 @@ namespace GodotPlugins
}
else
{
// TODO: How to log from GodotPlugins? (delegate pointer?)
// TODO: How to log from RedotPlugins? (delegate pointer?)
Console.Error.WriteLine("Failed to set AppContext.BaseDirectory. Dynamic loading of libraries may fail.");
}
}

View File

@@ -9,10 +9,11 @@
<!-- To generate the .runtimeconfig.json file-->
<EnableDynamicLoading>true</EnableDynamicLoading>
<RollForward>LatestMajor</RollForward>
<RootNamespace>GodotPlugins</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\GodotSharp\GodotSharp.csproj" />
<ProjectReference Include="..\GodotSharp\RedotSharp.csproj" />
</ItemGroup>
</Project>

View File

@@ -294,7 +294,7 @@ namespace Godot.Bridge
}
}
// Called from GodotPlugins
// Called from RedotPlugins
// ReSharper disable once UnusedMember.Local
public static void LookupScriptsInAssembly(Assembly assembly)
{

View File

@@ -203,7 +203,7 @@ namespace Godot
if (ReflectionUtils.IsEditorHintCached)
{
return t.Assembly.GetName().Name == "GodotSharpEditor";
return t.Assembly.GetName().Name == "RedotSharpEditor";
}
return false;

View File

@@ -1,3 +1,3 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("GodotSharpEditor")]
[assembly: InternalsVisibleTo("RedotSharpEditor")]

View File

@@ -18,7 +18,7 @@
<Description>Godot C# Core API.</Description>
<Authors>Godot Engine contributors</Authors>
<PackageId>GodotSharp</PackageId>
<PackageId>RedotSharp</PackageId>
<Version>4.5.0</Version>
<PackageVersion>$(PackageVersion_GodotSharp)</PackageVersion>
<RepositoryUrl>https://github.com/godotengine/godot/tree/master/modules/mono/glue/GodotSharp/GodotSharp</RepositoryUrl>
@@ -49,7 +49,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Godot.SourceGenerators.Internal\Godot.SourceGenerators.Internal.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
<ProjectReference Include="..\Godot.SourceGenerators.Internal\Redot.SourceGenerators.Internal.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
<!-- Sources -->

View File

@@ -14,7 +14,7 @@
<Description>Godot C# Editor API.</Description>
<Authors>Godot Engine contributors</Authors>
<PackageId>GodotSharpEditor</PackageId>
<PackageId>RedotSharpEditor</PackageId>
<Version>4.5.0</Version>
<PackageVersion>$(PackageVersion_GodotSharp)</PackageVersion>
<RepositoryUrl>https://github.com/godotengine/godot/tree/master/modules/mono/glue/GodotSharp/GodotSharpEditor</RepositoryUrl>
@@ -31,7 +31,7 @@
<DefineConstants Condition=" '$(GodotFloat64)' == 'true' ">REAL_T_IS_DOUBLE;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\GodotSharp\GodotSharp.csproj">
<ProjectReference Include="..\GodotSharp\RedotSharp.csproj">
<Private>false</Private>
</ProjectReference>
</ItemGroup>

View File

@@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotSharp", "GodotSharp\GodotSharp.csproj", "{AEBF0036-DA76-4341-B651-A3F2856AB2FA}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotSharp", "GodotSharp\RedotSharp.csproj", "{AEBF0036-DA76-4341-B651-A3F2856AB2FA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotSharpEditor", "GodotSharpEditor\GodotSharpEditor.csproj", "{8FBEC238-D944-4074-8548-B3B524305905}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotSharpEditor", "GodotSharpEditor\RedotSharpEditor.csproj", "{8FBEC238-D944-4074-8548-B3B524305905}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotPlugins", "GodotPlugins\GodotPlugins.csproj", "{944B77DB-497B-47F5-A1E3-81C35E3E9D4E}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedotPlugins", "GodotPlugins\RedotPlugins.csproj", "{944B77DB-497B-47F5-A1E3-81C35E3E9D4E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Godot.SourceGenerators.Internal", "Godot.SourceGenerators.Internal\Godot.SourceGenerators.Internal.csproj", "{7749662B-E30C-419A-B745-13852573360A}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redot.SourceGenerators.Internal", "Godot.SourceGenerators.Internal\Redot.SourceGenerators.Internal.csproj", "{7749662B-E30C-419A-B745-13852573360A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -0,0 +1,8 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GC/@EntryIndexedValue">GC</s:String>
<s:Boolean x:Key="/Default/UserDictionary/Words/=alcs/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=gdextension/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=godotsharp/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=icall/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=quat/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=vcall/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View File

@@ -432,10 +432,10 @@ godot_plugins_initialize_fn initialize_hostfxr_and_godot_plugins(bool &r_runtime
godot_plugins_initialize_fn godot_plugins_initialize = nullptr;
HostFxrCharString godot_plugins_path = str_to_hostfxr(
GodotSharpDirs::get_api_assemblies_dir().path_join("GodotPlugins.dll"));
GodotSharpDirs::get_api_assemblies_dir().path_join("RedotPlugins.dll"));
HostFxrCharString config_path = str_to_hostfxr(
GodotSharpDirs::get_api_assemblies_dir().path_join("GodotPlugins.runtimeconfig.json"));
GodotSharpDirs::get_api_assemblies_dir().path_join("RedotPlugins.runtimeconfig.json"));
load_assembly_and_get_function_pointer_fn load_assembly_and_get_function_pointer =
initialize_hostfxr_for_config(get_data(config_path));
@@ -451,7 +451,7 @@ godot_plugins_initialize_fn initialize_hostfxr_and_godot_plugins(bool &r_runtime
print_verbose(".NET: hostfxr initialized");
int rc = load_assembly_and_get_function_pointer(get_data(godot_plugins_path),
HOSTFXR_STR("GodotPlugins.Main, GodotPlugins"),
HOSTFXR_STR("GodotPlugins.Main, RedotPlugins"),
HOSTFXR_STR("InitializeFromEngine"),
UNMANAGEDCALLERSONLY_METHOD,
nullptr,