diff --git a/modules/mono/Directory.Build.props b/modules/mono/Directory.Build.props index fbf864b11b0..f7c8a825f9d 100644 --- a/modules/mono/Directory.Build.props +++ b/modules/mono/Directory.Build.props @@ -1,3 +1,6 @@ - + + $(MSBuildThisFileDirectory)\SdkPackageVersions.props + + diff --git a/modules/mono/Directory.Build.targets b/modules/mono/Directory.Build.targets new file mode 100644 index 00000000000..98410b93aed --- /dev/null +++ b/modules/mono/Directory.Build.targets @@ -0,0 +1,22 @@ + + + <_HasNuGetPackage Condition=" '$(_HasNuGetPackage)' == '' And '$(PackageId)' != '' And '$(GeneratePackageOnBuild.ToLower())' == 'true' ">true + <_HasNuGetPackage Condition=" '$(_HasNuGetPackage)' == '' ">false + + + + $(MSBuildThisFileDirectory)\..\..\ + $(GodotSourceRootPath)\bin\GodotSharp\ + + + + + + + + + + diff --git a/modules/mono/SdkPackageVersions.props b/modules/mono/SdkPackageVersions.props index 50ef6d8d6c0..65094aa34f5 100644 --- a/modules/mono/SdkPackageVersions.props +++ b/modules/mono/SdkPackageVersions.props @@ -1,7 +1,8 @@ 4.0.*-* - 4.0.0-dev7 + 4.0.0-dev + 4.0.0-dev8 4.0.0-dev8 diff --git a/modules/mono/build_scripts/build_assemblies.py b/modules/mono/build_scripts/build_assemblies.py index 9cf93302321..fa3be684bdc 100755 --- a/modules/mono/build_scripts/build_assemblies.py +++ b/modules/mono/build_scripts/build_assemblies.py @@ -195,7 +195,7 @@ def run_msbuild(tools: ToolsLocation, sln: str, msbuild_args: [str] = None): return subprocess.call(args, env=msbuild_env) -def build_godot_api(msbuild_tool, module_dir, output_dir): +def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local): target_filenames = [ "GodotSharp.dll", "GodotSharp.pdb", @@ -213,11 +213,15 @@ def build_godot_api(msbuild_tool, module_dir, output_dir): targets = [os.path.join(editor_api_dir, filename) for filename in target_filenames] + args = ["/restore", "/t:Build", "/p:Configuration=" + build_config, "/p:NoWarn=1591"] + if push_nupkgs_local: + args += ["/p:ClearNuGetLocalCache=true", "/p:PushNuGetToLocalSource=" + push_nupkgs_local] + sln = os.path.join(module_dir, "glue/GodotSharp/GodotSharp.sln") exit_code = run_msbuild( msbuild_tool, sln=sln, - msbuild_args=["/restore", "/t:Build", "/p:Configuration=" + build_config, "/p:NoWarn=1591"], + msbuild_args=args, ) if exit_code != 0: return exit_code @@ -252,9 +256,9 @@ def build_godot_api(msbuild_tool, module_dir, output_dir): return 0 -def build_all(msbuild_tool, module_dir, output_dir, dev_debug, godot_platform): +def build_all(msbuild_tool, module_dir, output_dir, godot_platform, dev_debug, push_nupkgs_local): # Godot API - exit_code = build_godot_api(msbuild_tool, module_dir, output_dir) + exit_code = build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local) if exit_code != 0: return exit_code @@ -263,13 +267,18 @@ def build_all(msbuild_tool, module_dir, output_dir, dev_debug, godot_platform): args = ["/restore", "/t:Build", "/p:Configuration=" + ("Debug" if dev_debug else "Release")] + ( ["/p:GodotPlatform=" + godot_platform] if godot_platform else [] ) + if push_nupkgs_local: + args += ["/p:ClearNuGetLocalCache=true", "/p:PushNuGetToLocalSource=" + push_nupkgs_local] exit_code = run_msbuild(msbuild_tool, sln=sln, msbuild_args=args) if exit_code != 0: return exit_code # Godot.NET.Sdk + args = ["/restore", "/t:Build", "/p:Configuration=Release"] + if push_nupkgs_local: + args += ["/p:ClearNuGetLocalCache=true", "/p:PushNuGetToLocalSource=" + push_nupkgs_local] sln = os.path.join(module_dir, "editor/Godot.NET.Sdk/Godot.NET.Sdk.sln") - exit_code = run_msbuild(msbuild_tool, sln=sln, msbuild_args=["/restore", "/t:Build", "/p:Configuration=Release"]) + exit_code = run_msbuild(msbuild_tool, sln=sln, msbuild_args=args) if exit_code != 0: return exit_code @@ -290,6 +299,7 @@ def main(): ) parser.add_argument("--godot-platform", type=str, default="") parser.add_argument("--mono-prefix", type=str, default="") + parser.add_argument("--push-nupkgs-local", type=str, default="") args = parser.parse_args() @@ -304,7 +314,14 @@ def main(): print("Unable to find MSBuild") sys.exit(1) - exit_code = build_all(msbuild_tool, module_dir, output_dir, args.godot_platform, args.dev_debug) + exit_code = build_all( + msbuild_tool, + module_dir, + output_dir, + args.godot_platform, + args.dev_debug, + args.push_nupkgs_local, + ) sys.exit(exit_code) diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Godot.NET.Sdk.csproj b/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Godot.NET.Sdk.csproj index 4e9e7184daf..013b210ff43 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Godot.NET.Sdk.csproj +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Godot.NET.Sdk.csproj @@ -26,16 +26,8 @@ - + Sdk\SdkPackageVersions.props - - - - $(SolutionDir)\..\..\..\..\ - $(GodotSourceRootPath)\bin\GodotSharp\ - - - diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props b/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props index 9bc134818ae..652b9e8e434 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props @@ -95,19 +95,4 @@ $(GodotDefineConstants);$(DefineConstants) - - - - - - $(GodotProjectDir).godot\mono\assemblies\$(GodotApiConfiguration)\GodotSharp.dll - - - $(GodotProjectDir).godot\mono\assemblies\$(GodotApiConfiguration)\GodotSharpEditor.dll - - diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.targets b/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.targets index 397ede9644e..aad4ea4553a 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.targets +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.targets @@ -19,4 +19,10 @@ + + + + + + diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Godot.SourceGenerators.csproj b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Godot.SourceGenerators.csproj index d61d9f7f142..f51b5970c36 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Godot.SourceGenerators.csproj +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Godot.SourceGenerators.csproj @@ -30,12 +30,4 @@ - - - - $(SolutionDir)\..\..\..\..\ - $(GodotSourceRootPath)\bin\GodotSharp\ - - - diff --git a/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj b/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj index ce1a53cff2d..2e121bb7894 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj +++ b/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj @@ -15,6 +15,25 @@ CS1591 + + Godot C# Core API. + Godot Engine contributors + + GodotSharp + 4.0.0 + $(PackageVersion_GodotSharp) + https://github.com/godotengine/godot/tree/master/modules/mono/glue/GodotSharp/GodotSharp + $(RepositoryUrl) + MIT + + true + + + + + SdkPackageVersions.props + + $(DefineConstants);GODOT diff --git a/modules/mono/glue/GodotSharp/GodotSharpEditor/GodotSharpEditor.csproj b/modules/mono/glue/GodotSharp/GodotSharpEditor/GodotSharpEditor.csproj index aebf3a4a182..ebf09aab7b0 100644 --- a/modules/mono/glue/GodotSharp/GodotSharpEditor/GodotSharpEditor.csproj +++ b/modules/mono/glue/GodotSharp/GodotSharpEditor/GodotSharpEditor.csproj @@ -10,6 +10,19 @@ true 10 + + Godot C# Editor API. + Godot Engine contributors + + GodotSharpEditor + 4.0.0 + $(PackageVersion_GodotSharp) + https://github.com/godotengine/godot/tree/master/modules/mono/glue/GodotSharp/GodotSharpEditor + $(RepositoryUrl) + MIT + + true + $(DefineConstants);GODOT