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

Reply via email to