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>stack-depchain</artifactId>
<version>3.1.0</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.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
</dependency>
...
</dependencies>
To build docker images, you need docker1.3+ and run mvn clean install -Pdocker
It builds the 2 main images :
- vert.x3 base - the base image provisionning the vert.x stack (
vertx/vertx3
) - vert.x3 executable - an image providing the vert.x command (
vertx/vertx3-executable
)
All images have a readme file containing their documentation and build instructions.
Examples of docker image usages are in https://github.com/vert-x3/vertx-examples/docker-examples
The images can be pushed to Docker Hub. Before, be sure you are in the vertx organisation on docker hub (https://registry.hub.docker.com/repos/vertx/). Then, add your credentials into ~/.m2/settings.xml
:
<server>
<id>docker-hub</id>
<username>username</username>
<password>password</password>
<configuration>
<email>email</email>
</configuration>
</server>
Once done, in the vertx-docker-base-image
and vertx-docker-executable
project just launch:
mvn docker:push
WARNING: This is going to take a while.....
- 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.json
- Add the dependency. If the dependency must be embedded in the min distribution, set
included
totrue
. So forget to use the\${version}
. - Open
./stack-manager/src/main/descriptor/vertx-stack-full.json
- Add the dependency. If the dependency must be embedded in the full distribution, set
included
totrue
. So forget to use the\${version}
.
- Add it to the doc distribution:
- Open
./stack-docs/pom.xml
- Add the
docs
dependency (the using<classifier>docs</classifier>
and<type>zip</type>
) - Add the
source
dependency (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.xml
file
- Build (
mvn clean install
from the root).