12.3 Understanding a Plugins Structure

As mentioned previously, a plugin is merely a project with an structure similar to a Griffon application with the addition of a contained plugin descriptor. However when installed, the structure of a plugin differs slightly. For example, take a look at this plugin directory structure:

    + griffon-app
         + controllers
         + models
         + views
         …
     + lib
     + src
         + main
         + cli
         + doc

Essentially when a plugin is installed into a project, the contents of the zip file will go into a directory such as `plugins/example-1.0/`. Plugin contents will not be copied into the main source tree. A plugin never interferes with a project's primary source tree.