Guicey BOM¶
Extensions project module
Maven BOM containing guicey and guicey ext modules versions. Also includes dropwizard and guice boms.
Tip
BOM's are useful for versions management. After including bom you can simply include required dependencies (dropwizard, guice, guicey, guicey-ext) without versions: bom will control all versions.
BOM version | Guicey | Dropwizard | Guice |
---|---|---|---|
5.0.0-0 | 5.0.0 | 2.0.0 | 4.2.2 |
0.7.0 | 4.2.2 | 1.3.7 | 4.2.2 |
0.6.0 | 4.2.2 | 1.3.7 | 4.2.2 |
0.5.0 | 4.2.1 | 1.3.5 | 4.2.0 |
0.4.0 | 4.2.0 | 1.3.5 | 4.2.0 |
0.3.0 | 4.1.0 | 1.1.0 | 4.1.0 |
Since 5.0.0 extension modules version is derived from guicey version: guiceyVersion-Number (the same convention as for dropwizard modules). For example version 5.0.0-0 means first extensions release (0) for guicey 5.0.0.
Setup¶
Maven:
<!-- Implicitly imports Dropwizard and Guice BOMs --> <dependencyManagement> <dependencies> <dependency> <groupId>ru.vyarus.guicey</groupId> <artifactId>guicey-bom</artifactId> <version>5.0.0-0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <!-- declare guice and ext modules without versions --> <dependencies> <dependency> <groupId>ru.vyarus</groupId> <artifactId>dropwizard-guicey</artifactId> </dependency> <!-- For example, using dropwizard module (without version) --> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-auth</artifactId> </dependency> <!-- Example of extension module usage --> <dependency> <groupId>ru.vyarus.guicey</groupId> <artifactId>guicey-eventbus</artifactId> </dependency> </dependencies>
Gradle:
plugins { id "io.spring.dependency-management" version "1.0.8.RELEASE" } dependencyManagement { // Implicitly imports Dropwizard and Guice BOMs imports { mavenBom "ru.vyarus.guicey:guicey-bom:5.0.0-0" } } // declare guice and ext modules without versions dependencies { compile 'ru.vyarus:dropwizard-guicey' // For example, using dropwizard module (without version) compile 'io.dropwizard:dropwizard-auth' // Example of extension module usage compile 'ru.vyarus.guicey:guicey-eventbus' }
Spring's dependency management plugin is required to import BOM. It is recommended to use it instead of built-in gradle bom support because of more correct spring plugin behaviour
Dependencies override¶
You may override BOM version for any dependency by simply specifying exact version in dependecy declaration section.
If you want to use newer version (then provided by guicey BOM) of dropwizard or guice then import also their BOMs directly:
io.dropwizard:dropwizard-bom:$VERSION
andio.dropwizard:dropwizard-dependencies:$VERSION
for dropwizardcom.google.inject:guice-bom:$VERSION
for guice