pom.xml

224 lines | 10.667 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>2.5.9.Final-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>integration-arquillian-servers-app-server-karaf</artifactId>
    <packaging>pom</packaging>
    <name>App Server - Karaf</name>
    
    <properties>
        <common.resources>${project.parent.basedir}/common</common.resources>
        <assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
        <app.server.karaf.home>${containers.home}/${app.server.karaf.unpacked.folder.name}</app.server.karaf.home>
        <app.server.karaf.client.auth>-u karaf</app.server.karaf.client.auth>
        <app.server.karaf.uninstall.pax>false</app.server.karaf.uninstall.pax>
        <app.server.karaf.update.config>false</app.server.karaf.update.config>
    </properties>

    <profiles>
        
        <profile>
            <id>app-server-karaf-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.karaf</property>
                                            <property>app.server.karaf.groupId</property>
                                            <property>app.server.karaf.artifactId</property>
                                            <property>app.server.karaf.version</property>
                                            <property>app.server.karaf.unpacked.folder.name</property>
                                        </requireProperty>
                                        <requireOS>
                                            <family>!windows</family>
                                            <message>Automated Kara/Fuse adapter configuration currently doesn't work on Windows.</message>
                                        </requireOS>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-karaf</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>${app.server.karaf.groupId}</groupId>
                                            <artifactId>${app.server.karaf.artifactId}</artifactId>
                                            <version>${app.server.karaf.version}</version>
                                            <type>zip</type>
                                            <outputDirectory>${containers.home}</outputDirectory>
                                        </artifactItem>
                                    </artifactItems>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-clis</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${app.server.karaf.home}/bin</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>src/main/resources</directory>
                                            <includes>
                                                <include>install-features.cli</include>
                                                <include>update-config.cli</include>
                                                <include>update-config-auth.cli</include>
                                            </includes>
                                            <filtering>true</filtering>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-configs</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${app.server.karaf.home}/etc</outputDirectory>
                                    <overwrite>true</overwrite>
                                    <resources>
                                        <resource>
                                            <directory>src/main/resources</directory>
                                            <includes>
                                                <include>users.properties</include>
                                                <include>keycloak-direct-access.json</include>
                                                <include>keycloak-hawtio-client.json</include>
                                                <include>keycloak-hawtio.json</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>install-features</id>
                                <phase>process-test-resources</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <executable>${common.resources}/install-features.${script.suffix}</executable>
                            <workingDirectory>${app.server.karaf.home}/bin</workingDirectory>
                            <environmentVariables>
                                <JAVA_HOME>${app.server.java.home}</JAVA_HOME>
                                <CLIENT_AUTH>${app.server.karaf.client.auth}</CLIENT_AUTH>
                                <UNINSTALL_PAX>${app.server.karaf.uninstall.pax}</UNINSTALL_PAX>
                                <UPDATE_CONFIG>${app.server.karaf.update.config}</UPDATE_CONFIG>
                            </environmentVariables>
                        </configuration>
                    </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-karaf3</id>
            <modules>
                <module>karaf3</module>
            </modules>
        </profile>        
        <profile>
            <id>app-server-fuse61</id>
            <modules>
                <module>fuse61</module>
            </modules>
        </profile>        
        <profile>
            <id>app-server-fuse62</id>
            <modules>
                <module>fuse62</module>
            </modules>
        </profile>        
        <profile>
            <id>app-server-fuse63</id>
            <modules>
                <module>fuse63</module>
            </modules>
        </profile>        
        
    </profiles>

</project>