* Specification Each plug-in module should declare one or more extensions. They add functionality to extension points defined in other modules. Plug-ins may also declare extension points. These are places that allow adding functionality to the developed plug-in. Plug-ins must have source code, tests( unit, integration) and compiled code. They may also have resources and external libraries. Plug-ins should contain configuration files.