Shad Storhaug created LUCENENET-638:
---------------------------------------
Summary: Finish implementation of "System Properties" for .NET
Key: LUCENENET-638
URL: https://issues.apache.org/jira/browse/LUCENENET-638
Project: Lucene.Net
Issue Type: Task
Components: Lucene.Net.TestFramework
Affects Versions: Lucene.Net 4.8.0
Reporter: Shad Storhaug
In Java, [System
Properties|https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html]
are file based properties that can be overridden by for the specific
environment (environment variables).
To implement similar functionality in .NET, we have added the
{{Lucene.Net.Support.SystemProperties}} class, which currently just
reads/writes environment variables.
With the release of the TestFramework, it is now more important to have
Hierarchical file configuration based properties that can be utilized in test
projects in order to control the features of the TestFramework. They should
also still be able to be specified as environment variables that override the
file-based settings.
We should use a JSON-based file format, ideally following an existing
convention in .NET.
The closest match in .NET Core appears to be the
[Microsoft.Extensions.Configuration
API|https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/index].
We need to investigate using this API as a replacement for
{{Lucene.Net.Support.SystemProperties}}, and come up with a read-write
hierarchical file-based configuration solution that can be overridden by
environment variables on any platform.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)