<?xml version="1.0" encoding="UTF-8"?>
<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.openl.rules</groupId>
        <artifactId>org.openl.rules.ruleservice-pom</artifactId>
        <version>5.26.7</version>
    </parent>
    <artifactId>org.openl.rules.ruleservice.ws</artifactId>
    <packaging>war</packaging>
    <name>OpenL - Ruleservice - Web Services</name>
    <description>OpenL Rules Webservice(war)</description>
    <url>https://openl-tablets.org</url>
    <organization>
        <name>OpenL Tablets</name>
        <url>https://openl-tablets.org</url>
    </organization>
    <properties>
        <generate-application.properties>prepare-package</generate-application.properties>
    </properties>
    <build>
        <finalName>webservice</finalName>
        <resources>
            <resource>
                <directory>resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>banner.txt</include>
                </includes>
            </resource>
            <resource>
                <directory>resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>banner.txt</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.basepom.maven</groupId>
                <artifactId>duplicate-finder-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <checkCompileClasspath>false</checkCompileClasspath>
                    <checkRuntimeClasspath>true</checkRuntimeClasspath>
                    <checkTestClasspath>false</checkTestClasspath>
                    <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
                    <useResultFile>false</useResultFile>
                    <exceptions>
                        <exception>
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>xmlpull</groupId>
                                    <artifactId>xmlpull</artifactId>
                                </dependency>
                                <dependency>
                                    <groupId>xpp3</groupId>
                                    <artifactId>xpp3_min</artifactId>
                                </dependency>
                            </conflictingDependencies>
                            <classes>
                                <class>org.xmlpull.v1.XmlPullParser</class>
                                <class>org.xmlpull.v1.XmlPullParserException</class>
                            </classes>
                        </exception>
                        <exception>
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>xml-apis</groupId>
                                    <artifactId>xml-apis</artifactId>
                                </dependency>
                                <dependency>
                                    <groupId>xml-apis</groupId>
                                    <artifactId>xml-apis-ext</artifactId>
                                </dependency>
                            </conflictingDependencies>
                            <resources>
                                <resource>license/LICENSE.dom-documentation.txt</resource>
                                <resource>license/README.dom.txt</resource>
                                <resource>license/LICENSE.dom-software.txt</resource>
                            </resources>
                        </exception>
                    </exceptions>
                    <ignoredResourcePatterns>
                        <ignoredResourcePattern>org/apache/cxf/endpoint/dynamic/simple-binding.xjb
                        </ignoredResourcePattern>
                        <ignoredResourcePattern>openl-default.properties</ignoredResourcePattern>
                    </ignoredResourcePatterns>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/webapp/WEB-INF/lib</outputDirectory>
                            <artifactItems>
                                <!-- Logging -->
                                <artifactItem>
                                    <groupId>org.apache.logging.log4j</groupId>
                                    <artifactId>log4j-slf4j-impl</artifactId>
                                    <version>${log4j.version}</version>
                                    <type>jar</type>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.logging.log4j</groupId>
                                    <artifactId>log4j-core</artifactId>
                                    <version>${log4j.version}</version>
                                    <type>jar</type>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.logging.log4j</groupId>
                                    <artifactId>log4j-api</artifactId>
                                    <version>${log4j.version}</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>assembly-jar</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <descriptors>
                                <descriptor>assembly/assembly-jar.xml</descriptor>
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-rs-extension-providers</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-rs-service-description-openapi-v3</artifactId>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>swagger-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-management</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>org.bitbucket.b_c</groupId>
            <artifactId>jose4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.cache2k</groupId>
            <artifactId>cache2k-jcache</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.istack</groupId>
            <artifactId>istack-commons-runtime</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.activation</groupId>
            <artifactId>jakarta.activation-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- Spring 5.x, needed for JBoss metadata scanning  https://issues.jboss.org/browse/JBEAP-10163 -->
        <dependency>
            <groupId>org.reactivestreams</groupId>
            <artifactId>reactive-streams</artifactId>
        </dependency>

        <!-- OpenL dependencies -->
        <!-- CORE -->
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules</artifactId>
        </dependency>
        <!-- STUDIO -->
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.repository</artifactId>
        </dependency>
        <!-- RulesService -->
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.ruleservice</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.ruleservice.ws.common</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.ruleservice.rmi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.ruleservice.kafka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.ruleservice.ws.storelogdata</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openl.rules</groupId>
            <artifactId>org.openl.rules.ruleservice.deployer</artifactId>
        </dependency>
    </dependencies>
</project>
