534 lines
23 KiB
XML
534 lines
23 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ /*
|
|
~ * JBoss, Home of Professional Open Source.
|
|
~ * Copyright $tody.year Red Hat, Inc., and individual 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 xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
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>
|
|
|
|
<parent>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>galleon-feature-packs-parent</artifactId>
|
|
<version>16.0.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-server-galleon-pack</artifactId>
|
|
|
|
<name>Keycloak Galleon Feature Pack: Server</name>
|
|
<packaging>pom</packaging>
|
|
|
|
<properties>
|
|
<license.directory>${project.build.directory}/resources/content/docs/licenses</license.directory>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<!-- WildFly Core feature pack content -->
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-core-feature-pack-common</artifactId>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-core-feature-pack-ee-8-api</artifactId>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-core-feature-pack-galleon-common</artifactId>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-core-feature-pack-galleon-pruned</artifactId>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.core</groupId>
|
|
<artifactId>wildfly-core-galleon-pack</artifactId>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-servlet-feature-pack-common</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-servlet-feature-pack-ee-8-api</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-servlet-feature-pack-galleon-common</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-servlet-feature-pack-galleon-legacy</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-feature-pack-common</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-feature-pack-ee-8-api</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-feature-pack-galleon-common</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-feature-pack-galleon-content</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-feature-pack-pruned</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-galleon-pack</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>zip</type>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-servlet-galleon-pack</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>zip</type>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.galleon-plugins</groupId>
|
|
<artifactId>wildfly-galleon-plugins</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.wildfly.galleon-plugins</groupId>
|
|
<artifactId>wildfly-config-gen</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-server-feature-pack</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>*</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!-- module and copy artifact dependencies -->
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-server-feature-pack-dependencies</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>pom</type>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-client-registration-cli</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-admin-cli</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<!-- Feature pack generation is vulnerable to leftover files in the target
|
|
folder from previous builds, so always clean even if the clean lifecycle is not invoked -->
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>auto-clean</id>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>clean</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-resources</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${basedir}/target/resources</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${basedir}/src/main/resources</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-theme</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-themes</artifactId>
|
|
<outputDirectory>target/resources/packages/themes/content/themes</outputDirectory>
|
|
<includes>theme/*/**</includes>
|
|
<fileMappers>
|
|
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
<pattern>^\Qtheme/\E</pattern>
|
|
<replacement>./</replacement>
|
|
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
</fileMappers>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>unpack-cli</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>org.keycloak</groupId>
|
|
<artifactId>keycloak-client-cli-dist</artifactId>
|
|
<type>zip</type>
|
|
<includes>*/**</includes>
|
|
<fileMappers>
|
|
<org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
<pattern>^\Qkeycloak-client-tools/\E</pattern>
|
|
<replacement>./</replacement>
|
|
</org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
|
|
</fileMappers>
|
|
<outputDirectory>target/resources/packages/client-cli/content</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>assemble</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>assembly.xml</descriptor>
|
|
</descriptors>
|
|
<recompressZippedFiles>true</recompressZippedFiles>
|
|
<finalName>${project.build.finalName}</finalName>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
<workDirectory>${project.build.directory}/assembly/work</workDirectory>
|
|
<tarLongFileMode>gnu</tarLongFileMode>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin -->
|
|
<!-- TODO: do proper Galleon Style Licenses Distribution
|
|
plugin>
|
|
<groupId>org.wildfly.maven.plugins</groupId>
|
|
<artifactId>licenses-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>update-licenses-xml-package</id>
|
|
<goals>
|
|
<goal>insert-versions</goal>
|
|
</goals>
|
|
<phase>process-resources</phase>
|
|
<configuration>
|
|
<sortByGroupIdAndArtifactId>true</sortByGroupIdAndArtifactId>
|
|
<licensesConfigFiles>
|
|
<licensesConfigFile>${basedir}/target/resources/license/${product.slot}-server-galleon-pack-licenses.xml</licensesConfigFile>
|
|
</licensesConfigFiles>
|
|
<licensesOutputFile>${license.directory}/keycloak-server-galleon-pack-licenses.xml</licensesOutputFile>
|
|
<excludedGroups>org.wildfly.galleon-plugins</excludedGroups>
|
|
<excludedArtifacts>wildfly-core-model-test-framework|wildfly-jar-boot|wildfly-core-feature-pack-common|wildfly-core-feature-pack-ee-8-api|wildfly-elytron\z</excludedArtifacts>
|
|
<excludedScopes>system</excludedScopes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin -->
|
|
<plugin>
|
|
<groupId>org.wildfly.galleon-plugins</groupId>
|
|
<artifactId>wildfly-galleon-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>keycloak-server-galleon-pack-build</id>
|
|
<goals>
|
|
<goal>build-feature-pack</goal>
|
|
</goals>
|
|
<phase>prepare-package</phase>
|
|
<configuration>
|
|
<release-name>Keycloak</release-name>
|
|
<fork-embedded>${galleon.fork.embedded}</fork-embedded>
|
|
<config-file>${product.slot}-server-galleon-pack-build.xml</config-file>
|
|
<task-properties>
|
|
<product.name>${product.name}</product.name>
|
|
<product.name.full>${product.name.full}</product.name.full>
|
|
<product.slot>${product.slot}</product.slot>
|
|
<product.wildfly.console.slot>${product.wildfly.console.slot}</product.wildfly.console.slot>
|
|
<product.version>${project.version}</product.version>
|
|
<product.rhsso.version>${product.rhsso.version}</product.rhsso.version>
|
|
<client-cli.src.dir>${project.basedir}</client-cli.src.dir>
|
|
</task-properties>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>community</id>
|
|
<activation>
|
|
<property>
|
|
<name>!product</name>
|
|
</property>
|
|
</activation>
|
|
|
|
<properties>
|
|
<feature.parent>org.wildfly:wildfly-galleon-pack</feature.parent>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.wildfly</groupId>
|
|
<artifactId>wildfly-galleon-pack</artifactId>
|
|
<type>zip</type>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>*</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>product</id>
|
|
<activation>
|
|
<property>
|
|
<name>product</name>
|
|
</property>
|
|
</activation>
|
|
|
|
<properties>
|
|
<feature.parent>${ee.maven.groupId}:wildfly-ee-galleon-pack</feature.parent>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>${ee.maven.groupId}</groupId>
|
|
<artifactId>wildfly-ee-galleon-pack</artifactId>
|
|
<version>${ee.maven.version}</version>
|
|
<type>zip</type>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>*</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>enforce</id>
|
|
<activation>
|
|
<property>
|
|
<name>!skip-enforce</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>ban-transitive-deps</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<banTransitiveDependencies>
|
|
<excludes>
|
|
<!-- Ignore jdk jars because they are system scope -->
|
|
<exclude>com.sun:tools</exclude>
|
|
<exclude>sun.jdk:jconsole</exclude>
|
|
<!-- Ignore the shared resource poms as those we want their
|
|
transitives. Those poms ban transitives at their level -->
|
|
<exclude>org.wildfly.core:wildfly-core-feature-pack-common</exclude>
|
|
<exclude>org.wildfly.core:wildfly-core-feature-pack-ee-8-api</exclude>
|
|
<exclude>org.wildfly.core:wildfly-core-feature-pack-galleon-pruned</exclude>
|
|
<exclude>org.wildfly.core:wildfly-core-feature-pack-galleon-common</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-servlet-feature-pack-common</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-servlet-feature-pack-ee-8-api</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-servlet-feature-pack-galleon-legacy</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-ee-feature-pack-common</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-ee-feature-pack-ee-8-api</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-ee-feature-pack-pruned</exclude>
|
|
<exclude>${ee.maven.groupId}:wildfly-ee-feature-pack-galleon-content</exclude>
|
|
<!-- Ignore the shared resource poms as those we want their
|
|
transitives. Those poms ban transitives at their level -->
|
|
<exclude>org.keycloak:keycloak-server-feature-pack-dependencies</exclude>
|
|
<exclude>org.keycloak:keycloak-client-registration-cli</exclude>
|
|
<exclude>org.keycloak:keycloak-admin-cli</exclude>
|
|
</excludes>
|
|
</banTransitiveDependencies>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>enforce-product</id>
|
|
<activation>
|
|
<property>
|
|
<name>enforce-product</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.jboss.maven.plugins.enforcer.rules</groupId>
|
|
<artifactId>version-enforcer-rule</artifactId>
|
|
<version>1.0.0</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>ban-non-product-deps</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<rule implementation="org.jboss.maven.plugins.enforcer.rules.version.BanVersionDependenciesRule">
|
|
<versionPattern>^((?!redhat).)*$</versionPattern>
|
|
</rule>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|