Gus Heck created SOLR-16804:
-------------------------------
Summary: Allow tests to run against local bugfixes or enhancements
for dependencies.
Key: SOLR-16804
URL: https://issues.apache.org/jira/browse/SOLR-16804
Project: Solr
Issue Type: Improvement
Security Level: Public (Default Security Level. Issues are Public)
Components: Tests
Reporter: Gus Heck
Assignee: Gus Heck
In a variety of scenarios one may want to verify that a change to a dependency
of Solr will fix a problem in Solr or that a fix for the dependency isn't going
to be disruptive to solr. Currently this is very difficult because our tests
define a security policy that prohibits access to ~/.m2/repository
Most folks can figure out that they need to get the build to look at
mavenLocal() and this is expert usage so we may or may not want to ease that
(it works to put it in the repositories block of globals.gradle).
However, it recently took me hours to realize that not only was a security
manager in play with the tests, but the tests use a completely different policy
file than solr uses as an application (so tracking it down via the enablement
instructions for Solr 8 led me to exactly the wrong place!) This situation was
made doubly confusing by the fact that Java swallows security exceptions
relating to Classpath loaded files (apparently by design), and the lucene error
message was slightly misleading because it only mentioned file existence, and
not the possibility that the file would be silently ignored by a
SecurityManager (https://github.com/apache/lucene/issues/12300)
We may also wish to better document the existence of options in
gradle/lucene-dev/lucene-dev-repo-composite.gradle for the lucene case in
particular (something in /dev-docs/ ? ) but that's a separate issue.
So this ticket will add an entry to only the solr-tests.policy file allowing
access to <user.home>/.m2/repository
Thus if folks do the dependency dance described in
dev-docs/dependency-upgrades.adoc and add the mavenLocal() reference that
should be sufficient to run the tests against a modified dependency.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]