Added nuget directory option to pack command of the script

This commit is contained in:
2025-05-13 21:17:49 +02:00
parent a579dd4759
commit 73ca5e57e8

View File

@@ -19,7 +19,8 @@ public class PackCommand
public async Task Pack( public async Task Pack(
[Argument] string solutionDirectory, [Argument] string solutionDirectory,
[Argument] string outputLocation, [Argument] string outputLocation,
[Option] string buildConfiguration = "Debug" [Option] string buildConfiguration = "Debug",
[Option] string? nugetDir = null
) )
{ {
if (!Directory.Exists(solutionDirectory)) if (!Directory.Exists(solutionDirectory))
@@ -96,13 +97,15 @@ public class PackCommand
{ {
await BuildProject( await BuildProject(
apiServerProject, apiServerProject,
buildConfiguration buildConfiguration,
nugetDir
); );
var nugetFilePath = await PackProject( var nugetFilePath = await PackProject(
apiServerProject, apiServerProject,
TmpDir, TmpDir,
buildConfiguration buildConfiguration,
nugetDir
); );
var nugetPackage = ZipFile.Open( var nugetPackage = ZipFile.Open(
@@ -126,13 +129,15 @@ public class PackCommand
{ {
await BuildProject( await BuildProject(
frontendProject, frontendProject,
buildConfiguration buildConfiguration,
nugetDir
); );
var nugetFilePath = await PackProject( var nugetFilePath = await PackProject(
frontendProject, frontendProject,
TmpDir, TmpDir,
buildConfiguration buildConfiguration,
nugetDir
); );
var nugetPackage = ZipFile.Open( var nugetPackage = ZipFile.Open(
@@ -226,39 +231,41 @@ public class PackCommand
{ {
await BuildProject( await BuildProject(
sharedProject, sharedProject,
buildConfiguration buildConfiguration,
nugetDir
); );
var nugetFilePath = await PackProject( var nugetFilePath = await PackProject(
sharedProject, sharedProject,
TmpDir, TmpDir,
buildConfiguration buildConfiguration,
nugetDir
); );
File.Move(nugetFilePath, Path.Combine(outputLocation, Path.GetFileName(nugetFilePath)), true); File.Move(nugetFilePath, Path.Combine(outputLocation, Path.GetFileName(nugetFilePath)), true);
} }
} }
private async Task BuildProject(string file, string configuration) private async Task BuildProject(string file, string configuration, string? nugetDir)
{ {
var basePath = Path.GetFullPath(Path.GetDirectoryName(file)!); var basePath = Path.GetFullPath(Path.GetDirectoryName(file)!);
var fileName = Path.GetFileName(file); var fileName = Path.GetFileName(file);
await CommandHelper.Run( await CommandHelper.Run(
"/usr/bin/dotnet", "/usr/bin/dotnet",
$"build {fileName} --configuration {configuration}", $"build {fileName} --configuration {configuration}" + (string.IsNullOrEmpty(nugetDir) ? "" : $" --source {nugetDir}"),
basePath basePath
); );
} }
private async Task<string> PackProject(string file, string output, string configuration) private async Task<string> PackProject(string file, string output, string configuration, string? nugetDir)
{ {
var basePath = Path.GetFullPath(Path.GetDirectoryName(file)!); var basePath = Path.GetFullPath(Path.GetDirectoryName(file)!);
var fileName = Path.GetFileName(file); var fileName = Path.GetFileName(file);
await CommandHelper.Run( await CommandHelper.Run(
"/usr/bin/dotnet", "/usr/bin/dotnet",
$"pack {fileName} --output {output} --configuration {configuration}", $"pack {fileName} --output {output} --configuration {configuration}" + (string.IsNullOrEmpty(nugetDir) ? "" : $" --source {nugetDir}"),
basePath basePath
); );