bongohrtech / lucenenet

Mirror of Apache Lucene.Net
Apache License 2.0
0 stars 0 forks source link

Finish implementation of "System Properties" for .NET #112

Open bongohrtech opened 4 years ago

bongohrtech commented 4 years ago

In Java, System Properties 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. 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.

JIRA link - [LUCENENET-638] created by nightowl888