What is the recommended way to distribute a 3rd party dependency for one of my personal plugins through my update site that also appears on another update site? For better context: my plugin depends on libtensorflow_jni.jar. This .jar file also appears on the TensorFlow update site: http://sites.imagej.net/TensorFlow/jars/.
My concern is that there is a potential for a version conflict if a user enables and downloads the jars from both my update site and the one from TensorFlow. I do not yet know enough about update sites to tell whether there is a mechanism that supports conflict resolution such as this.
Could someone also explain shadowing to me? I’ve found it mentioned several times in messages and on the ImageJ wiki. It seems related to this problem, but I haven’t yet been able to determine what exactly it means to shadow a dependency.
I think it means either:
- to download a .jar from a 3rd party update site and replace the one that is intended to be used by other plugins; or
- to specify that a plugin on my own update site depends on a 3rd party jar located on another update site.
Thanks again everyone!