I'm looking for a good plugin architecture that's ...
# getting-started
i
I'm looking for a good plugin architecture that's compatible with Kotlin. It should be relatively light-weight and allow for loading plugins packaged as external jars. Basically, I'm going to have a service that can access cloud storage. I'll have an interface that has things like login, upload, download, etc. The plugins will implement these functions for the various cloud services like dropbox, google drive, etc. When the application loads it should be able to find the plugins in the working directory packaged as jars, and some logic will determine which interface implementation to use. The thing I'm having the hardest time finding is a way to access the classes from the external jars. I'm trying to avoid something heavy like OSGi if possible, since this is a simple desktop background service and doesn't need to register/unregister plugins dynamically, just on startup. Any suggestions? Any examples you can point to? Thanks!