<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2026 Contributors to the Eclipse Foundation.
    Copyright (c) 2012, 2025 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd" child.project.url.inherit.append.path="false">

    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>2.0.2</version>
        <relativePath />
    </parent>

    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-ri-bom</artifactId>

    <version>4.0.4</version>
    <packaging>pom</packaging>

    <name>JAX-WS RI Bill-of-Materials (BOM)</name>
    <description>JAX-WS Reference Implementation Bill-of-Materials (BOM)</description>
    <url>https://eclipse-ee4j.github.io/metro-jax-ws</url>

    <scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
        <connection>scm:git:git@github.com:eclipse-ee4j/metro-jax-ws.git</connection>
        <developerConnection>scm:git:git@github.com:eclipse-ee4j/metro-jax-ws.git</developerConnection>
        <url>https://github.com/eclipse-ee4j/metro-jax-ws</url>
        <tag>4.0.4</tag>
    </scm>

    <issueManagement>
        <system>github</system>
        <url>https://github.com/eclipse-ee4j/metro-jax-ws/issues</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>Eclipse Metro mailing list</name>
            <post>metro-dev@eclipse.org</post>
            <subscribe>https://accounts.eclipse.org/mailing-list/metro-dev</subscribe>
            <unsubscribe>https://accounts.eclipse.org/mailing-list/metro-dev</unsubscribe>
            <archive>https://dev.eclipse.org/mhonarc/lists/metro-dev</archive>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>lukasj</id>
            <name>Lukas Jungmann</name>
            <email>lukas.jungmann@oracle.com</email>
            <organization>Oracle Corporation</organization>
        </developer>
        <developer>
            <id>dmatej</id>
            <name>David Matejcek</name>
            <email>david.matejcek@omnifish.ee</email>
            <organization>OmniFish</organization>
        </developer>
        <developer>
            <id>bravehorsie</id>
            <name>Roman Grigoriadi</name>
            <email>Roman.Grigoriadi@oracle.com</email>
        </developer>
        <developer>
            <id>zhengjl</id>
            <name>Zheng Jun Li</name>
            <email>zheng.jun.li@oracle.com</email>
        </developer>
    </developers>

    <properties>
        <activation-api.version>2.1.4</activation-api.version>
        <angus-activation.version>2.0.3</angus-activation.version>
        <jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
        <fastinfoset.version>2.1.1</fastinfoset.version>
        <gmbal.version>4.1.1</gmbal.version>
        <ha-api.version>3.1.13</ha-api.version>
        <istack.plugin.version>4.1.2</istack.plugin.version>
        <jaxb-api.version>4.0.4</jaxb-api.version>
        <jaxb.version>4.0.6</jaxb.version>
        <management-api.version>3.3.0</management-api.version>
        <mimepull.version>1.10.0</mimepull.version>
        <saaj-api.version>3.0.2</saaj-api.version>
        <saaj-impl.version>3.0.4</saaj-impl.version>
        <streambuffer.version>2.1.0</streambuffer.version>
        <stax-api.version>2.1.0</stax-api.version>
        <stax2-api.version>4.2.2</stax2-api.version>
        <woodstox-core.version>7.1.1</woodstox-core.version>
        <xml.ws-api.version>4.0.3</xml.ws-api.version>
    </properties>

    <dependencyManagement>
        <dependencies>

            <!-- Parsers -->
            <dependency>
                <groupId>com.fasterxml.woodstox</groupId>
                <artifactId>woodstox-core</artifactId>
                <version>${woodstox-core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>stax2-api</artifactId>
                <version>${stax2-api.version}</version>
            </dependency>

            <!-- Source artifacts -->
            <dependency>
                <groupId>com.sun.xml.stream.buffer</groupId>
                <artifactId>streambuffer</artifactId>
                <version>${streambuffer.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>org.jvnet.mimepull</groupId>
                <artifactId>mimepull</artifactId>
                <version>${mimepull.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.soap</groupId>
                <artifactId>jakarta.xml.soap-api</artifactId>
                <version>${saaj-api.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.messaging.saaj</groupId>
                <artifactId>saaj-impl</artifactId>
                <version>${saaj-impl.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>${xml.ws-api.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>org.glassfish.gmbal</groupId>
                <artifactId>gmbal-api-only</artifactId>
                <version>${gmbal.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>org.glassfish.external</groupId>
                <artifactId>management-api</artifactId>
                <version>${management-api.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <!-- Binary -->
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-bom</artifactId>
                <version>${jaxb.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.sun.xml.stream.buffer</groupId>
                <artifactId>streambuffer</artifactId>
                <version>${streambuffer.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jvnet.mimepull</groupId>
                <artifactId>mimepull</artifactId>
                <version>${mimepull.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>${activation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.angus</groupId>
                <artifactId>angus-activation</artifactId>
                <version>${angus-activation.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.xml.soap</groupId>
                <artifactId>jakarta.xml.soap-api</artifactId>
                <version>${saaj-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.messaging.saaj</groupId>
                <artifactId>saaj-impl</artifactId>
                <version>${saaj-impl.version}</version>
            </dependency>

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

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

            <!-- To be removed (make optional) in the future -->
            <dependency>
                <groupId>org.glassfish.ha</groupId>
                <artifactId>ha-api</artifactId>
                <version>${ha-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.gmbal</groupId>
                <artifactId>gmbal-api-only</artifactId>
                <version>${gmbal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.external</groupId>
                <artifactId>management-api</artifactId>
                <version>${management-api.version}</version>
            </dependency>

            <!-- Distribution Artifacts -->
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws-tools</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws-eclipselink-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>sdo-eclipselink-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws-ri</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
            </dependency>

            <!-- Does it really belong here? -->
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.6.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.4.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.12.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>3.2.8</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>3.1.4</version>
                </plugin>
                <plugin>
                    <groupId>org.sonatype.central</groupId>
                    <artifactId>central-publishing-maven-plugin</artifactId>
                    <version>0.10.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>flatten-maven-plugin</artifactId>
                    <version>1.7.3</version>
                    <configuration>
                        <updatePomFile>true</updatePomFile>
                        <flattenedPomFilename>${project.build.directory}/flattened-pom.xml</flattenedPomFilename>
                    </configuration>
                    <executions>
                        <execution>
                            <id>flat-jar</id>
                            <goals>
                                <goal>flatten</goal>
                            </goals>
                            <configuration>
                                <flattenMode>oss</flattenMode>
                                <pomElements>
                                    <url />
                                    <scm />
                                    <repositories>flatten</repositories>
                                    <distributionManagement>flatten</distributionManagement>
                                </pomElements>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>2.21.0</version>
                    <configuration>
                        <ruleSet>
                            <rules>
                                <rule>
                                    <!-- 4.2.0+ comes with no SecurityManager support -->
                                    <groupId>com.sun.istack</groupId>
                                    <ignoreVersions>
                                        <ignoreVersion>
                                            <type>regex</type>
                                            <version>4.[2-9]+.*</version>
                                        </ignoreVersion>
                                    </ignoreVersions>
                                </rule>
                            </rules>
                        </ruleSet>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <profiles>
        <profile>
            <id>oss-release</id>
            <properties>
                <release.projectName>Eclipse JAX-WS RI ${project.version}</release.projectName>
                <!-- Do not autopublish by default -->
                <release.autoPublish>false</release.autoPublish>
                <!-- By default block until everything is really published -->
                <release.waitUntil>published</release.waitUntil>
            </properties>
        </profile>
    </profiles>
</project>
