<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>37</version>
        <relativePath />
    </parent>

    <groupId>org.apache.openwebbeans</groupId>
    <artifactId>openwebbeans</artifactId>
    <name>Apache OpenWebBeans</name>
    <packaging>pom</packaging>
    <version>4.1.0</version>

    <url>openwebbeans.apache.org</url>

    <description>
        Apache OpenWebBeans is an open source implementation of the
        Jakarta CDI 4.1 Specification.
    </description>

    <organization>
        <name>The Apache Software Foundation</name>
        <url>https://apache.org</url>
    </organization>

    <inceptionYear>2008</inceptionYear>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/openwebbeans.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/openwebbeans.git</developerConnection>
        <url>https://github.com/apache/openwebbeans</url>
      <tag>openwebbeans-4.1.0</tag>
  </scm>

    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/OWB</url>
    </issueManagement>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <minimalJavaBuildVersion>${maven.compiler.source}</minimalJavaBuildVersion>

        <jakarta.atinject-api.version>2.0.1</jakarta.atinject-api.version>
        <jakarta.cdi-api.version>4.1.0</jakarta.cdi-api.version>
        <jakarta.interceptor-api.version>2.2.0</jakarta.interceptor-api.version>
        <jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
        <jakarta.el-api.version>6.0.1</jakarta.el-api.version>
        <jakarta.transaction-api.version>2.0.1</jakarta.transaction-api.version>
        <jakarta.validation-api.version>3.0.2</jakarta.validation-api.version>
        <jakarta.ejb-api.version>4.0.1</jakarta.ejb-api.version>
        <jakarta.jms-api.version>3.0.0</jakarta.jms-api.version>

        <tomcat.version>10.1.54</tomcat.version>
        <myfaces.version>4.0.3</myfaces.version>

        <httpclient.version>4.5.14</httpclient.version>
        <xbean.version>4.30</xbean.version>
        <arquillian.version>1.8.1.Final</arquillian.version>
        <cdi.tck.version>4.1.0</cdi.tck.version>

        <osgi.servlet.range>4.0</osgi.servlet.range>
        <osgi.el.range>4.0</osgi.el.range>
        <osgi.faces.range>4.0</osgi.faces.range>

        <maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>

        <!-- OLD remove: -->
        <!-- jetty 9.4.13+ broke session persistence: https://github.com/eclipse/jetty.project/issues/3597 -->
        <jetty.version>9.4.12.v20180830</jetty.version>

        <surefire.version>3.2.2</surefire.version>
        <maven-javadoc.version>3.12.0</maven-javadoc.version>
    </properties>
    
    <mailingLists>
        <mailingList>
            <name>OpenWebBeans Developer List</name>
            <subscribe>dev-subscribe@openwebbeans.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@openwebbeans.apache.org</unsubscribe>
            <post>dev@openwebbeans.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/openwebbeans-dev/</archive>
        </mailingList>
        <mailingList>
            <name>OpenWebBeans User List</name>
            <subscribe>user-subscribe@openwebbeans.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@openwebbeans.apache.org</unsubscribe>
            <post>user@openwebbeans.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/openwebbeans-user/</archive>
        </mailingList>
        <mailingList>
            <name>OpenWebBeans Commits List</name>
            <subscribe>commits-subscribe@openwebbeans.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@openwebbeans.apache.org</unsubscribe>
            <post>commits@openwebbeans.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/openwebbeans-commits/</archive>
        </mailingList>
        <mailingList>
            <name>OpenWebBeans Private List</name>
            <subscribe>private-subscribe@openwebbeans.apache.org</subscribe>
            <unsubscribe>private-unsubscribe@openwebbeans.apache.org</unsubscribe>
            <post>private@openwebbeans.apache.org</post>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>gerdogdu</id>
            <name>Gurkan Erdogdu</name>
            <email>gerdogdu at apache dot org</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>bergmark</id>
            <name>Joe Bergmark</name>
            <email>bergmark at gmail dot com</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>kevan</id>
            <name>Kevan Miller</name>
            <email>kevan dot miller at gmail dot com</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>matzew</id>
            <name>Matthias Wessendorf</name>
            <email>matzew at apache dot org</email>
            <organization>Oracle, Germany</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
            <roles>
                <role>Committer,Mentor</role>
            </roles>
        </developer>
        <developer>
            <id>covener</id>
            <name>Eric Covener</name>
            <email>covener at gmail dot com</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>struberg</id>
            <name>Mark Struberg</name>
            <email>struberg at yahoo dot de</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>dblevins</id>
            <name>David Blevins</name>
            <email>david dot blevins at visi dot com</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>gpetracek</id>
            <name>Gerhard Petracek</name>
            <email>gpetracek at apache dot org</email>
            <organization>IRIAN.at, Austria</organization>
            <organizationUrl>http://www.irian.at/</organizationUrl>
            <roles>
                <role>PMC</role>
            </roles>
            <timezone>+1</timezone>
        </developer>
        <developer>
            <id>kelapure</id>
            <name>Rohit Kelapure</name>
            <email>kelapure at apache dot org</email>
            <url>http://www.linkedin.com/in/rohitkelapure</url>
            <organization>IBM</organization>
            <organizationUrl>http://wasdynacache.blogspot.com</organizationUrl>
            <roles>
                <role>Committer</role>
            </roles>
        </developer>
        <developer>
            <id>rederpj</id>
            <name>Paul J. Reder</name>
            <email>rederpj at apache dot org</email>
            <roles>
                <role>Committer</role>
            </roles>
        </developer>
        <developer>
            <id>djencks</id>
            <name>David Jencks</name>
            <email>djencks at apache dot org</email>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>martinkoci</id>
            <name>Martin Koci</name>
            <email>martinkoci at apache dot org</email>
            <timezone>+1</timezone>
            <roles>
              <role>committer</role>
            </roles>
        </developer>
        <developer>
            <id>arne</id>
            <name>Arne Limburg</name>
            <email>arne at apache dot org</email>
            <timezone>+1</timezone>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>tandraschko</id>
            <name>Thomas Andraschko</name>
            <email>tandraschko at apache dot org</email>
            <timezone>+1</timezone>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>rmannibucau</id>
            <name>Romain Manni-Bucau</name>
            <email>rmannibucau at apache dot org</email>
            <timezone>+1</timezone>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>rsandtner</id>
            <name>Reinhard Sandtner</name>
            <email>rsandtner at apache dot org</email>
            <timezone>+1</timezone>
            <roles>
                <role>committer</role>
            </roles>
        </developer>
    </developers>

    <contributors>
        <contributor>
            <name>Adonis Raduca</name>
            <email>adonis.raduca at codebeat.ro</email>
            <roles>
                <role>Logo-creator</role>
            </roles>
        </contributor>
    </contributors>

    <build>
        <defaultGoal>install</defaultGoal>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <configuration>
                                <resourceBundles>
                                    <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                                </resourceBundles>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

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

                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>5.1.9</version>
                    <executions>
                        <execution>
                            <id>bundle-manifest</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>manifest</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven3-plugin</artifactId>
                    <version>1.10.15</version>
                </plugin>

            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <autoVersionSubmodules>true</autoVersionSubmodules>

                    <!-- needed for GIT -->
                    <pushChanges>false</pushChanges>
                    <localCheckout>true</localCheckout>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Specification-Title>${project.name}</Specification-Title>
                            <Specification-Version>${project.version}</Specification-Version>
                            <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                            <Implementation-Title>${project.name}</Implementation-Title>
                            <Implementation-Version>${project.version}</Implementation-Version>
                            <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                        </manifestEntries>
                        <!-- Adding Manifest File -->
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <supportedProjectTypes>
                        <supportedProjectType>jar</supportedProjectType>
                        <supportedProjectType>bundle</supportedProjectType>
                        <supportedProjectType>war</supportedProjectType>
                    </supportedProjectTypes>
                    <instructions>
                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                        <Bundle-Version>${project.version}</Bundle-Version>
                        <Export-Package>!org.apache.webbeans.internal.*,org.apache.webbeans.*;version="${project.version}"</Export-Package>
                        <Private-Package>org.apache.webbeans.internal.*</Private-Package>
                    </instructions>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.15.0</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <release>${maven.compiler.target}</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                        <include>**/*TestCase.java</include>
                        <include>**/*Tests*.java</include>
                    </includes>
                    <trimStackTrace>false</trimStackTrace>
                </configuration>
            </plugin>
            <!-- force generating a *-sources.jar when building a jar, e.g. for a snapshot release -->
            <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-checkstyle-plugin</artifactId>
                <version>3.6.0</version>
                <executions>
                    <execution>
                        <id>verify-style</id>
                        <phase>verify</phase>
                        <goals><goal>check</goal></goals>

                        <configuration>
                            <checkstyleRules>

                                <module name="Checker">

                                    <!-- Checks that a package.html file exists for each package.     -->
                                    <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
                                    <!-- module name="PackageHtml"/ -->

                                    <!-- Checks whether files end with a new line.                        -->
                                    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
                                    <!-- module name="NewlineAtEndOfFile"/ -->

                                    <!-- Checks that property files contain the same keys.         -->
                                    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
                                    <!-- module name="Translation"/ -->

                                    <!-- Checks for Headers                              -->
                                    <!-- See http://checkstyle.sf.net/config_header.html -->
                                    <module name="Header">
                                        <property name="header" value="/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * &amp;quot;License&amp;quot;); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n" />
                                        <property name="fileExtensions" value="java" />
                                    </module>

                                    <!-- Checks for Size Violations.                    -->
                                    <!-- See http://checkstyle.sf.net/config_sizes.html -->
                                    <module name="FileLength">
                                        <property name="max" value="3500" />
                                        <property name="fileExtensions" value="java" />
                                    </module>

                                    <module name="LineLength">
                                        <property name="max" value="180" />
                                        <property name="ignorePattern" value="@version|@see" />
                                    </module>

                                    <!-- Checks for whitespace                               -->
                                    <!-- See http://checkstyle.sf.net/config_whitespace.html -->
                                    <module name="FileTabCharacter" />


                                    <module name="TreeWalker">

<!--
                                        <property name="cacheFile" value="${checkstyle.cache.file}"/>
-->

                                        <!-- Checks for Javadoc comments.                     -->
                                        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
                                        <!-- module name="JavadocMethod"/ -->
                                        <!-- module name="JavadocType"/ -->
                                        <!-- module name="JavadocVariable"/ -->


                                        <!-- Checks for Naming Conventions.                  -->
                                        <!-- See http://checkstyle.sf.net/config_naming.html -->
                                        <!--
                                                <module name="MemberName">
                                                  <property name="format" value="^_[a-z][a-zA-Z0-9]*$"/>
                                                </module>
                                        -->

                                        <module name="ConstantName">
                                            <!-- Normal rules, except that:
                                               -  * any name can start with an underscore.
                                               -  * "log" is allowed; this is a traditional name for log objects
                                               -  * names ending with "ThreadLocal" are allowed so that threadlocal vars don't have to be
                                               -    all-caps. They are static final, but are not really constants. Yes, type prefixes
                                               -    on variable names sucks ("hungarian notation") but checkstyle doesn't allow
                                               -    name rules to vary by the type of the constant, and no other alternative seems
                                               -    any better.
                                               -->
                                            <property name="format" value="^_?((log)|(logger)|([a-z][a-zA-Z]*ThreadLocal)|([A-Z][A-Z0-9]*(_[A-Z0-9]+)*))$" />
                                        </module>

                                        <module name="LocalVariableName" />
                                        <module name="MethodName">
                                            <property name="format" value="^_?[a-z][a-zA-Z0-9]*$" />
                                        </module>
                                        <module name="PackageName" />
                                        <module name="LocalFinalVariableName" />
                                        <module name="ParameterName" />
                                        <module name="StaticVariableName" />
                                        <module name="TypeName">
                                            <property name="format" value="^_?[A-Z][a-zA-Z0-9]*$" />
                                        </module>

                                        <!-- Checks for imports                              -->
                                        <!-- See http://checkstyle.sf.net/config_import.html -->
                                        <module name="AvoidStarImport">
                                            <property name="excludes" value="java.io,java.net,java.util,jakarta.enterprise.inject.spi,jakarta.enterprise.context" />
                                        </module>
                                        <module name="IllegalImport" />
                                        <module name="RedundantImport" />
                                        <module name="UnusedImports" />



                                        <module name="MethodLength">
                                            <property name="max" value="250" />
                                        </module>
                                        <module name="ParameterNumber">
                                            <property name="max" value="10" />
                                        </module>


                                        <!-- Modifier Checks                                    -->
                                        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
                                        <!-- module name="ModifierOrder"/ -->
                                        <!-- module name="RedundantModifier"/ -->

                                        <!-- Checks for blocks. You know, those {}'s         -->
                                        <!-- See http://checkstyle.sf.net/config_blocks.html -->
                                        <!-- module name="EmptyBlock"/ -->
                                        <module name="NeedBraces" />
                                        <module name="LeftCurly">
                                            <property name="option" value="nl" />
                                            <property name="tokens" value=" ANNOTATION_DEF,CLASS_DEF,CTOR_DEF,ENUM_CONSTANT_DEF,ENUM_DEF,INTERFACE_DEF,LITERAL_CASE,LITERAL_CATCH,LITERAL_DEFAULT,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_SWITCH,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,METHOD_DEF,OBJBLOCK,STATIC_INIT" />
                                        </module>
                                        <module name="RightCurly">
                                            <property name="option" value="alone" />
                                        </module>

                                        <!-- Checks for common coding problems               -->
                                        <!-- See http://checkstyle.sf.net/config_coding.html -->
                                        <module name="EmptyStatement" />
                                        <module name="EqualsHashCode" />
                                        <module name="InnerAssignment" />
                                        <module name="DefaultComesLast" />
                                        <module name="MissingSwitchDefault" />
                                        <module name="FallThrough" />
                                        <module name="MultipleVariableDeclarations" />

                                        <!-- Checks for class design                         -->
                                        <!-- See http://checkstyle.sf.net/config_design.html -->
                                        <!-- module name="DesignForExtension"/ -->
                                        <module name="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck">
                                            <property name="severity" value="ignore" />
                                        </module>

                                        <!-- module name="FinalClass"/ -->
                                        <!-- module name="HideUtilityClassConstructor"/ -->
                                        <!-- module name="InterfaceIsType"/ -->
                                        <!-- module name="VisibilityModifier"/ -->
                                        <module name="com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck">
                                            <property name="packageAllowed" value="false" />
                                            <property name="protectedAllowed" value="true" />
                                            <property name="publicMemberPattern" value="^serialVersionUID" />
                                            <property name="severity" value="warning" />
                                        </module>


                                        <!-- Miscellaneous other checks.                   -->
                                        <!-- See http://checkstyle.sf.net/config_misc.html -->
                                        <!-- module name="ArrayTypeStyle"/ -->
                                        <!-- module name="FinalParameters"/ -->
                                        <!-- Line with Trailing Spaces (disabled as it's to noisy)
                                        <module name="GenericIllegalRegexp">
                                            <property name="format" value="\s+$"/>
                                            <property name="message" value="Line has trailing spaces."/>
                                        </module>
                                          -->
                                        <module name="UpperEll" />

                                    </module>

                                </module>

                            </checkstyleRules>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
<!--
                    <configLocation>openwebbeans/owb-checks-default.xml</configLocation>
                    <headerLocation>openwebbeans/owb-header.txt</headerLocation>
-->
                    <consoleOutput>true</consoleOutput>
                    <excludes>**/Unsafe*</excludes> <!-- we abuse of switch and checkstyle is broken for it -->
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>0.16.1</version>
                <configuration>
                    <includes>
                        <include>src/**/*</include>
                        <include>pom.xml</include>
                    </includes>
                    <excludes>
                        <exclude>**/*/MANIFEST.MF</exclude>
                        <exclude>.git</exclude>
                        <exclude>.gitignore</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.6.2</version>
                <executions>
                    <execution>
                        <id>enforce-java-version</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>11</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc.version}</version>
                <configuration>
                    <quiet>true</quiet>
                    <release>${maven.compiler.source}</release>
                    <doclint>none</doclint>
                </configuration>
            </plugin>

        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>ci-management</report>
                            <report>index</report>
                            <report>issue-management</report>
                            <report>mailing-lists</report>
                            <report>team</report>
                            <report>scm</report>
                            <report>summary</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc.version}</version>
                <configuration>
                    <quiet>true</quiet>
                    <release>${maven.compiler.source}</release>
                    <doclint>none</doclint>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>javadoc</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>

    <modules>
        <module>webbeans-spi</module>
        <module>webbeans-impl</module>
        <module>webbeans-el22</module>
        <module>webbeans-se</module>
        <module>webbeans-web</module>
        <module>webbeans-tomcat</module>
        <module>webbeans-ejb</module>
        <module>webbeans-arquillian</module>
        <module>webbeans-slf4j</module>
        <module>webbeans-gradle</module>
        <module>webbeans-junit5</module>
        <module>webbeans-porting</module>
        <module>atinject-tck</module>
        <module>webbeans-ee-common</module>
        <module>webbeans-ee</module>
        <module>webbeans-jms</module>
        <module>webbeans-tck</module>
        <module>webbeans-jsf</module>
        <module>webbeans-osgi</module>
        <module>distribution</module>
        <module>bom</module>
        <module>samples</module>
<!--X TODO re-enable
        <module>webbeans-jetty9</module>
-->
    </modules>

    <dependencyManagement>

        <dependencies>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${jakarta.atinject-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${jakarta.cdi-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-el-api</artifactId>
                <version>${jakarta.cdi-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.interceptor</groupId>
                <artifactId>jakarta.interceptor-api</artifactId>
                <version>${jakarta.interceptor-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${jakarta.el-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${jakarta.transaction-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${jakarta.validation-api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-servlet-api</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-jsp-api</artifactId>
                <version>${tomcat.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${jakarta.ejb-api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.myfaces.core</groupId>
                <artifactId>myfaces-api</artifactId>
                <version>${myfaces.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.myfaces.core</groupId>
                <artifactId>myfaces-impl</artifactId>
                <version>${myfaces.version}</version>
            </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>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            
            <!--  this is used for TCK tests        -->
            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-impl</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-el22</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-porting</artifactId>
                <version>${project.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-web</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-jsf</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-spi</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-ejb</artifactId>
                <version>${project.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>


    <profiles>
        <profile>
            <id>reporting</id>
            <activation>
                <property>
                    <name>skipReports</name>
                    <value>!true</value>
                </property>
            </activation>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jxr-plugin</artifactId>
                        <version>3.6.0</version>
                        <configuration>
                            <inputEncoding>
                                ${project.build.sourceEncoding}
                            </inputEncoding>
                            <outputEncoding>
                                ${project.build.sourceEncoding}
                            </outputEncoding>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                        <version>3.28.0</version>
                        <configuration>
                            <targetJdk>${maven.compiler.source}</targetJdk>
<!--
                            <rulesets>
                                <ruleset>
                                    http://svn.codehaus.org/mojo/trunk/mojo/mojo-parent/src/main/config/pmd/mojo_rules.xml
                                </ruleset>
                            </rulesets>
-->
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-project-info-reports-plugin</artifactId>
                        <version>3.9.0</version>
                        <reportSets>
                            <reportSet>
                                <reports>
                                    <report>ci-management</report>
                                    <report>dependencies</report>
                                    <report>dependency-convergence</report>
                                    <report>dependency-management</report>
                                    <report>index</report>
                                    <report>issue-management</report>
                                    <report>licenses</report>
                                    <report>mailing-lists</report>
                                    <report>plugin-management</report>
                                    <report>team</report>
                                    <report>scm</report>
                                    <report>summary</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-report-plugin</artifactId>
                        <version>3.5.5</version>
                        <reportSets>
                            <reportSet>
                                <reports>
                                    <report>report</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>

                </plugins>
            </reporting>

        </profile>

    </profiles>
</project>
