360 lines
15 KiB
XML
360 lines
15 KiB
XML
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
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>
|
|
<artifactId>taskana-rest-spring-example-wildfly</artifactId>
|
|
<packaging>war</packaging>
|
|
|
|
<name>${project.groupId}:${project.artifactId}</name>
|
|
<description>Demo project for the taskana REST APP in a wildfly environment.</description>
|
|
|
|
<parent>
|
|
<groupId>pro.taskana</groupId>
|
|
<artifactId>taskana-rest-parent</artifactId>
|
|
<version>3.0.1-SNAPSHOT</version>
|
|
<relativePath>../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<properties>
|
|
<skipIntegrationTests>true</skipIntegrationTests>
|
|
<!-- Default H2 DB configuration -->
|
|
<connection-url>jdbc:h2:mem:taskana;IGNORECASE=TRUE;LOCK_MODE=0</connection-url>
|
|
<driver-class>org.h2.Driver</driver-class>
|
|
<driver-name>h2</driver-name>
|
|
<user-name>sa</user-name>
|
|
<password>sa</password>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>io.thorntail</groupId>
|
|
<artifactId>bom</artifactId>
|
|
<version>${version.thorntail}</version>
|
|
<scope>import</scope>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian</groupId>
|
|
<artifactId>arquillian-bom</artifactId>
|
|
<version>${version.arquillian}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-dependencies</artifactId>
|
|
<version>${version.spring.boot}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-tomcat</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>pro.taskana</groupId>
|
|
<artifactId>taskana-rest-spring-example-common</artifactId>
|
|
<version>${project.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.springframework.hateoas</groupId>
|
|
<artifactId>spring-hateoas</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.hateoas</groupId>
|
|
<artifactId>spring-hateoas</artifactId>
|
|
<version>${version.spring.hateos}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.plugin</groupId>
|
|
<artifactId>spring-plugin-core</artifactId>
|
|
<version>${version.spring.core}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.security</groupId>
|
|
<artifactId>wildfly-elytron</artifactId>
|
|
<version>${version.wildfly.security}</version>
|
|
</dependency>
|
|
|
|
<!-- test dependencies -->
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>${version.assertj}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.resteasy</groupId>
|
|
<artifactId>resteasy-client</artifactId>
|
|
<version>${version.resteasy}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- Brought in via WildFly Swarm bom -->
|
|
<dependency>
|
|
<groupId>io.thorntail</groupId>
|
|
<artifactId>arquillian</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- Brought in via Arquillian BOM, see dependencyManagement section
|
|
above -->
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.junit</groupId>
|
|
<artifactId>arquillian-junit-container</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.shrinkwrap.resolver</groupId>
|
|
<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.shrinkwrap.resolver</groupId>
|
|
<artifactId>shrinkwrap-resolver-api-maven</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>postgres</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<!-- Reading properties from file and use then as data source
|
|
properties is a pending improvement of Jboss development team check out ->
|
|
https://issues.jboss.org/browse/WFMP-70 That's why we are including postgres
|
|
connection properties directly in this pom file. -->
|
|
<properties>
|
|
<driver-class>org.postgresql.Driver</driver-class>
|
|
<connection-url>jdbc:postgresql://localhost:50102/postgres</connection-url>
|
|
<driver-name>postgresqldriver</driver-name>
|
|
<user-name>postgres</user-name>
|
|
<password>postgres</password>
|
|
<activatedProperties>postgres</activatedProperties>
|
|
<skipIntegrationTests>false</skipIntegrationTests>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.wildfly.plugins</groupId>
|
|
<artifactId>wildfly-maven-plugin</artifactId>
|
|
<version>${version.maven.wildfly}</version>
|
|
<configuration>
|
|
<version>${version.wildfly}</version>
|
|
<add-user>
|
|
<users>
|
|
<user>
|
|
<username>admin</username>
|
|
<password>admin</password>
|
|
</user>
|
|
<user>
|
|
<username>admin</username>
|
|
<password>admin</password>
|
|
<groups>
|
|
<group>testGroup</group>
|
|
</groups>
|
|
<applicationUser>true</applicationUser>
|
|
</user>
|
|
</users>
|
|
</add-user>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>run-wildfly</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>start</goal>
|
|
</goals>
|
|
</execution>
|
|
<!-- Deploy the JDBC library in JBoss -->
|
|
<execution>
|
|
<id>deploy-driver</id>
|
|
<phase>install</phase>
|
|
<configuration>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<name>postgresqldriver</name>
|
|
</configuration>
|
|
<goals>
|
|
<goal>deploy-artifact</goal>
|
|
</goals>
|
|
</execution>
|
|
<!-- Add a data source -->
|
|
<execution>
|
|
<id>add-datasource</id>
|
|
<phase>install</phase>
|
|
<configuration>
|
|
<address>subsystem=datasources,data-source=java:/TaskanaDS</address>
|
|
<resources>
|
|
<resource>
|
|
<properties>
|
|
<jndi-name>java:/TaskanaDS</jndi-name>
|
|
<enabled>true</enabled>
|
|
<connection-url>${connection-url}</connection-url>
|
|
<driver-class>${driver-class}</driver-class>
|
|
<driver-name>${driver-name}</driver-name>
|
|
<user-name>${user-name}</user-name>
|
|
<password>${password}</password>
|
|
</properties>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
<goals>
|
|
<goal>add-resource</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>edit-undertow</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>execute-commands</goal>
|
|
</goals>
|
|
<configuration>
|
|
<commands>
|
|
<command>/subsystem=undertow:write-attribute(name=default-server,value=default-server)</command>
|
|
<command>/subsystem=undertow:write-attribute(name=default-virtual-host,value=default-host)</command>
|
|
<command>/subsystem=undertow:write-attribute(name=default-servlet-container,value=default)</command>
|
|
<command>/subsystem=undertow:write-attribute(name=default-security-domain,value=ApplicationDomain)</command>
|
|
</commands>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>add-application-security-domain</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>add-resource</goal>
|
|
</goals>
|
|
<configuration>
|
|
<address>subsystem=undertow</address>
|
|
<resources>
|
|
<resource>
|
|
<address>application-security-domain=ApplicationDomain</address>
|
|
<properties>
|
|
<http-authentication-factory>application-http-authentication</http-authentication-factory>
|
|
</properties>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
<!-- Deploy the application on install -->
|
|
<execution>
|
|
<id>wildfly-deploy</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>deploy</goal>
|
|
</goals>
|
|
</execution>
|
|
<!-- shutdown the application on install -->
|
|
<execution>
|
|
<id>wildfly-shutdown</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>shutdown</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${version.maven.surefire}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>default-test</id>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>integration-tests</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${skipIntegrationTests}</skip>
|
|
<includes>
|
|
<include>**/*Test.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>${version.maven.resources}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-documentation-to-static-folder</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>
|
|
${project.build.outputDirectory}/static/docs/rest
|
|
</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>
|
|
../taskana-rest-spring/target/generated-docs
|
|
</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>jboss</id>
|
|
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
|
|
</repository>
|
|
</repositories>
|
|
</project> |