You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "Shad Storhaug (Jira)" <ji...@apache.org> on 2019/12/27 21:31:00 UTC

[jira] [Created] (LUCENENET-638) Finish implementation of "System Properties" for .NET

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)