To answer Shawn's questions, just for the record,
Running (Oracle) jdk-11 on RHEL 8
Using ./gradlew assemble
Obviously there's no git when just untarring the solr-9.0.0-src.tgz file; after 
doing the "git pull", the git status looks like "On branch main // Your branch 
is up to date with 'origin/main'."  So maybe that's not the "latest" stable 
(because as Houston implies, it should have worked fine in the latest branch)

Houston's fix worked perfectly and the build now completes just fine. 
BUT...I've noticed a few other changes from the v8 to v9 build that I thought 
I'd ask about, then I'll also describe why I'm in this swamp and see if there's 
any interest in incorporating my change in the main source:

First, with 8, I would do an "ant build", then an "ant create-package" (both in 
the "solr" subdirectory) to get the tar in the same form as the distribution.  
I see a "./gradlew assembleDist" that appears to do the same thing, but I also 
see an assembleRelease.

Second, when I do the normal "./gradlew assemble", I'm getting all the jars 
(and tgz) tagged with -SNAPSHOT, whereas the "ant build" didn't do that when 
run directly from the release -src.tgz, so what is the proper gradle way to get 
the build to be 9.0.0 (in this case), not 9.0.0-SNAPSHOT (again, using the 
released solr-9.0.0-src.tgz as a starting point).


The reason I've been in this swamp is that I use solr from within an 
application (both via the web and in cron scripts) running only as a single 
instance on localhost, never with direct user access.  To avoid having to deal 
with accounts and passwords (in files), I crafted an IdentAuthPlugin that I use 
as the authentication provider (which is secure for password-less 
authenticating of local users), and I add that into the released 
solr-core-x.y.z.jar to be used (I also need to modify the 'credentials' member 
of Sha256AuthenticationProvider class from private to protected, so I can 
subclass and override its authenticate() function inside my IdentAuthPlugin 
class - this just makes it simpler to leverage the existing functionality 
without duplicating it).  So my process involves taking the release-source, 
patching (Sha256AuthenticationProvider.java) it and adding 
(IdentAuthPlugin.java) to it, rebuilding it to get the updated .class files for 
those two Java classes and then stuffing them into the original 
solr-core-x.y.z.jar in the release-binary, so it drops in as a normal solr 
version .tgz package for updates/etc.

So, would there be any interest in incorporating one (the private-->protected 
patch) or both of these changes in the mainline source?

Thanks,
                Jimmy

Reply via email to