Plugin Management
Bill of Materials
VIVIDUS provides a BOM for plugin management.
A Bill of Materials (BOM) is a special kind of project object model that is used to control the versions of a project’s dependencies and provide a central place to define and update those versions. |
Every project needs to import the BOM in the build.gradle
file. This is done in the dependencies block using
the platform
function to ensure that the versions from the BOM are used:
dependencies {
implementation platform(group: 'org.vividus', name: 'vividus-bom', version: '0.6.15-SNAPSHOT') (1)
implementation(group: 'org.vividus', name: 'vividus') (2)
implementation(group: 'org.vividus', name: 'vividus-plugin-web-app') (3)
implementation(group: 'org.vividus', name: 'vividus-plugin-html') (3)
}
1 | vividus-bom is the BOM. Versions for the core and plugins do not need to be specified as they are managed by this BOM. |
2 | VIVIDUS core dependency, every project must have it. |
3 | Optional declaration of the VIVIDUS plugins used in the project. |
Refresh the project
After making changes to the build.gradle
file (adding or removing dependencies), it is necessary to refresh the project
so that the changes can be recognized and the project can be re-configured accordingly. This can be done by running:
-
macOS / Linux:
./gradlew build
-
Windows:
gradlew build
If the project was imported to the IDE before adding a new plugin, it is required to re-generate the configuration files for the used IDE and then refresh the project in the used IDE.
Override a Version
It is not expected users will override versions of plugins from the BOM. The plugins of different versions may not be compatible with each other and may introduce unexpected errors. |
If it is necessary to use a version of a plugin that is different from the one specified in the BOM, the version can be explicitly specified in the dependencies block.
dependencies {
implementation platform(group: 'org.vividus', name: 'vividus-bom', version: '0.6.15-SNAPSHOT')
implementation(group: 'org.vividus', name: 'vividus')
implementation(group: 'org.vividus', name: 'vividus-plugin-web-app', version: '0.6.13')
}
Keep Dependencies Up to Date
It is recommended to update the BOM regularly to its latest version to take advantage of the latest bug fixes and
improvements. This can be done by updating the version number in the BOM dependency in the build.gradle
file. Then it
is necessary to refresh the project.