pom.xml

440 lines | 25.063 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">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.keycloak.testsuite</groupId>
        <artifactId>integration-arquillian-tests-other</artifactId>
        <version>2.5.9.Final-SNAPSHOT</version>
    </parent>

    <artifactId>integration-arquillian-tests-adapters</artifactId>

    <packaging>pom</packaging>

    <name>Adapter Tests</name>
    
    <properties>
        
        <app.server.arquillian.xsl>${common.resources}/xslt/arquillian.xsl</app.server.arquillian.xsl>
        
        <app.server.artifactId>integration-arquillian-servers-app-server-${app.server}</app.server.artifactId>
        <app.server.skip.unpack>false</app.server.skip.unpack>
        
        <app.server.mode>manual</app.server.mode>
        
        <app.server.host>localhost</app.server.host>
        <app.server.port.offset>200</app.server.port.offset>
        <app.server.http.port>8280</app.server.http.port>
        <app.server.https.port>8643</app.server.https.port>
        <app.server.management.protocol>http-remoting</app.server.management.protocol>
        <app.server.management.port>10190</app.server.management.port>
        <app.server.management.port.jmx>10199</app.server.management.port.jmx>
        <app.server.startup.timeout>60</app.server.startup.timeout>
        <app.server.memory.settings>-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m</app.server.memory.settings>
        
        <app.server.ssl.required>false</app.server.ssl.required>

        <app.server.reverse-proxy.port.offset>500</app.server.reverse-proxy.port.offset>
        <app.server.1.port.offset>300</app.server.1.port.offset>
        <app.server.1.management.port>10290</app.server.1.management.port>
        <app.server.1.management.port.jmx>10299</app.server.1.management.port.jmx>
        <app.server.2.port.offset>400</app.server.2.port.offset>
        <app.server.2.management.port>10390</app.server.2.management.port>
        <app.server.2.management.port.jmx>10399</app.server.2.management.port.jmx>

        <settings.path></settings.path>
        <repo.url></repo.url>

        <adapter.test.props>
            -Dapp.server.base.url=http://localhost:${app.server.http.port}
            -Dauth.server.base.url=http://localhost:${auth.server.http.port}
            -Dapp.server.ssl.base.url=https://localhost:${app.server.https.port}
            -Dapp.server.ssl.required=${app.server.ssl.required}
            -Dauth.server.ssl.base.url=https://localhost:${auth.server.https.port}
            -Dauth.server.ssl.required=${auth.server.ssl.required}
            -Dmy.host.name=localhost
            -Djava.security.krb5.conf=${project.build.directory}/dependency/kerberos/test-krb5.conf
            -Dkie.maven.settings.custom=${settings.path}
            -Drepo.url=${repo.url}
        </adapter.test.props>
        
        <app.server.home>${containers.home}/app-server-${app.server}</app.server.home>
        <adapter.config.bundled>true</adapter.config.bundled>
        <examples.basedir>${main.basedir}/examples</examples.basedir>
        <exclude.test>-</exclude.test>
    </properties>
        
    <modules>
        <module>jboss</module>
        <module>karaf</module>
        <module>tomcat</module>
    </modules>
    
    <profiles>

        <profile>
            <id>adapter-test-submodules</id>
            <activation>
                <file>
                    <exists>src</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.commonjava.maven.plugins</groupId>
                        <artifactId>directory-maven-plugin</artifactId>
                        <version>0.1</version>
                        <executions>
                            <execution>
                                <id>directories</id>
                                <goals>
                                    <goal>directory-of</goal>
                                </goals>
                                <phase>initialize</phase>
                                <configuration>
                                    <property>main.basedir</property>
                                    <project>
                                        <groupId>org.keycloak</groupId>
                                        <artifactId>keycloak-parent</artifactId>
                                    </project>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-app-server-to-arquillian-xml</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                                <configuration>
                                    <transformationSets>
                                        <transformationSet>
                                            <dir>${project.build.directory}/dependency</dir>
                                            <includes>
                                                <include>arquillian.xml</include>
                                            </includes>
                                            <stylesheet>${app.server.arquillian.xsl}</stylesheet>
                                            <parameters>
                                                <parameter>
                                                    <name>keycloak.version</name>
                                                    <value>${project.version}</value>
                                                </parameter>
                                            </parameters>
                                            <outputDir>${project.build.directory}/dependency</outputDir>
                                        </transformationSet>
                                    </transformationSets>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-app-server</id>
                                <phase>generate-test-resources</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>org.keycloak.testsuite</groupId>
                                            <artifactId>${app.server.artifactId}</artifactId>        
                                            <version>${project.version}</version>
                                            <type>zip</type>
                                        </artifactItem>
                                    </artifactItems>
                                    <outputDirectory>${containers.home}</outputDirectory>
                                    <skip>${app.server.skip.unpack}</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <app.server>${app.server}</app.server>
                                <app.server.home>${app.server.home}</app.server.home>
                                <app.server.java.home>${app.server.java.home}</app.server.java.home>
                            
                                <app.server.mode>${app.server.mode}</app.server.mode>
                            
                                <app.server.host>${app.server.host}</app.server.host>
                                <app.server.port.offset>${app.server.port.offset}</app.server.port.offset>
                                <app.server.http.port>${app.server.http.port}</app.server.http.port>
                                <app.server.https.port>${app.server.https.port}</app.server.https.port>
                                <app.server.management.protocol>${app.server.management.protocol}</app.server.management.protocol>
                                <app.server.management.user>${app.server.management.user}</app.server.management.user>
                                <app.server.management.password>${app.server.management.password}</app.server.management.password>
                                <app.server.management.port>${app.server.management.port}</app.server.management.port>
                                <app.server.management.port.jmx>${app.server.management.port.jmx}</app.server.management.port.jmx>
                                <app.server.ssl.required>${app.server.ssl.required}</app.server.ssl.required>
                                
                                <app.server.startup.timeout>${app.server.startup.timeout}</app.server.startup.timeout>
                                <app.server.memory.settings>${app.server.memory.settings}</app.server.memory.settings>

                                <app.server.reverse-proxy.port.offset>${app.server.reverse-proxy.port.offset}</app.server.reverse-proxy.port.offset>

                                <app.server.1.port.offset>${app.server.1.port.offset}</app.server.1.port.offset>
                                <app.server.1.management.port>${app.server.1.management.port}</app.server.1.management.port>

                                <app.server.2.port.offset>${app.server.2.port.offset}</app.server.2.port.offset>
                                <app.server.2.management.port>${app.server.2.management.port}</app.server.2.management.port>

                                <adapter.test.props>${adapter.test.props}</adapter.test.props>

                                <adapter.config.bundled>${adapter.config.bundled}</adapter.config.bundled>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jboss.shrinkwrap.resolver</groupId>
                        <artifactId>shrinkwrap-resolver-maven-plugin</artifactId>
                        <version>${version.shrinkwrap.resolvers}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>propagate-execution-context</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        
        <profile>
            <id>examples</id>
            <activation>
                <property>
                    <name>!skipTests</name>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-dependency-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>example-wars</id>
                                    <phase>generate-test-resources</phase>
                                    <goals>
                                        <goal>copy</goal>
                                    </goals>
                                    <configuration>
                                        <artifactItems>
                                            <artifactItem>
                                                <groupId>org.keycloak.example.demo</groupId>
                                                <artifactId>product-portal-example</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.example.demo</groupId>
                                                <artifactId>customer-portal-example</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.example.demo</groupId>
                                                <artifactId>database-service</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>integration-arquillian-test-apps-js-console</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>integration-arquillian-test-apps-js-database</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak</groupId>
                                                <artifactId>examples-multitenant</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak</groupId>
                                                <artifactId>examples-basicauth</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.example.demo</groupId>
                                                <artifactId>cors-angular-product-example</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.example.demo</groupId>
                                                <artifactId>cors-database-service</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak</groupId>
                                                <artifactId>sales-post-sig</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak</groupId>
                                                <artifactId>saml-post-encryption</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak</groupId>
                                                <artifactId>saml-redirect-signatures</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>hello-world-authz-service</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>photoz-html5-client</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>photoz-restful-api</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>servlet-authz-app</artifactId>
                                                <version>${project.version}</version>
                                                <type>war</type>
                                            </artifactItem>
                                        </artifactItems>
                                        <outputDirectory>${examples.home}</outputDirectory>
                                        <overWriteIfNewer>true</overWriteIfNewer>
                                    </configuration>
                                </execution>                            
                                <execution>
                                    <id>test-apps-realms</id>
                                    <phase>generate-test-resources</phase>
                                    <goals>
                                        <goal>unpack</goal>
                                    </goals>
                                    <configuration>
                                        <artifactItems>
                                            <artifactItem>
                                                <groupId>org.keycloak.testsuite</groupId>
                                                <artifactId>integration-arquillian-test-apps-dist</artifactId>
                                                <version>${project.version}</version>
                                                <type>zip</type>
                                                <includes>**/*realm.json,**/*authz-service.json,**/testsaml.json</includes>
                                            </artifactItem>
                                        </artifactItems>
                                        <outputDirectory>${examples.home}</outputDirectory>
                                        <overWriteIfNewer>true</overWriteIfNewer>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <excludes>
                                    <exclude>${exclude.test}</exclude>
                                </excludes>
                                <systemPropertyVariables>
                                    <examples.home>${examples.home}</examples.home>
                                    <examples.version.suffix>${project.version}</examples.version.suffix>
                                </systemPropertyVariables>
                            </configuration>
                        </plugin>
                        <plugin>
                            <artifactId>maven-resources-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>copy-resources</id>
                                    <phase>validate</phase>
                                    <goals>
                                        <goal>copy-resources</goal>
                                    </goals>
                                    <configuration>
                                        <outputDirectory>${examples.home}</outputDirectory>
                                        <resources>
                                            <resource>
                                                <directory>${basedir}/src/test/resources</directory>
                                                <filtering>true</filtering>
                                            </resource>
                                        </resources>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>example-realms</id>
                                    <phase>generate-test-resources</phase>
                                    <goals>
                                        <goal>copy-resources</goal>
                                    </goals>
                                    <configuration>
                                        <outputDirectory>${examples.home}/example-realms</outputDirectory>
                                        <overWriteIfNewer>true</overWriteIfNewer>
                                        <resources>
                                            <resource>
                                                <directory>${examples.basedir}</directory>
                                                <filtering>true</filtering>
                                                <includes>
                                                    <include>**/*realm.json</include>
                                                    <include>**/testsaml.json</include>
                                                </includes>
                                            </resource>
                                        </resources>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
    </profiles>

</project>