Hi Paul,

Thanks for reaching out. We definitely could use the help to get Lucene.NET 
4.8.0 out of beta.

While it is true that we already support .NET Core because of .NET Standard 
support, we only recently set up tests to run on Linux and macOS, and have 
discovered that our current NativeFSLockFactory implementation has some issues 
running on macOS. See https://issues.apache.org/jira/browse/LUCENENET-618. This 
is something that is currently up-for-grabs, but the current thinking is to 
utilize the implementation that is working well on Windows by provoking the 
specific exceptions we are interested in during initialization to cache the 
HResult values of the current platform (except for Windows because we already 
know them) so they can be utilized during runtime as constant values.

Also, while we are testing on .NET Framework and .NET Core 1.0 and 2.1, we are 
not currently testing on any of the many other platforms that .NET Standard 
supports. There is another up-for-grabs issue for anyone who would be willing 
to help us setup tests on common platforms such as Mono, UWP, and Xamarin iOS 
(the latter of which we have had reports of some issues already): 
https://issues.apache.org/jira/browse/LUCENENET-633

Do note that we have setup a YAML build pipeline (azure-pipelines.yml) for 
Azure DevOps that literally anyone can use to build and run the tests simply by 
importing the YAML into a new build pipeline in a free Azure DevOps account 
(https://azure.microsoft.com/en-us/services/devops/). If you make the Azure 
DevOps project public, the tests will run in parallel. The default options will 
"just work", and there are some variables that are documented at the top of the 
file that can be added to the build to enable other features, such as pushing 
the NuGet packages into Azure Artifacts. It is this YAML file (and its 
dependencies) that will need to be edited in order to setup testing on 
additional platforms.

Lucene.NET is largely unfinished because it has dependencies that are 
unfinished and/or not ported. Some dependencies do not have .NET Standard 
support yet, which is holding up the show. Others did not have .NET Standard 
support as early as we did, so we ended up copying code from those projects 
rather than doing the contribution work on another project to get them on .NET 
Standard, which was both a considerable amount of work and a tough sell to 
project maintainers in those early days. Now we should try to migrate 
dependencies back to the original source of the code and make patches as 
necessary. Some of these dependencies:

C5: https://github.com/sestoft/C5 (Collections TreeSet and TreeDictionary do 
not support ISet<T>, IDictionary<T>, so are not compatible with Lucene.NET). 
See https://issues.apache.org/jira/browse/LUCENENET-612. 
CSharpTest.Net.Collections: 
https://github.com/csharptest/CSharpTest.Net.Collections (No .NET Standard 
support)
ICU4N: https://github.com/NightOwl888/ICU4N (Lucene's largest dependency, 
ported as much as Lucene.NET needs, but will require work to make it fully .NET 
compatible)
RandomizedTesting: https://issues.apache.org/jira/browse/LUCENENET-627 (Not yet 
ported)
OpenNLP: Option #1: Native implementation 
(https://github.com/AlexPoint/OpenNlp) has no .NET Standard support and is an 
old version missing features that Lucene.NET needs. Option #2: IKVM 
implementation (https://github.com/sergey-tihon/OpenNLP.NET) has no .NET 
Standard support, although there is some activity happening to try to make it 
happen (https://github.com/wwrd/ikvm8/issues/3).
JavaCC: https://issues.apache.org/jira/browse/LUCENENET-620 Parser generator 
for QueryParsers (Not yet ported)
Morfologik: https://issues.apache.org/jira/browse/LUCENENET-568 (Not yet ported)

Of course, if none of that sounds like a task you would be interested in 
pursuing, we have been slowly adding up-for-grabs issues on JIRA: 
https://issues.apache.org/jira/projects/LUCENENET. There are many tasks 
available ranging from a few hours to a few weeks. Just let us know what you 
would be interested in working on so efforts are not duplicated. Do note that 
the list on JIRA is not complete, so if you need any other suggestions, just 
ask.

BTW - earlier this year Apache moved our official repo to GitBox: 
https://gitbox.apache.org/repos/asf/lucenenet.git. Please let us know where you 
discovered that link so we can make sure it gets updated.


Thanks,
Shad Storhaug (NightOwl888)
Project Chairperson - Lucene.NET


-----Original Message-----
From: Andrey Kurdumov <[email protected]> 
Sent: Sunday, October 20, 2019 6:18 PM
To: [email protected]
Subject: RE: .net core contribution

I would say, that this is already done. Lucene.NET 4.8 supports .NET Standard 
2.0 and as such work in all version of .NET Core. I can say from experience, 
that certain parts of code successfully working in Blazor starting from early 
beta, so likely this part is already done.

If you have troubles clone from Apache servers, you can always clone from 
Github mirrors (https://github.com/apache/lucenenet)

For list of open issues you can go to JIRA 
(https://issues.apache.org/jira/projects/LUCENENET) and try to take what feels 
closer to your needs.

Best regards,
Andrey

From: Paul Stoker
Sent: Sunday, October 20, 2019 1:58 PM
To: [email protected]
Subject: .net core contribution

Hey guys,

I'm looking to contribute to some open source projects and having worked with 
Lucene.net I'm interested in helping guys out.

In short I thought that it would be a great idea (I'm sure I'm not the first to 
ask) to port this library to .net core.

Firstly, is it even feasible?
Secondaly, would this be something your are interested in?

I tried cloning the repo to check but received ''*fatal: unable to access 
'https://git-wip-us.apache.org/repos/asf/lucenenet.git/
<https://git-wip-us.apache.org/repos/asf/lucenenet.git/>': SSL certificate
problem: unable to get local issuer certificate*" - I could ignore that warning 
but wanted to check first.

Thanks,

*Paul Stoker*
Developer / Designer

Reply via email to