512 lines
28 KiB
XML
512 lines
28 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
|
|
~ and other contributors as indicated by the @author tags.
|
|
~
|
|
~ Licensed 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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
<parent>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-servers-auth-server</artifactId>
|
|
<version>2.0.0.CR1-SNAPSHOT</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<packaging>pom</packaging>
|
|
|
|
<artifactId>integration-arquillian-servers-auth-server-jboss</artifactId>
|
|
|
|
<name>Auth Server - JBoss</name>
|
|
|
|
<properties>
|
|
<common.resources>${project.parent.basedir}/common</common.resources>
|
|
<assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
|
|
|
|
<!--server-dist-->
|
|
<auth.server.dist.groupId>org.keycloak</auth.server.dist.groupId>
|
|
<auth.server.dist.artifactId>keycloak-server-dist</auth.server.dist.artifactId>
|
|
<auth.server.dist.version>${project.version}</auth.server.dist.version>
|
|
<auth.server.dist.unpacked.folder.name>keycloak-${auth.server.dist.version}</auth.server.dist.unpacked.folder.name>
|
|
|
|
<!--server-overlay-->
|
|
<auth.server.overlay.groupId>org.keycloak</auth.server.overlay.groupId>
|
|
<auth.server.overlay.artifactId>keycloak-server-overlay</auth.server.overlay.artifactId>
|
|
<auth.server.overlay.version>${project.version}</auth.server.overlay.version>
|
|
|
|
<overlaid.container.groupId>org.wildfly</overlaid.container.groupId>
|
|
<overlaid.container.artifactId>wildfly-dist</overlaid.container.artifactId>
|
|
<overlaid.container.version>${wildfly.version}</overlaid.container.version>
|
|
<overlaid.container.unpacked.folder.name>wildfly-${overlaid.container.version}</overlaid.container.unpacked.folder.name>
|
|
|
|
<!--actual unpacked artifact: server-dist by default, overriden in server-overlay profile-->
|
|
<unpacked.artifact.groupId>${auth.server.dist.groupId}</unpacked.artifact.groupId>
|
|
<unpacked.artifact.artifactId>${auth.server.dist.artifactId}</unpacked.artifact.artifactId>
|
|
<unpacked.artifact.version>${auth.server.dist.version}</unpacked.artifact.version>
|
|
|
|
<auth.server.home>${project.build.directory}/unpacked/${auth.server.dist.unpacked.folder.name}</auth.server.home>
|
|
|
|
<!--used in profile auth-server-cluster. profile jpa sets this to true-->
|
|
<skip.h2.tcp>false</skip.h2.tcp>
|
|
</properties>
|
|
|
|
<profiles>
|
|
|
|
<profile>
|
|
<id>auth-server-jboss-submodules</id>
|
|
<activation>
|
|
<file>
|
|
<exists>src</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-server-or-overlay</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>${unpacked.artifact.groupId}</groupId>
|
|
<artifactId>${unpacked.artifact.artifactId}</artifactId>
|
|
<version>${unpacked.artifact.version}</version>
|
|
<type>zip</type>
|
|
<outputDirectory>${project.build.directory}/unpacked</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>xml-maven-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>create-zip</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>${assembly.xml}</descriptor>
|
|
</descriptors>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
|
|
<!-- OPT-IN -->
|
|
<profile>
|
|
<id>server-overlay</id>
|
|
<activation>
|
|
<property>
|
|
<name>server-overlay</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<!--override default unpacked artifact with server-overlay-->
|
|
<unpacked.artifact.groupId>${auth.server.overlay.groupId}</unpacked.artifact.groupId>
|
|
<unpacked.artifact.artifactId>${auth.server.overlay.artifactId}</unpacked.artifact.artifactId>
|
|
<unpacked.artifact.version>${auth.server.overlay.version}</unpacked.artifact.version>
|
|
<auth.server.home>${project.build.directory}/unpacked/${overlaid.container.unpacked.folder.name}</auth.server.home>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-overlaid-container</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>${overlaid.container.groupId}</groupId>
|
|
<artifactId>${overlaid.container.artifactId}</artifactId>
|
|
<version>${overlaid.container.version}</version>
|
|
<type>zip</type>
|
|
<outputDirectory>${auth.server.home}</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>1.8</version>
|
|
<executions>
|
|
<execution>
|
|
<id>move-standalone-keycloak-xml</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<tasks>
|
|
<move file="${auth.server.home}/standalone/configuration/standalone-keycloak.xml"
|
|
tofile="${auth.server.home}/standalone/configuration/standalone.xml"/>
|
|
</tasks>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ssl</id>
|
|
<activation>
|
|
<property>
|
|
<name>auth.server.ssl.required</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>xml-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>configure-adapter-subsystem-security</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>transform</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformationSets>
|
|
<transformationSet>
|
|
<dir>${auth.server.home}/standalone/configuration</dir>
|
|
<includes>
|
|
<include>standalone.xml</include>
|
|
</includes>
|
|
<stylesheet>${common.resources}/security.xsl</stylesheet>
|
|
<outputDir>${auth.server.home}/standalone/configuration</outputDir>
|
|
</transformationSet>
|
|
</transformationSets>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-keystore</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${auth.server.home}/standalone/configuration</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${common.resources}/keystore</directory>
|
|
<includes>
|
|
<include>keycloak.jks</include>
|
|
<include>keycloak.truststore</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>jpa</id>
|
|
<properties>
|
|
<jdbc.mvn.driver.deployment.dir>${auth.server.home}/modules/system/layers/base/com/${jdbc.mvn.artifactId}/main</jdbc.mvn.driver.deployment.dir>
|
|
<skip.h2.tcp>true</skip.h2.tcp>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-properties</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireProperty>
|
|
<property>jdbc.mvn.groupId</property>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>jdbc.mvn.artifactId</property>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>jdbc.mvn.version</property>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>keycloak.connectionsJpa.url</property>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>keycloak.connectionsJpa.user</property>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>keycloak.connectionsJpa.password</property>
|
|
</requireProperty>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>jdbc-driver</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>${jdbc.mvn.groupId}</groupId>
|
|
<artifactId>${jdbc.mvn.artifactId}</artifactId>
|
|
<version>${jdbc.mvn.version}</version>
|
|
<type>jar</type>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<outputDirectory>${jdbc.mvn.driver.deployment.dir}</outputDirectory>
|
|
<overWriteIfNewer>true</overWriteIfNewer>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>xml-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>configure-wildfly-datasource</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>transform</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformationSets>
|
|
<!-- create module.xml in modules -->
|
|
<transformationSet>
|
|
<dir>${auth.server.home}/modules/system/layers/base/com/h2database/h2/main</dir>
|
|
<stylesheet>src/main/resources/xslt/module.xsl</stylesheet>
|
|
<includes>
|
|
<include>module.xml</include>
|
|
</includes>
|
|
<outputDir>${jdbc.mvn.driver.deployment.dir}</outputDir>
|
|
<parameters>
|
|
<parameter>
|
|
<name>database</name>
|
|
<value>${jdbc.mvn.artifactId}</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>version</name>
|
|
<value>${jdbc.mvn.version}</value>
|
|
</parameter>
|
|
</parameters>
|
|
</transformationSet>
|
|
<!-- add datasource to standalone.xml -->
|
|
<transformationSet>
|
|
<dir>${auth.server.home}/standalone/configuration</dir>
|
|
<stylesheet>${common.resources}/datasource.xsl</stylesheet>
|
|
<includes>
|
|
<include>standalone.xml</include>
|
|
<include>standalone-ha.xml</include>
|
|
</includes>
|
|
<outputDir>${auth.server.home}/standalone/configuration</outputDir>
|
|
<parameters>
|
|
<parameter>
|
|
<name>jdbc.url</name>
|
|
<value>${keycloak.connectionsJpa.url}</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>driver</name>
|
|
<value>${jdbc.mvn.artifactId}</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>username</name>
|
|
<value>${keycloak.connectionsJpa.user}</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>password</name>
|
|
<value>${keycloak.connectionsJpa.password}</value>
|
|
</parameter>
|
|
</parameters>
|
|
</transformationSet>
|
|
<!-- add logger for org.hibernate.dialect.Dialect -->
|
|
<transformationSet>
|
|
<dir>${auth.server.home}/standalone/configuration</dir>
|
|
<stylesheet>${common.resources}/add-dialect-logger.xsl</stylesheet>
|
|
<includes>
|
|
<include>standalone.xml</include>
|
|
</includes>
|
|
<outputDir>${auth.server.home}/standalone/configuration</outputDir>
|
|
</transformationSet>
|
|
</transformationSets>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-cluster</id>
|
|
<properties>
|
|
<session.cache.owners>1</session.cache.owners>
|
|
<offline.session.cache.owners>1</offline.session.cache.owners>
|
|
<login.failure.cache.owners>1</login.failure.cache.owners>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>xml-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>jpa-h2-tcp</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>transform</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformationSets>
|
|
<transformationSet>
|
|
<dir>${auth.server.home}/standalone/configuration</dir>
|
|
<includes>
|
|
<include>standalone-ha.xml</include>
|
|
</includes>
|
|
<stylesheet>${common.resources}/datasource-jdbc-url.xsl</stylesheet>
|
|
<outputDir>${auth.server.home}/standalone/configuration</outputDir>
|
|
<parameters>
|
|
<parameter>
|
|
<name>pool.name</name>
|
|
<value>KeycloakDS</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>jdbc.url</name>
|
|
<value>jdbc:h2:tcp://${jboss.bind.address:localhost}:9092/mem:keycloak;DB_CLOSE_DELAY=-1</value>
|
|
</parameter>
|
|
</parameters>
|
|
</transformationSet>
|
|
</transformationSets>
|
|
<skip>${skip.h2.tcp}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>keycloak-ispn-caches</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>transform</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformationSets>
|
|
<transformationSet>
|
|
<dir>${auth.server.home}/standalone/configuration</dir>
|
|
<includes>
|
|
<include>standalone-ha.xml</include>
|
|
</includes>
|
|
<stylesheet>${common.resources}/ispn-cache-owners.xsl</stylesheet>
|
|
<outputDir>${auth.server.home}/standalone/configuration</outputDir>
|
|
<parameters>
|
|
<parameter>
|
|
<name>sessionCacheOwners</name>
|
|
<value>${session.cache.owners}</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>offlineSessionCacheOwners</name>
|
|
<value>${offline.session.cache.owners}</value>
|
|
</parameter>
|
|
<parameter>
|
|
<name>loginFailureCacheOwners</name>
|
|
<value>${login.failure.cache.owners}</value>
|
|
</parameter>
|
|
</parameters>
|
|
</transformationSet>
|
|
</transformationSets>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-wildfly</id>
|
|
<modules>
|
|
<module>wildfly</module>
|
|
</modules>
|
|
</profile>
|
|
<profile>
|
|
<id>auth-server-eap</id>
|
|
<modules>
|
|
<module>eap</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
</profiles>
|
|
</project>
|