You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment, we make use of a fork of Apache Commons TypeUtils, a fork of GenTyRef, and have a dependency on Google Guava (TypeToken) to enable the generics handling involved in Op matching. The ongoing work on #2 will probably add yet another dependency, GeAnTyRef.
GeAnTyRef may have the potential to replace one or more of the previously mentioned dependencies (e.g., it has an own TypeToken), or to even get rid of all of the generics-related functionality of org.scijava.util.Types. It deserves some more investigation to see if it meets all our requirements.
I'm thinking we'll need to perform some static code analysis to find which methods of the various libraries are actually being used. Then determine which of the libraries have each of those methods (and whether they work correctly for our purposes). We can then analyze how to minimize the dependency footprint. Relatedly, we might end up looking at whether there are bug-fixes we could submit upstream to any of these projects, to facilitate this minimization.
Right now, this would just be too big of an undertaking to pursue. I think that it would be nice to clean this up, so I'll move it into unscheduled for now.
Activity
ctrueden commentedon Apr 29, 2021
I'm thinking we'll need to perform some static code analysis to find which methods of the various libraries are actually being used. Then determine which of the libraries have each of those methods (and whether they work correctly for our purposes). We can then analyze how to minimize the dependency footprint. Relatedly, we might end up looking at whether there are bug-fixes we could submit upstream to any of these projects, to facilitate this minimization.
gselzer commentedon May 13, 2021
Time commitment: 2 weeks
gselzer commentedon Sep 26, 2023
Right now, this would just be too big of an undertaking to pursue. I think that it would be nice to clean this up, so I'll move it into unscheduled for now.