-
Notifications
You must be signed in to change notification settings - Fork 641
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade Lucene.Net.Analysis.OpenNLP to target .net core 6, in addition to .net framework #852
Conversation
…61 is selected and net7.0 when net5.0 is selected. In CI, we set IsTestProject=false and IsPublishable=false to skip these tests.
…and net6.0 for Lucene.Net.Tests.Analysis.OpenNLP tests.
…Lucene.Net.Tests.Analysis.OpenNLP
…afe to 6.0.0 to match IKVM 8.5.0
…Services.Unsafe for netstandard2.0 and net462 to ensure the version will work with any combination of Lucene.Net components. This is a transitive dependency in a few 3rd party DLLs, but there may be version conflicts if this isn't done on .NET Framework.
…or netstandard2.0 and net462, since it is being used in Lucene.Net.Facet.
@laimis - I have fixed the dependency conflict. But this still doesn't include the changes for |
Okay, looks like MavenReference is a bust for now: ikvmnet/ikvm-maven#10 (comment). The fix for that is similar to how we do the file locking in Lucene.NET on macOS in the NativeFSLockFactory. Unfortunately, IKVM requires nearly 100 GB to build, and I don't have that kind of disk space to spare. But if you want to have a go at it, you are welcome. We have yet another issue with this addition - referencing IKVM adds about 4 minutes of build time to Azure DevOps and will almost certainly slow down the GitHub Actions builds as well. Unfortunately, the size of the IKVM NuGet package and dependencies has exploded. In both Azure DevOps and GitHub Actions, there are options for caching NuGet packages so they don't have to be downloaded per build. We used to have it set up on Azure DevOps, but it wasn't set up to invalidate the cache when |
Nice, thanks for the changes there, it looks like it successfully completed on azure: https://dev.azure.com/lucene-net-temp4/Main/_build?definitionId=1 Could we use the changes made in this branch as is to release Analysis.OpenNLP? I am not following why is IKVM needed. I definitely have the space/resources to build it, just not sure what is needed. |
@laimis @NightOwl888 would y'all be able to help me understand what's the road map for OpenNLP to target .Net 6? |
Unfortunately, this is blocked by the fact that we don't really want to use OpenNLP.NET for this, but instead use However, I have updated this branch (rebased against the master branch) and have built the packages here. Download the The tests we have for the OpenNLP support work, but I am not sure the entire opennlp-tools package works on macOS or iOS. It won't if there is any file locking in the application, but I haven't checked the opennlp source to determine if they are doing so. It should work on Windows and Linux, though. As for an official release, we will do so as soon as there is a version of IKVM that supports both macOS and .NET Framework, but so far there isn't one and the latest version has some annoying initialization exceptions if you don't explicitly call |
It turns out it was possible to overcome the issues with A few things to note:
|
Closes #851