The Vert.x stack : Vert.x + the endorsed modules
This project provides pre-configured Maven poms for using in your projects, allowing you to consume the Vert.x stack easily.
This artifact io.vertx:stack-depchain is a POM projects can import to get the dependencies it needs for running
the base stack:
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-stack-depchain</artifactId>
<version>3.5.1</version>
<type>pom</type>
</dependency>
A BOM is a also a POM you can import in your project. It will not add dependencies to your POM, instead it will set the correct versions to use. Therefore it should be used with explicit dependencies:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-stack-depchain</artifactId>
<version>3.5.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
</dependency>
...
</dependencies>
- Add it to
vertx-dependencies(open the project, add it to thepom.xml, install, commit and push) - Add it to
stack-depchain/pom.xml(open the project, add the dependency, without the version (inherited from vertx-dependencies)) - Add it in the stack manager:
- Open
./stack-manager/src/main/descriptor/vertx-stack-full.json - Add the dependency. If the dependency must be embedded in the full distribution, set
includedtotrue. Don't forget to use the\${version}.
- Add it to the doc distribution:
- Open
./stack-docs/pom.xml - Add the
docsdependency (the using<classifier>docs</classifier>and<type>zip</type>) - Add the
sourcedependency (the<classifier>sources</classifier>) - Add the copy instruction for the ant execution:
<copy todir="${project.build.directory}/docs/vertx-hawkular-metrics/">
<fileset dir="${project.build.directory}/work/vertx-hawkular-metrics-docs-zip"/>
</copy>
- Save the
pom.xmlfile - Build (
mvn clean installfrom the root).
- Make it polyglot (unless the module is not polyglot, e.g. a cluster manager)
- Kotlin: in
vertx-lang-kotlin, editvertx-lang-kotlin/pom.xml- Add an
optionaldependency to the POM - Update the list in the
maven-dependency-pluginconfig
- Add an
- RxJava3: in
vertx-rx, editrx-java3/pom.xml- Add an
optionaldependency to the POM - Update the list in the
maven-dependency-pluginconfig
- Add an
- RxJava2: in
vertx-rx, editrx-java2/pom.xml- Add an
optionaldependency to the POM - Update the list in the
maven-dependency-pluginconfig
- Add an
- Add it to the website in
vertx-web-site:
- Edit the docs summary page
docs/metadata/<version>.jsx, useTech Previewlabel
- Add it to the starter website in
vertx-starter:
- Edit the stack definition file
src/main/resources/starter.json- Add the module details in one of the categories (web, data, ...etc)
- Exclude the module from versions that did not have it (
exclusions)