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