From f41dd06f6dc31abe4f6fd5b1e614ef99c925607f Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Mon, 13 Apr 2020 12:48:49 -0400 Subject: [PATCH] fixed external module template so that it generates folder paths correctly --- .../Client/[Owner].[Module]s.Module.Client.csproj | 4 ++-- .../Package/[Owner].[Module]s.Module.nuspec | 2 +- .../Templates/External/Package/debug.cmd | 12 ++++++------ .../Templates/External/Package/release.cmd | 4 ++-- .../Server/[Owner].[Module]s.Module.Server.csproj | 4 ++-- .../Shared/[Owner].[Module]s.Module.Shared.csproj | 2 +- .../Controllers/ModuleDefinitionController.cs | 15 +++++++++------ 7 files changed, 23 insertions(+), 20 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Client/[Owner].[Module]s.Module.Client.csproj b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Client/[Owner].[Module]s.Module.Client.csproj index c3b58f44..475072f4 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Client/[Owner].[Module]s.Module.Client.csproj +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Client/[Owner].[Module]s.Module.Client.csproj @@ -23,10 +23,10 @@ - ..\..\oqtane.framework\Oqtane.Client\bin\Debug\netstandard2.1\Oqtane.Client.dll + ..\..\[RootFolder]\Oqtane.Client\bin\Debug\netstandard2.1\Oqtane.Client.dll - ..\..\oqtane.framework\Oqtane.Client\bin\Debug\netstandard2.1\Oqtane.Shared.dll + ..\..\[RootFolder]\Oqtane.Client\bin\Debug\netstandard2.1\Oqtane.Shared.dll diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/[Owner].[Module]s.Module.nuspec b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/[Owner].[Module]s.Module.nuspec index 8598cfee..e8c00e60 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/[Owner].[Module]s.Module.nuspec +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/[Owner].[Module]s.Module.nuspec @@ -16,7 +16,7 @@ - + diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/debug.cmd b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/debug.cmd index 8b72b03b..37f0dd87 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/debug.cmd +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/debug.cmd @@ -1,6 +1,6 @@ -XCOPY "..\Client\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Client.dll" "..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y -XCOPY "..\Client\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Client.pdb" "..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y -XCOPY "..\Server\bin\Debug\netcoreapp3.1\[Owner].[Module]s.Module.Server.dll" "..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y -XCOPY "..\Server\bin\Debug\netcoreapp3.1\[Owner].[Module]s.Module.Server.pdb" "..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y -XCOPY "..\Shared\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Shared.dll" "..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y -XCOPY "..\Shared\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Shared.pdb" "..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y +XCOPY "..\Client\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Client.dll" "..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y +XCOPY "..\Client\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Client.pdb" "..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y +XCOPY "..\Server\bin\Debug\netcoreapp3.1\[Owner].[Module]s.Module.Server.dll" "..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y +XCOPY "..\Server\bin\Debug\netcoreapp3.1\[Owner].[Module]s.Module.Server.pdb" "..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y +XCOPY "..\Shared\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Shared.dll" "..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y +XCOPY "..\Shared\bin\Debug\netstandard2.1\[Owner].[Module]s.Module.Shared.pdb" "..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\" /Y diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/release.cmd b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/release.cmd index 16c8ad03..71f2c513 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/release.cmd +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Package/release.cmd @@ -1,2 +1,2 @@ -"..\..\oqtane.framework\oqtane.package\nuget.exe" pack [Owner].[Module]s.Module.nuspec -XCOPY "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\wwwroot\Modules\" /Y +"..\..\[RootFolder]\oqtane.package\nuget.exe" pack [Owner].[Module]s.Module.nuspec +XCOPY "*.nupkg" "..\..\[RootFolder]\Oqtane.Server\wwwroot\Modules\" /Y diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Server/[Owner].[Module]s.Module.Server.csproj b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Server/[Owner].[Module]s.Module.Server.csproj index d7346635..444b9413 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Server/[Owner].[Module]s.Module.Server.csproj +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Server/[Owner].[Module]s.Module.Server.csproj @@ -43,10 +43,10 @@ - ..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\Oqtane.Server.dll + ..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\Oqtane.Server.dll - ..\..\oqtane.framework\Oqtane.Server\bin\Debug\netcoreapp3.1\Oqtane.Shared.dll + ..\..\[RootFolder]\Oqtane.Server\bin\Debug\netcoreapp3.1\Oqtane.Shared.dll diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Shared/[Owner].[Module]s.Module.Shared.csproj b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Shared/[Owner].[Module]s.Module.Shared.csproj index b16ad2bd..b0059453 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Shared/[Owner].[Module]s.Module.Shared.csproj +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/External/Shared/[Owner].[Module]s.Module.Shared.csproj @@ -21,7 +21,7 @@ - ..\..\oqtane.framework\Oqtane.Shared\bin\Debug\netstandard2.1\Oqtane.Shared.dll + ..\..\[RootFolder]\Oqtane.Shared\bin\Debug\netstandard2.1\Oqtane.Shared.dll diff --git a/Oqtane.Server/Controllers/ModuleDefinitionController.cs b/Oqtane.Server/Controllers/ModuleDefinitionController.cs index 7ecfde46..9fc4f66e 100644 --- a/Oqtane.Server/Controllers/ModuleDefinitionController.cs +++ b/Oqtane.Server/Controllers/ModuleDefinitionController.cs @@ -186,23 +186,24 @@ namespace Oqtane.Controllers { if (ModelState.IsValid) { - string templatePath = Path.Combine(Directory.GetParent(_environment.ContentRootPath).FullName, "Oqtane.Client\\Modules\\Admin\\ModuleCreator\\Templates\\" + moduleDefinition.Template + "\\"); string rootPath; + DirectoryInfo rootFolder = Directory.GetParent(_environment.ContentRootPath); + string templatePath = Path.Combine(rootFolder.FullName, "Oqtane.Client\\Modules\\Admin\\ModuleCreator\\Templates\\" + moduleDefinition.Template + "\\"); if (moduleDefinition.Template == "internal") { - rootPath = Directory.GetParent(_environment.ContentRootPath).FullName + "\\"; + rootPath = rootFolder.FullName + "\\"; moduleDefinition.ModuleDefinitionName = moduleDefinition.Owner + "." + moduleDefinition.Name + "s.Modules, Oqtane.Client"; moduleDefinition.ServerAssemblyName = "Oqtane.Server"; } else { - rootPath = Directory.GetParent(_environment.ContentRootPath).Parent.FullName + "\\" + moduleDefinition.Owner + "." + moduleDefinition.Name + "s.Module\\"; + rootPath = rootFolder.Parent.FullName + "\\" + moduleDefinition.Owner + "." + moduleDefinition.Name + "s.Module\\"; moduleDefinition.ModuleDefinitionName = moduleDefinition.Owner + "." + moduleDefinition.Name + "s.Modules, " + moduleDefinition.Owner + "." + moduleDefinition.Name + "s.Module.Client"; moduleDefinition.ServerAssemblyName = moduleDefinition.Owner + "." + moduleDefinition.Name + "s.Module.Server"; } - ProcessTemplatesRecursively(new DirectoryInfo(templatePath), rootPath, templatePath, moduleDefinition); + ProcessTemplatesRecursively(new DirectoryInfo(templatePath), rootPath, rootFolder.Name, templatePath, moduleDefinition); _logger.Log(LogLevel.Information, this, LogFunction.Create, "Module Definition Created {ModuleDefinition}", moduleDefinition); Models.Module module = _modules.GetModule(int.Parse(moduleid)); @@ -213,7 +214,7 @@ namespace Oqtane.Controllers } } - private void ProcessTemplatesRecursively(DirectoryInfo current, string rootPath, string templatePath, ModuleDefinition moduleDefinition) + private void ProcessTemplatesRecursively(DirectoryInfo current, string rootPath, string rootFolder, string templatePath, ModuleDefinition moduleDefinition) { // process folder string folderPath = rootPath + current.FullName.Replace(templatePath, ""); @@ -239,9 +240,11 @@ namespace Oqtane.Controllers text = text.Replace("[Module]", moduleDefinition.Name); text = text.Replace("[Description]", moduleDefinition.Description); text = text.Replace("[RootPath]", rootPath); + text = text.Replace("[RootFolder]", rootFolder); text = text.Replace("[ServerAssemblyName]", moduleDefinition.ServerAssemblyName); text = text.Replace("[Folder]", folderPath); text = text.Replace("[File]", Path.GetFileName(filePath)); + text = text.Replace("[FrameworkVersion]", Constants.Version); System.IO.File.WriteAllText(filePath, text); if (Path.GetExtension(filePath).ToLower() == ".sql" && !filePath.ToLower().Contains("uninstall")) @@ -255,7 +258,7 @@ namespace Oqtane.Controllers foreach (DirectoryInfo folder in folders.Reverse()) { - ProcessTemplatesRecursively(folder, rootPath, templatePath, moduleDefinition); + ProcessTemplatesRecursively(folder, rootPath, rootFolder, templatePath, moduleDefinition); } } }