| POM: |
Show
hide
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005-2015 Red Hat, Inc.
Red Hat licenses this file to you under the Apache License, version
2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.fabric8.quickstarts</groupId>
<artifactId>springboot</artifactId>
<version>2.2.145</version>
</parent>
<artifactId>springboot-webmvc</artifactId>
<name>Fabric8 :: Quickstarts :: Spring-Boot :: WebMVC</name>
<description>Shows how to use Spring Boot with WebMVC in the Java Container</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- fabric8 version -->
<fabric8.version>2.2.141</fabric8.version>
<docker.maven.plugin.version>0.15.9</docker.maven.plugin.version>
<spring-boot.version>1.3.6.RELEASE</spring-boot.version>
<!-- Docker & Fabric8 Configs -->
<docker.from>fabric8/java-jboss-openjdk8-jdk:1.1.5</docker.from>
<fabric8.dockerUser>fabric8/</fabric8.dockerUser>
<docker.image>${fabric8.dockerUser}${project.artifactId}:${project.version}</docker.image>
<fabric8.service.name>${project.artifactId}</fabric8.service.name>
<fabric8.service.port>80</fabric8.service.port>
<fabric8.service.containerPort>8080</fabric8.service.containerPort>
<fabric8.service.type>LoadBalancer</fabric8.service.type>
<fabric8.readinessProbe.httpGet.port>8080</fabric8.readinessProbe.httpGet.port>
<fabric8.readinessProbe.httpGet.path>/</fabric8.readinessProbe.httpGet.path>
<fabric8.readinessProbe.timeoutSeconds>30</fabric8.readinessProbe.timeoutSeconds>
<fabric8.readinessProbe.initialDelaySeconds>5</fabric8.readinessProbe.initialDelaySeconds>
<fabric8.label.group>quickstarts</fabric8.label.group>
<fabric8.iconRef>spring-boot</fabric8.iconRef>
</properties>
<dependencyManagement>
<dependencies>
<!-- import fabric8 platform bom first -->
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>fabric8-project-bom-with-platform-deps</artifactId>
<version>${fabric8.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- spring-boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- testing -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>fabric8-arquillian</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Compiler plugin enforces Java 1.7 compatibility and activates annotation processors -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<inherited>true</inherited>
<configuration>
<argLine>-Djava.security.egd=file:/dev/./urandom</argLine>
<excludes>
<exclude>**/*KT.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>io.fabric8.quickstarts.springbootmvc.App</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>fabric8-maven-plugin</artifactId>
<version>${fabric8.version}</version>
<executions>
<execution>
<id>json</id>
<phase>generate-resources</phase>
<goals>
<goal>json</goal>
</goals>
</execution>
<execution>
<id>attach</id>
<phase>package</phase>
<goals>
<goal>attach</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.maven.plugin.version}</version>
<configuration>
<images>
<image>
<name>${docker.image}</name>
<build>
<from>${docker.from}</from>
<assembly>
<basedir>/app</basedir>
<descriptorRef>artifact</descriptorRef>
</assembly>
<env>
<JAVA_APP_JAR>${project.build.finalName}.jar</JAVA_APP_JAR>
</env>
</build>
</image>
</images>
</configuration>
</plugin>
</plugins>
</build>
<!--
Default sample commands:
mvn -Pf8-build ... build Docker images and create OpenShift deployment configs
mvn -Pf8-deploy ... f8-build + push to Docker registry + applying deployment config to OpenShift
mvn -Pf8-local-deploy ... deployment for a single node setup without pushing to a registry
For individual goal usage please consult the fabric8 documentation
-->
<profiles>
<profile>
<id>f8-build</id>
<build>
<defaultGoal>clean install docker:build fabric8:json</defaultGoal>
</build>
</profile>
<profile>
<id>f8-deploy</id>
<properties>
<fabric8.imagePullPolicySnapshot>Always</fabric8.imagePullPolicySnapshot>
<fabric8.recreate>true</fabric8.recreate>
</properties>
<build>
<defaultGoal>clean install docker:build docker:push fabric8:json fabric8:apply</defaultGoal>
</build>
</profile>
<profile>
<id>f8-local-deploy</id>
<properties>
<fabric8.recreate>true</fabric8.recreate>
</properties>
<build>
<defaultGoal>clean install docker:build fabric8:json fabric8:apply</defaultGoal>
</build>
</profile>
</profiles>
</project>
|