diff --git a/AzuresPackager.csproj b/AzuresPackager.csproj
index 4716585..916fbff 100644
--- a/AzuresPackager.csproj
+++ b/AzuresPackager.csproj
@@ -1,16 +1,19 @@
+ Exe
net8.0
enable
enable
+
true
- ./nupkg
- azures04
- https://gitea.azures.fr/azures04/AzuresPackager
- git
+ AzuresPackager
+ 0.0.2
+ Azures04
+
+ false
-
+
\ No newline at end of file
diff --git a/Cli.cs b/Cli.cs
new file mode 100644
index 0000000..4971a12
--- /dev/null
+++ b/Cli.cs
@@ -0,0 +1,55 @@
+namespace AzuresPackager.Cli;
+
+public class Program {
+ public static void Main(string[] args) {
+ var arguments = new Dictionary();
+
+ for (int i = 0; i < args.Length; i++) {
+ if (args[i].StartsWith("--") && i + 1 < args.Length) {
+ arguments[args[i].ToLower()] = args[i + 1];
+ i++;
+ }
+ }
+
+ if (arguments.ContainsKey("--action") || !arguments.ContainsKey("--sourcedir") || !arguments.ContainsKey("--outputpath") || !arguments.ContainsKey("--key")) {
+ Console.WriteLine("Usage: AzuresPackager.Cli --action <[pack/unpack]> --sourceDir --outputPath --key ");
+ return;
+ }
+
+ string source = arguments["--sourcedir"];
+ string output = arguments["--outputpath"];
+
+ if (!byte.TryParse(arguments["--key"], out byte key)) {
+ Console.WriteLine("Erreur : La clé XOR (--key) doit être un nombre entre 0 et 255.");
+ return;
+ }
+
+ switch (arguments["--action"]) {
+ case "pack":
+ try {
+ Console.WriteLine($"[AzuresPackager] Packaging : {source} -> {output} (Key: {key})");
+ Packager.Pack(source, output, key);
+ Console.WriteLine("[AzuresPackager] Success");
+ Environment.Exit(0);
+ } catch (Exception ex) {
+ Console.WriteLine($"[AzuresPackager] Erreur : {ex.Message}");
+ Environment.Exit(1);
+ }
+ break;
+ case "unpack":
+ try {
+ Console.WriteLine($"[AzuresPackager] Unpackaging : {source} -> {output} (Key: {key})");
+ AzuresPackage azp = new AzuresPackage(source, key);
+ azp.Unpack(output);
+ Console.WriteLine("[AzuresPackager] Success");
+ Environment.Exit(0);
+ } catch (Exception ex) {
+ Console.WriteLine($"[AzuresPackager] Erreur : {ex.Message}");
+ Environment.Exit(1);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Packager.cs b/Packager.cs
index 02fa6f9..3a965c7 100644
--- a/Packager.cs
+++ b/Packager.cs
@@ -1,11 +1,7 @@
-using System.IO;
-using System.Text;
+using System.Text;
using SharpCompress.Archives;
using SharpCompress.Common;
using SharpCompress.Writers;
-using System.Collections.Generic;
-using System.Linq;
-using System;
namespace AzuresPackager;
diff --git a/publish.ps1 b/publish.ps1
index 7aa90c2..5a323b4 100644
--- a/publish.ps1
+++ b/publish.ps1
@@ -1,5 +1,5 @@
clear
-$version = "0.0.1"
+$version = "0.0.2"
Write-Host "`r`n[Task 1/4] Cleaning project..." -ForegroundColor Magenta
dotnet clean
@@ -14,4 +14,4 @@ Write-Host "`r`n[Task 4/4] Packing project..." -ForegroundColor Magenta
dotnet pack --version $version
Write-Host "`r`n[Task 5/4] Publishing project..." -ForegroundColor Magenta
-dotnet nuget push --source AzuresGitea "nupkg\AzuresPackager.$version.nupkg"
\ No newline at end of file
+dotnet nuget push --source AzuresGitea "nupkg\AzuresPackager.$version.nupkg" --skip-duplicate
\ No newline at end of file