paulirwin commented on issue #1022:
URL: https://github.com/apache/lucenenet/issues/1022#issuecomment-2486996350

   I wanted to provide an update on this. I've been experimenting with creating 
a Java tool called lucene-api-extractor, which will live in the Lucene.NET 
repo, that downloads the specified Lucene jars you wish to extract, loads them 
and reflects over them, and outputs the API surface as JSON. Then, I've got a 
new .NET console app (Lucene.Net.ApiCheck) that calls this tool, and loads in 
the JSON. So far all of that is working. Next up, ApiCheck will load and 
reflect over the matching .NET assemblies and compare the API surface to what 
it loaded from Java. This will of course be the hardest part. 
   
   My current thinking is once the diff between Lucene and Lucene.NET is 
generated, it will support saving this diff as JSON for programmatic/tool 
analysis, as well as generating an HTML report from this JSON. 
   
   There will be a config file to handle known mapping discrepancies, such as 
Int32Field vs IntField, along with a justification for each, and with enough 
massaging this config file will effectively represent the known differences 
between Lucene and Lucene.NET, and should be checked into git to evolve and be 
versioned alongside the code. Many discrepancies we can handle via convention, 
such as starting interfaces with "I," capitalizing method names, IDisposable vs 
ICloseable, etc. It will be interesting to see how the early results look once 
I get the diff logic working.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to