This is an automated email from the ASF dual-hosted git repository. paulirwin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit 9b1a2a532559adf37e0104b3e3180e04038be52b Author: Paul Irwin <[email protected]> AuthorDate: Mon Oct 14 22:11:15 2024 -0600 Use TextWriter.Null for SystemConsole by default, #936 --- src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs | 8 ++++---- .../Standard/Parser/StandardSyntaxParserTokenManager.cs | 6 +++--- .../Support/Util/LuceneTestFrameworkInitializer.cs | 10 +++++++--- src/Lucene.Net/Support/Util/SystemConsole.cs | 9 ++++----- src/dotnet/tools/lucene-cli/Program.cs | 7 ++++++- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs b/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs index b7e7ea01c..79d0032bd 100644 --- a/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs +++ b/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Support.IO; +using Lucene.Net.Support.IO; using System; using System.Diagnostics.CodeAnalysis; using System.IO; @@ -31,7 +31,7 @@ namespace Lucene.Net.QueryParsers.Classic { /// <summary>Debug output. </summary> #pragma warning disable IDE0052 // Remove unread private members - private TextWriter debugStream; // LUCENENET specific - made private, since we already have a setter + private TextWriter debugStream = Console.Out; // LUCENENET specific - made private, since we already have a setter #pragma warning restore IDE0052 // Remove unread private members /// <summary>Set debug output. </summary> public virtual void SetDebugStream(TextWriter ds) @@ -1162,7 +1162,7 @@ namespace Lucene.Net.QueryParsers.Classic m_input_stream = stream; } - /// <summary>Constructor. + /// <summary>Constructor. /// <para>Note that this constructor calls a virtual method <see cref="SwitchTo(int)" />. If you /// are subclassing this class, use <see cref="QueryParserTokenManager(ICharStream)" /> constructor and /// call SwitchTo if needed.</para> @@ -1358,4 +1358,4 @@ EOFLoop: {/* LUCENENET: intentionally blank */} while (start++ != end); } } -} \ No newline at end of file +} diff --git a/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs b/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs index cca7cc3f5..660dad827 100644 --- a/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs +++ b/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Support.IO; +using Lucene.Net.Support.IO; using System.Diagnostics.CodeAnalysis; using System; using System.IO; @@ -32,7 +32,7 @@ namespace Lucene.Net.QueryParsers.Flexible.Standard.Parser { /// <summary>Debug output.</summary> #pragma warning disable IDE0052 // Remove unread private members - private TextWriter debugStream; // LUCENENET specific - made private, since we already have a setter + private TextWriter debugStream = Console.Out; // LUCENENET specific - made private, since we already have a setter #pragma warning restore IDE0052 // Remove unread private members /// <summary>Set debug output.</summary> public void SetDebugStream(TextWriter ds) { debugStream = new SafeTextWriterWrapper(ds); } @@ -869,7 +869,7 @@ namespace Lucene.Net.QueryParsers.Flexible.Standard.Parser Token matchedToken; int curPos = 0; - + for (;;) { try diff --git a/src/Lucene.Net.TestFramework/Support/Util/LuceneTestFrameworkInitializer.cs b/src/Lucene.Net.TestFramework/Support/Util/LuceneTestFrameworkInitializer.cs index 49b520ee2..d3391b121 100644 --- a/src/Lucene.Net.TestFramework/Support/Util/LuceneTestFrameworkInitializer.cs +++ b/src/Lucene.Net.TestFramework/Support/Util/LuceneTestFrameworkInitializer.cs @@ -86,7 +86,7 @@ namespace Lucene.Net.Util /// <b>Example:</b> /// <code> /// using RandomizedTesting.Generators; - /// + /// /// public class Startup : LuceneTestFrameworkInitializer /// { /// // Run first @@ -94,7 +94,7 @@ namespace Lucene.Net.Util /// { /// // Inject a custom configuration factory /// ConfigurationFactory = new MyConfigurationFactory(); - /// + /// /// // Do any additional dependency injection setup here /// } /// @@ -301,7 +301,7 @@ namespace Lucene.Net.Util /// <para/> /// Repeatable random setup can be done by calling <see cref="Random"/> or by using methods of <see cref="LuceneTestCase"/>. /// <para/> - /// It is not possible to set <see cref="CodecFactory"/>, <see cref="PostingsFormatFactory"/>, + /// It is not possible to set <see cref="CodecFactory"/>, <see cref="PostingsFormatFactory"/>, /// <see cref="DocValuesFormatFactory"/> and <see cref="ConfigurationFactory"/> /// from this method. Those must be called in <see cref="Initialize()"/>. /// </summary> @@ -334,6 +334,10 @@ namespace Lucene.Net.Util /// </summary> internal void InitializeStaticState() { + // Enable console output + SystemConsole.Out = Console.Out; + SystemConsole.Error = Console.Error; + // Setup the factories ConfigurationSettings.SetConfigurationFactory(ConfigurationFactory); Codec.SetCodecFactory(CodecFactory); diff --git a/src/Lucene.Net/Support/Util/SystemConsole.cs b/src/Lucene.Net/Support/Util/SystemConsole.cs index 486aec649..5dd841f56 100644 --- a/src/Lucene.Net/Support/Util/SystemConsole.cs +++ b/src/Lucene.Net/Support/Util/SystemConsole.cs @@ -26,15 +26,14 @@ namespace Lucene.Net.Util /// <summary> /// Mimics <see cref="System.Console"/>, but allows for swapping - /// the <see cref="TextWriter"/> of - /// <see cref="Out"/> and <see cref="Error"/>, or the <see cref="TextReader"/> of <see cref="In"/> + /// the <see cref="TextWriter"/> of + /// <see cref="Out"/> and <see cref="Error"/> /// with user-defined implementations. /// </summary> public static class SystemConsole { - public static TextWriter Out { get; set; } = Console.Out; - public static TextWriter Error { get; set; } = Console.Error; - public static TextReader In { get; set; } = Console.In; + public static TextWriter Out { get; set; } = TextWriter.Null; + public static TextWriter Error { get; set; } = TextWriter.Null; [MethodImpl(MethodImplOptions.NoInlining)] #if FEATURE_CODE_ACCESS_SECURITY diff --git a/src/dotnet/tools/lucene-cli/Program.cs b/src/dotnet/tools/lucene-cli/Program.cs index cc6900bfe..77c548f4f 100644 --- a/src/dotnet/tools/lucene-cli/Program.cs +++ b/src/dotnet/tools/lucene-cli/Program.cs @@ -1,4 +1,5 @@ using Lucene.Net.Configuration; +using Lucene.Net.Util; using Microsoft.Extensions.Configuration; using System; @@ -24,8 +25,12 @@ namespace Lucene.Net.Cli { public static int Main(string[] args) { + // Enable console output + SystemConsole.Out = Console.Out; + SystemConsole.Error = Console.Error; + var configuration = new ConfigurationBuilder() - .AddEnvironmentVariables(prefix: "lucene:") // Use a custom prefix to only load Lucene.NET settings + .AddEnvironmentVariables(prefix: "lucene:") // Use a custom prefix to only load Lucene.NET settings .AddJsonFile("appsettings.json", optional: true) .Build(); ConfigurationSettings.SetConfigurationFactory(new ConfigurationFactory(configuration));
