<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you 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">
  <parent>
    <artifactId>meecrowave</artifactId>
    <groupId>org.apache.meecrowave</groupId>
    <version>1.2.15</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>meecrowave-core</artifactId>
  <name>Meecrowave :: Core</name>

  <properties>
    <meecrowave.build.name>${project.groupId}.core</meecrowave.build.name>
  </properties>

  <profiles>
    <profile>
      <id>dev</id> <!-- idea does not see that it is a shade so workaround it with an IDE profile -->
      <dependencies>
        <dependency>
          <groupId>org.apache.meecrowave</groupId>
          <artifactId>meecrowave-specs-api</artifactId>
          <version>${project.version}</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

  <dependencies>
    <dependency>
      <groupId>org.apache.meecrowave</groupId>
      <artifactId>meecrowave-specs-api</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jaspic-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>${commons-cli.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-finder-shaded</artifactId>
      <version>${xbean.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-asm9-shaded</artifactId>
      <version>${xbean.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.ow2.asm</groupId>
          <artifactId>asm</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.ow2.asm</groupId>
          <artifactId>asm-commons</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-reflect</artifactId>
      <version>${xbean.version}</version>
    </dependency>
    <dependency> <!-- it switches the SPI so don't deliver it if not needed -->
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-se</artifactId>
      <version>${openwebbeans.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-spi</artifactId>
      <version>${openwebbeans.version}</version>
    </dependency>
    <dependency> <!-- not that if a user adds owb-se this should get excluded -->
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-web</artifactId>
      <version>${openwebbeans.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-catalina</artifactId>
      <version>${tomcat.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-annotations-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-jsp-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-el-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-servlet-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
      <version>${cxf.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-jta_1.1_spec</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jboss.spec.javax.rmi</groupId>
          <artifactId>jboss-rmi-api_1.0_spec</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.ws</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.jws</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.soap</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.activation</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.xml.messaging.saaj</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.annotation</groupId>
          <artifactId>jakarta.annotation-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.glassfish.jaxb</groupId>
          <artifactId>jaxb-runtime</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.glassfish.jaxb</groupId>
          <artifactId>jaxb-xjc</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.bind</groupId>
          <artifactId>jakarta.xml.bind-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.ws.rs</groupId>
          <artifactId>jakarta.ws.rs-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.woodstox</groupId>
          <artifactId>woodstox-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.ws.xmlschema</groupId>
          <artifactId>xmlschema-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>javax.annotation-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-integration-cdi</artifactId>
      <version>${cxf.version}</version>
      <exclusions>
        <exclusion>
          <groupId>jakarta.annotation</groupId>
          <artifactId>jakarta.annotation-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.inject</groupId>
          <artifactId>jakarta.inject-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.enterprise</groupId>
          <artifactId>jakarta.enterprise.cdi-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.ws</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.jws</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.soap</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.activation</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.xml.messaging.saaj</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-jta_1.1_spec</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jboss.spec.javax.rmi</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-rs-client</artifactId>
      <version>${cxf.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-jta_1.1_spec</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jboss.spec.javax.rmi</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.annotation</groupId>
          <artifactId>jakarta.annotation-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.inject</groupId>
          <artifactId>jakarta.inject-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.enterprise</groupId>
          <artifactId>jakarta.enterprise.cdi-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.ws</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.jws</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.soap</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.activation</groupId>
          <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.xml.messaging.saaj</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.johnzon</groupId>
      <artifactId>johnzon-jsonb</artifactId>
      <version>${johnzon.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>${log4j2.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>${log4j2.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-jul</artifactId>
      <version>${log4j2.version}</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency> <!-- for multiparttest on java > 8 -->
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-activation_1.1_spec</artifactId>
      <version>1.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>copy</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.deltaspike.core</groupId>
                  <artifactId>deltaspike-core-api</artifactId>
                  <version>${deltaspike.version}</version>
                  <type>jar</type>
                  <overWrite>true</overWrite>
                  <outputDirectory>${project.build.directory}/shared-test</outputDirectory>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.deltaspike.core</groupId>
                  <artifactId>deltaspike-core-impl</artifactId>
                  <version>${deltaspike.version}</version>
                  <type>jar</type>
                  <overWrite>true</overWrite>
                  <outputDirectory>${project.build.directory}/shared-test</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <executions>
          <execution>
            <id>log4j-plugin-processor</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <phase>process-classes</phase>
            <configuration>
              <proc>only</proc>
              <annotationProcessors>
                <annotationProcessor>org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
                </annotationProcessor>
              </annotationProcessors>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <id>bundle</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedClassifierName>runner</shadedClassifierName>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <dependencyReducedPomLocation>${project.build.directory}/reduced-pom-bundle.xml
              </dependencyReducedPomLocation>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.apache.meecrowave.runner.Cli</mainClass>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/cxf/bus-extensions.txt</resource>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>log4j2.component.properties</resource>
                </transformer>
                <transformer implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
              </transformers>
              <filters>
                <filter>
                  <artifact>org.apache.logging.log4j:log4j-api</artifact>
                  <excludes>
                    <exclude>META-INF/versions/**</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                    <exclude>META-INF/LICENSE.txt</exclude>
                    <exclude>META-INF/LICENSE</exclude>
                    <exclude>META-INF/NOTICE.txt</exclude>
                    <exclude>META-INF/NOTICE</exclude>
                  </excludes>
                </filter>
              </filters>
              <relocations>
                <relocation>
                  <pattern>org.apache.commons</pattern>
                  <shadedPattern>org.apache.meecrowave.shaded.commons</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
          <execution>
            <id>light-bundle</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedClassifierName>runner-light</shadedClassifierName>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <dependencyReducedPomLocation>${project.build.directory}/reduced-pom-bundle-light.xml
              </dependencyReducedPomLocation>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.apache.meecrowave.runner.Cli</mainClass>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/cxf/bus-extensions.txt</resource>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>log4j2.component.properties</resource>
                </transformer>
                <transformer implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
              </transformers>
              <filters>
                <filter>
                  <artifact>org.apache.logging.log4j:log4j-api</artifact>
                  <excludes>
                    <exclude>META-INF/versions/**</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>module-info.class</exclude>
                    <exclude>OSGI-INF/**</exclude>
                    <exclude>META-INF/cxf/cxf*.xml</exclude>
                    <exclude>META-INF/cxf/cxf*.fixml</exclude>
                    <exclude>schemas/**</exclude> <!-- cxf -->
                    <exclude>javax/servlet/resources/**</exclude> <!-- tomcat-servlet-api -->
                    <exclude>javax/servlet/jsp/resources/**</exclude>
                    <exclude>**/osgi/**</exclude> <!-- cxf and log4j -->
                    <exclude>META-INF/maven</exclude> <!-- maven built artifacts -->
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                    <exclude>META-INF/LICENSE.txt</exclude>
                    <exclude>META-INF/LICENSE</exclude>
                    <exclude>META-INF/NOTICE.txt</exclude>
                    <exclude>META-INF/NOTICE</exclude>
                  </excludes>
                </filter>
              </filters>
              <relocations>
                <relocation>
                  <pattern>org.apache.meecrowave.tomcat.light.LightDigester</pattern>
                  <shadedPattern>org.apache.tomcat.util.descriptor.DigesterFactory</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.apache.commons</pattern>
                  <shadedPattern>org.apache.meecrowave.shaded.commons</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
          <execution>
            <id>servlet-only</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedClassifierName>servlet</shadedClassifierName>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <dependencyReducedPomLocation>${project.build.directory}/reduced-pom-bundle-servlet.xml
              </dependencyReducedPomLocation>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.apache.meecrowave.runner.Cli</mainClass>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
              </transformers>
              <filters>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>javax/servlet/resources/**</exclude> <!-- tomcat-servlet-api: to discuss if kepts or not -->
                    <exclude>javax/servlet/jsp/resources/**</exclude>
                    <exclude>META-INF/maven</exclude> <!-- maven built artifacts -->
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                    <exclude>META-INF/LICENSE.txt</exclude>
                    <exclude>META-INF/LICENSE</exclude>
                    <exclude>META-INF/NOTICE.txt</exclude>
                    <exclude>META-INF/NOTICE</exclude>
                  </excludes>
                </filter>
              </filters>
              <artifactSet>
                <excludes>
                  <exclude>org.apache.cxf:*</exclude>
                  <exclude>org.apache.logging.log4j:*</exclude>
                  <exclude>org.apache.johnzon:*</exclude>
                </excludes>
              </artifactSet>
              <relocations>
                <relocation>
                  <pattern>org.apache.meecrowave.tomcat.light.LightDigester</pattern>
                  <shadedPattern>org.apache.tomcat.util.descriptor.DigesterFactory</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.apache.commons</pattern>
                  <shadedPattern>org.apache.meecrowave.shaded.commons</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <shadedClassifierName>jakarta</shadedClassifierName>
              <createDependencyReducedPom>false</createDependencyReducedPom>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer" />
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.apache.meecrowave.runner.Cli</mainClass>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>META-INF/cxf/bus-extensions.txt</resource>
                </transformer>
                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                  <resource>log4j2.component.properties</resource>
                </transformer>
                <transformer implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer" />
              </transformers>
              <filters>
                <filter>
                  <artifact>org.apache.logging.log4j:log4j-api</artifact>
                  <excludes>
                    <exclude>META-INF/versions/**</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>OSGI-INF/**</exclude>
                    <exclude>META-INF/cxf/cxf*.xml</exclude>
                    <exclude>META-INF/maven</exclude> <!-- maven built artifacts -->
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                    <exclude>META-INF/LICENSE.txt</exclude>
                    <exclude>META-INF/LICENSE</exclude>
                    <exclude>META-INF/NOTICE.txt</exclude>
                    <exclude>META-INF/NOTICE</exclude>
                  </excludes>
                </filter>
              </filters>
              <relocations>
                <relocation>
                  <pattern>javax.activation</pattern>
                  <shadedPattern>jakarta.activation</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.annotation</pattern>
                  <shadedPattern>jakarta.annotation</shadedPattern>
                  <excludes>
                    <exclude>javax.annotation.processing.**</exclude>
                  </excludes>
                </relocation>
                <relocation>
                  <pattern>javax.el</pattern>
                  <shadedPattern>jakarta.el</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.enterprise</pattern>
                  <shadedPattern>jakarta.enterprise</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.decorator</pattern>
                  <shadedPattern>jakarta.decorator</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.inject</pattern>
                  <shadedPattern>jakarta.inject</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.interceptor</pattern>
                  <shadedPattern>jakarta.interceptor</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.servlet</pattern>
                  <shadedPattern>jakarta.servlet</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.transaction</pattern>
                  <shadedPattern>jakarta.transaction</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.validation</pattern>
                  <shadedPattern>jakarta.validation</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.persistence</pattern>
                  <shadedPattern>jakarta.persistence</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.faces</pattern>
                  <shadedPattern>jakarta.faces</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.ejb</pattern>
                  <shadedPattern>jakarta.ejb</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.ws</pattern>
                  <shadedPattern>jakarta.ws</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.cache</pattern>
                  <shadedPattern>jakarta.cache</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.jms</pattern>
                  <shadedPattern>jakarta.jms</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.json</pattern>
                  <shadedPattern>jakarta.json</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>javax.resource</pattern>
                  <shadedPattern>jakarta.resource</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>com.github.edwgiz</groupId>
            <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
            <version>2.13.3</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>
