mocobeta commented on pull request #1836: URL: https://github.com/apache/lucene-solr/pull/1836#issuecomment-699613186
> I have not yet checked if the regeneration of jflex files for the classic tokenizer work with gradle, but it's more important to move the stuff. Fixing up the build can be done later. Gradle script for jflex was fixed in https://github.com/apache/lucene-solr/pull/1836/commits/6782fcf21d1a3e08607c8c7f22ef712c37eef8ab. `./gradlew jflex` now works for me. > In a second step we may further move some utility classes away from analysis to general lucene utility classes (org.pacahe.lucene.util). ResourceLoader is in my opinion one candidate. ResourceLoader and ResourceLoaderAware were moved to o.a.l.a.util: https://github.com/apache/lucene-solr/pull/1836/commits/f3db4f5ef7bf576d876eaf810c2b70d3a8e9e9b4 > The SPI stuff looks fine now, be sure to also move the META-INF files, because you renamed classes but did not change the files inside META-INF/services. All SPI service files in META-INF/services (lucene/ and solr/) were renamed. > We now also need to fix the tests (and duplicate them in all modules) that checks if all analyzers have a META-INF/services entry. > I mentioned this, as the META-INF/services files are not updated. This makes renamed analyzers not load, as SPI can't find them As said before we need an SPI load test that ensures that all analyzer coponents have a factory that loads successfully with SPI. Maybe move that test (abstract) to test-framework and create a test implementation instance for each module containing factories. The test in analysis/common is not enough anymore. I refactored all unit tests for both of lucene and solr, also cleaned up them so that there is no duplicated tests. > We do this only in Lucene 9, so more important to add all changes to MIGRATE.md I added an entry to MIGRATE.md: https://github.com/apache/lucene-solr/pull/1836/commits/2f6f8118e815ec2b2bd3b29a8314c2427464b50d **All tests under lucene/ is OK and this branch now passes `precomit`** so I think most of the work was already done. There is one thing that I need help to make this ready to the master - `org.apache.solr.pkg.TestPackages` fails with NoClassDefFoundError: ``` $ ./gradlew :solr:core:test --tests "org.apache.solr.pkg.TestPackages" -Ptests.jvms=6 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 2> Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/analysis/util/CharFilterFactory 2> at java.base/java.lang.ClassLoader.defineClass1(Native Method) 2> at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) 2> at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) 2> at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550) 2> at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458) 2> at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452) 2> at java.base/java.security.AccessController.doPrivileged(Native Method) 2> at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451) 2> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) 2> at java.base/java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:899) 2> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) 2> at java.base/java.lang.Class.forName0(Native Method) 2> at java.base/java.lang.Class.forName(Class.java:398) 2> at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:500) 2> at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:574) 2> at org.apache.solr.pkg.PackageListeningClassLoader.newInstance(PackageListeningClassLoader.java:107) 2> at org.apache.solr.schema.FieldTypePluginLoader$1.create(FieldTypePluginLoader.java:271) 2> at org.apache.solr.schema.FieldTypePluginLoader$1.create(FieldTypePluginLoader.java:254) 2> at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:157) 2> at org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:295) 2> at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:100) 2> at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:49) ``` I tried to figure out out where the package or class name is hard coded but failed to do so. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org