From 9621f71aaf66587606b9ac07635630b1e1a5e68e Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Thu, 2 May 2024 12:13:46 +0300 Subject: [PATCH] Add ignore projects option --- .../IgnoredProject.cs | 13 +++++-------- src/OrchardCoreContrib.PoExtractor/Program.cs | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/OrchardCoreContrib.PoExtractor/IgnoredProject.cs b/src/OrchardCoreContrib.PoExtractor/IgnoredProject.cs index 45935e5..6b450a5 100644 --- a/src/OrchardCoreContrib.PoExtractor/IgnoredProject.cs +++ b/src/OrchardCoreContrib.PoExtractor/IgnoredProject.cs @@ -14,12 +14,9 @@ public class IgnoredProject public static readonly string Test = "test"; - public static IEnumerable ToList() - { - yield return Docs; - yield return Cms; - yield return Mvc; - yield return Templates; - yield return Test; - } + private static readonly List _ignoredProjects = [ Docs, Cms, Mvc, Templates ]; + + public static void Add(string project) => _ignoredProjects.Add(project); + + public static IEnumerable ToList() => _ignoredProjects; } diff --git a/src/OrchardCoreContrib.PoExtractor/Program.cs b/src/OrchardCoreContrib.PoExtractor/Program.cs index 76a5e6d..2a9506c 100644 --- a/src/OrchardCoreContrib.PoExtractor/Program.cs +++ b/src/OrchardCoreContrib.PoExtractor/Program.cs @@ -147,6 +147,19 @@ private static (string language, string templateEngine) GetCliOptions(string[] a templateEngine = null; } + break; + case "-i": + case "--ignore": + if (!string.IsNullOrEmpty(args[i - 1])) + { + var ignoredProjects = args[i - 1].Split(',', StringSplitOptions.RemoveEmptyEntries); + + foreach (var ignoredProject in ignoredProjects) + { + IgnoredProject.Add(ignoredProject); + } + } + break; default: language = null; @@ -172,5 +185,6 @@ private static void ShowHelp() Console.WriteLine(" Default: C# language"); Console.WriteLine(" -t, --template Specifies the template engine to extract the translatable strings from."); Console.WriteLine(" Default: Razor & Liquid templates"); + Console.WriteLine(" -i, --ignore project1,project2, Ignores extracting PO filed from a given project(s)."); } }