<!--

    Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved.
    Copyright (c) 2018, 2019 Eclipse Krazo committers and contributors

    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.

    SPDX-License-Identifier: Apache-2.0

-->
<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>org.eclipse.krazo</groupId>
    <artifactId>krazo-parent</artifactId>
    <packaging>pom</packaging>
    <version>2.0.0</version>

    <name>Eclipse Krazo Parent</name>
    <description>Eclipse Krazo Parent</description>
    <url>https://projects.eclipse.org/projects/ee4j.krazo</url>

    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.6</version>
    </parent>

    <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.release>8</maven.compiler.release>

        <spec.version>2.0.0</spec.version>
        <jersey.version>3.0.0</jersey.version>
        <jakartaee.version>9.0.0</jakartaee.version>

    </properties>

    <modules>
        <module>core</module>
        <module>jersey</module>
        <module>resteasy</module>
        <module>cxf</module>
        <module>tck</module>
        <module>ext</module>
        <module>examples</module>
        <module>testsuite</module>
        <module>documentation</module>
        <module>archetype</module>
    </modules>

    <licenses>
        <license>
            <name>Apache License 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
    </reporting>

    <scm>
        <connection>scm:git:https://github.com/eclipse-ee4j/krazo.git</connection>
        <developerConnection>scm:git:https://github.com/eclipse-ee4j/krazo.git</developerConnection>
        <url>https://github.com/eclipse-ee4j/krazo</url>
    </scm>

    <developers>
        <developer>
            <id>ivargrimstad</id>
            <email>ivar.grimstad@gmail.com</email>
            <name>Ivar Grimstad</name>
            <timezone>CET</timezone>
        </developer>
        <developer>
            <id>chkal</id>
            <email>christian@kaltepoth.de</email>
            <name>Christian Kaltepoth</name>
            <timezone>CET</timezone>
        </developer>
    </developers>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/eclipse-ee4j/krazo/issues</url>
    </issueManagement>

    <build>
        <pluginManagement>
            <plugins>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <showWarnings>true</showWarnings>
                        <compilerArgs>
                            <arg>-Xlint:serial</arg>
                            <!-- disables the warning about the missing -bootclasspath on java 11 -->
                            <arg>-Xlint:-options</arg>
                            <arg>-Werror</arg>
                        </compilerArgs>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                </plugin>

                <plugin>
                    <groupId>org.commonjava.maven.plugins</groupId>
                    <artifactId>directory-maven-plugin</artifactId>
                    <version>0.1</version>
                    <configuration>
                        <property>rootDir</property>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>3.0.3</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                </plugin>

                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.5</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>5.1.1</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.3</version>
                    <inherited>true</inherited>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.owasp</groupId>
                    <artifactId>dependency-check-maven</artifactId>
                    <version>6.0.1</version>
                    <configuration>
                        <!-- Some dependencies ship dlls for native bindings.
                        This avoids warnings about dotnet not being installed -->
                        <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
                        <!-- skip dependencies provided by the application servers -->
                        <skipProvidedScope>true</skipProvidedScope>
                        <excludes>
                            <!-- Shrinkwrap includes a lot of the dependencies and some of them are quiet old.
                            We don't ship it, but only use it in the tck. So we won't report those libs as vulnerable -->
                            <exclude>org.jboss.shrinkwrap.resolver:*</exclude>
                        </excludes>
                        <suppressionFile>dependency-check-suppressions.xml</suppressionFile>
                        <!-- We allow the build to pass with vulnerabilities below HIGH or MEDIUM.
                        We should lower this value to MEDIUM (4) once all issues in upstream libraries
                        (especially from the ext-package) have been resolved. -->
                        <failBuildOnCVSS>7</failBuildOnCVSS>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>

        <plugins>

            <!-- Plugins to determine the project root directory -->
            <plugin>
                <groupId>org.commonjava.maven.plugins</groupId>
                <artifactId>directory-maven-plugin</artifactId>
                <version>0.1</version>
                <executions>
                    <execution>
                        <id>highest-basedir</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>highest-basedir</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

    <profiles>
        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>performRelease</name>
                </property>
            </activation>
            <build>
                <plugins>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <configuration>
                                    <gpgArguments>
                                        <arg>--pinentry-mode</arg>
                                        <arg>loopback</arg>
                                    </gpgArguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </build>
        </profile>

    </profiles>

</project>
