pom.xml

421 lines | 20.04 kB Blame History Raw Download
<?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-app-server</artifactId>
        <version>3.4.1.CR1</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
    <packaging>pom</packaging>
    <name>App Server - JBoss</name>

    <properties>
        <common.resources>${project.parent.basedir}/common</common.resources>
        <assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
        <app.server.jboss.home>${containers.home}/${app.server.jboss.unpacked.folder.name}</app.server.jboss.home>
        <security.xslt>security.xsl</security.xslt>
        <oidc-adapter.version>${project.version}</oidc-adapter.version>
        <saml-adapter.version>${project.version}</saml-adapter.version>
    </properties>

    <profiles>
        
        <profile>
            <id>app-server-jboss-submodules</id>
            <activation>
                <file>
                    <exists>src</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    
                    <plugin>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>app.server.jboss</property>
                                            <property>app.server.jboss.groupId</property>
                                            <property>app.server.jboss.artifactId</property>
                                            <property>app.server.jboss.version</property>
                                            <property>app.server.jboss.unpacked.folder.name</property>
                                            <property>app.server.oidc.adapter.artifactId</property>
                                        </requireProperty>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-wildfly-and-oidc-adapter</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>${app.server.jboss.groupId}</groupId>
                                            <artifactId>${app.server.jboss.artifactId}</artifactId>
                                            <version>${app.server.jboss.version}</version>
                                            <type>zip</type>
                                            <outputDirectory>${containers.home}</outputDirectory>
                                        </artifactItem>
                                        <artifactItem>
                                            <groupId>org.keycloak</groupId>
                                            <artifactId>${app.server.oidc.adapter.artifactId}</artifactId>
                                            <version>${oidc-adapter.version}</version>
                                            <type>zip</type>
                                            <outputDirectory>${app.server.jboss.home}</outputDirectory>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
            
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>configure-adapter-debug-log</id>
                                <phase>process-test-resources</phase>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                                <configuration>
                                    <transformationSets>
                                        <transformationSet>
                                            <dir>${app.server.jboss.home}/standalone/configuration</dir>
                                            <includes>
                                                <include>standalone.xml</include>
                                            </includes>
                                            <stylesheet>${common.resources}/add-adapter-log-level.xsl</stylesheet>
                                            <outputDir>${app.server.jboss.home}/standalone/configuration</outputDir>
                                        </transformationSet>
                                    </transformationSets>
                                </configuration>
                            </execution>
                            <execution>
                                <id>io-worker-threads</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                                <configuration>
                                    <transformationSets>
                                        <transformationSet>
                                            <dir>${app.server.jboss.home}/standalone/configuration</dir>
                                            <includes>
                                                <include>standalone.xml</include>
                                                <include>standalone-ha.xml</include>
                                            </includes>
                                            <stylesheet>${common.resources}/io.xsl</stylesheet>
                                            <outputDir>${app.server.jboss.home}/standalone/configuration</outputDir>
                                            <parameters>
                                                <parameter>
                                                    <name>worker.io-threads</name>
                                                    <value>${app.server.worker.io-threads}</value>
                                                </parameter>
                                                <parameter>
                                                    <name>worker.task-max-threads</name>
                                                    <value>${app.server.worker.task-max-threads}</value>
                                                </parameter>
                                            </parameters>
                                        </transformationSet>
                                    </transformationSets>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>enable-jboss-mgmt-admin</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${app.server.jboss.home}/standalone/configuration</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${common.resources}</directory>
                                            <includes>
                                                <include>mgmt-users.properties</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-keystore</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${app.server.jboss.home}/standalone/configuration</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${common.resources}/keystore</directory>
                                            <includes>
                                                <include>adapter.jks</include>
                                                <include>keycloak.truststore</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <nonFilteredFileExtensions>
                                        <nonFilteredFileExtension>jks</nonFilteredFileExtension>
                                        <nonFilteredFileExtension>truststore</nonFilteredFileExtension>
                                    </nonFilteredFileExtensions>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>install-adapters</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>${common.resources}/install-adapters.${script.suffix}</executable>
                                    <workingDirectory>${app.server.jboss.home}/bin</workingDirectory>
                                    <environmentVariables>
                                        <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
                                        <JBOSS_HOME>${app.server.jboss.home}</JBOSS_HOME>
                                        <SAML_SUPPORTED>${app.server.saml.adapter.supported}</SAML_SUPPORTED>
                                        <ELYTRON_SUPPORTED>${app.server.elytron.adapter.supported}</ELYTRON_SUPPORTED>
                                        <CLI_PATH>${common.resources}/cli</CLI_PATH>
                                    </environmentVariables>
                                </configuration>
                            </execution>
                        </executions>
                    </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>
        
        <profile>
            <id>app-server-saml-supported</id>
            <activation>
                <file>
                    <exists>src/saml-adapter-supported</exists>
                </file>
            </activation>
            <properties>
                <app.server.saml.adapter.supported>true</app.server.saml.adapter.supported>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>app.server.saml.adapter.artifactId</property>
                                        </requireProperty>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-saml-adapter</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.keycloak</groupId>
                                            <artifactId>${app.server.saml.adapter.artifactId}</artifactId>
                                            <version>${saml-adapter.version}</version>
                                            <type>zip</type>
                                            <outputDirectory>${app.server.jboss.home}</outputDirectory>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>app-server-apply-patches</id>
            <activation>
                <property>
                    <name>app.server.patch.zips</name>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>exec-maven-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>install-patches</id>
                                    <phase>process-resources</phase>
                                    <goals>
                                        <goal>exec</goal>
                                    </goals>
                                    <configuration>
                                        <executable>${common.resources}/install-patch.${script.suffix}</executable>
                                        <workingDirectory>${app.server.jboss.home}/bin</workingDirectory>
                                        <environmentVariables>
                                            <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
                                            <JBOSS_HOME>${app.server.jboss.home}</JBOSS_HOME>
                                            <APP_PATCH_ZIPS>${app.server.patch.zips}</APP_PATCH_ZIPS>
                                        </environmentVariables>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>app-server-as7</id>
            <modules>
                <module>as7</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-eap</id>
            <modules>
                <module>eap</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-eap6</id>
            <properties>
                <security.xslt>security-eap6.xsl</security.xslt>
            </properties>
            <modules>
                <module>eap6</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-wildfly</id>
            <modules>
                <module>wildfly</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-wildfly8</id>
            <modules>
                <module>wildfly8</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-wildfly9</id>
            <modules>
                <module>wildfly9</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-wildfly10</id>
            <modules>
                <module>wildfly10</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-relative</id>
            <modules>
                <module>relative</module>
            </modules>
        </profile>
        <profile>
            <id>app-server-eap6-fuse</id>
            <modules>
                <module>eap6-fuse</module>
            </modules>
        </profile>

        <profile>
            <id>app-server-wildfly-elytron</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <wildfly.version>${elytron.wildfly.version}</wildfly.version>
                <app.server.elytron.adapter.supported>true</app.server.elytron.adapter.supported>
            </properties>
        </profile>
    </profiles>

</project>