Question

What is the difference between a 3rd party lib and a plugin?

How do I choose what should be pushed to these repos?

plugins-release-local = Your and 3rd party plugins (releases)
plugins-snapshot-local =  Your and 3rd party plugins (snapshots)

ext-release-local = Manually deployed 3rd party libs (releases)
ext-snapshot-local = Manually deployed 3rd party libs (snapshots)
Was it helpful?

Solution

A "plugin" is a piece of code that's meant to be integrated with a specific application, and cannot be reused elsewhere. A "library" is some code that's meant to be used by other programmers for a specific purpose, but could be useful for many different applications.

For example, AdBlock for Google Chrome is a plugin. It needs to be hooked up to the full Google Chrome application before it can do anything remotely useful. Immutable.js is a library. It can be used by pretty much any (Javascript) application as long as it has a use case for immutable data structures.

Normally, removing a plugin from an application will only remove one feature, while removing a library the application depends on will probably break it completely. Normally, plugins are created after the application is developed, while the libraries the application uses already existed. Normally, which libraries an application uses is purely up to the application developers, while the plugins that get used are up to the end users.

I know very little about Java or Maven, but this is what the terms normally mean, and I'm not aware of any reason the Java world would have redefined them.

Licensed under: CC-BY-SA with attribution
scroll top