<?xml version="1.0" encoding="UTF-8"?>

<!--
 ~ JBoss, Home of Professional Open Source.
 ~ Copyright 2023 Red Hat, Inc., and individual contributors
 ~ as indicated by the @author tags.
 ~
 ~ 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.
 -->


<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>

    <groupId>org.jboss.remotingjmx</groupId>
    <artifactId>remoting-jmx</artifactId>
    <version>3.2.0.Alpha1</version>

    <parent>
        <groupId>org.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>50</version>
    </parent>

    <name>Remoting JMX</name>
    <description>JMX Connector over the JBoss Remoting transport.</description>
    <url>https://github.com/wildfly/remoting-jmx</url>

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

    <developers>
        <developer>
            <name>Darran Lofthouse</name>
            <email>darran.lofthouse@jboss.com</email>
            <organization>WildFly</organization>
            <organizationUrl>https://www.wildfly.org/</organizationUrl>
        </developer>
    </developers>

    <properties>
        <!-- Nexus Settings -->
        <nexus.repository.staging>wildfly-staging</nexus.repository.staging>
        <nexus.staging.tag>remoting-jmx-${project.version}</nexus.staging.tag>
        <!-- Release repository inherited from jboss-parent -->

        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>

        <version.junit>4.13.2</version.junit>
        <version.org.jboss.logging>3.6.1.Final</version.org.jboss.logging>
        <version.org.jboss.logging.tools>3.0.4.Final</version.org.jboss.logging.tools>
        <version.org.jboss.logmanager>2.1.19.Final</version.org.jboss.logmanager>
        <version.org.jboss.marshalling>2.2.3.Final</version.org.jboss.marshalling>
        <version.org.jboss.modules>2.1.6.Final</version.org.jboss.modules>
        <version.org.jboss.remoting>5.0.31.Final</version.org.jboss.remoting>
        <version.org.jboss.threads>3.9.1</version.org.jboss.threads>
        <version.org.jboss.xnio>3.8.16.Final</version.org.jboss.xnio>
        <version.org.wildfly.client>1.0.1.Final</version.org.wildfly.client>
        <version.org.wildfly.common>1.7.0.Final</version.org.wildfly.common>
        <version.org.wildfly.security>2.6.4.Final</version.org.wildfly.security>
        <version.surefire.plugin>3.1.2</version.surefire.plugin>
    </properties>

    <build>
        <plugins>
            <plugin>
                <!-- Release Plugin Configuration -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <!-- Prepare -->
                    <tagNameFormat>@{project.version}</tagNameFormat>
                    <pushChanges>false</pushChanges>
                    <!-- Perform -->
                    <localCheckout>true</localCheckout>
                </configuration>
            </plugin>

            <!-- Surefire -->
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <systemPropertyVariables>
                      <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                    </systemPropertyVariables>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <trimStackTrace>false</trimStackTrace>
                    <printSummary>true</printSummary>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                    <forkMode>always</forkMode>
                </configuration>
            </plugin>

            <!-- Bytecode plugin for version string in Main -->
            <plugin>
                <groupId>org.jboss.maven.plugins</groupId>
                <artifactId>maven-injection-plugin</artifactId>
                <version>1.0.2</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>bytecode</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <bytecodeInjections>
                        <bytecodeInjection>
                            <expression>${project.version}</expression>
                            <targetMembers>
                                <methodBodyReturn>
                                    <className>org.jboss.remotingjmx.Version</className>
                                    <methodName>getVersionString</methodName>
                                </methodBodyReturn>
                            </targetMembers>
                        </bytecodeInjection>
                    </bytecodeInjections>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
        	<plugins>
        		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        		<plugin>
        			<groupId>org.eclipse.m2e</groupId>
        			<artifactId>lifecycle-mapping</artifactId>
        			<version>1.0.0</version>
        			<configuration>
        				<lifecycleMappingMetadata>
        					<pluginExecutions>
        						<pluginExecution>
        							<pluginExecutionFilter>
        								<groupId>
        									org.jboss.maven.plugins
        								</groupId>
        								<artifactId>
        									maven-injection-plugin
        								</artifactId>
        								<versionRange>
        									[1.0.2,)
        								</versionRange>
        								<goals>
        									<goal>bytecode</goal>
        								</goals>
        							</pluginExecutionFilter>
        							<action>
        								<ignore />
        							</action>
        						</pluginExecution>
        					</pluginExecutions>
        				</lifecycleMappingMetadata>
        			</configuration>
        		</plugin>
        	</plugins>
        </pluginManagement>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.jboss.logmanager</groupId>
            <artifactId>jboss-logmanager</artifactId>
            <version>${version.org.jboss.logmanager}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <version>${version.org.jboss.logging}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
            <version>${version.org.jboss.logging.tools}</version>
            <!-- Needed for compiling this project only -->
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-annotations</artifactId>
            <version>${version.org.jboss.logging.tools}</version>
            <!-- Needed for compiling this project only -->
            <optional>true</optional>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.marshalling</groupId>
            <artifactId>jboss-marshalling</artifactId>
            <version>${version.org.jboss.marshalling}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.marshalling</groupId>
            <artifactId>jboss-marshalling-river</artifactId>
            <version>${version.org.jboss.marshalling}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.modules</groupId>
            <artifactId>jboss-modules</artifactId>
            <version>${version.org.jboss.modules}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.jboss.remoting</groupId>
            <artifactId>jboss-remoting</artifactId>
            <version>${version.org.jboss.remoting}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.xnio</groupId>
            <artifactId>xnio-api</artifactId>
            <version>${version.org.jboss.xnio}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.xnio</groupId>
            <artifactId>xnio-nio</artifactId>
            <version>${version.org.jboss.xnio}</version>
        </dependency>
        <dependency>
            <groupId>org.wildfly.client</groupId>
            <artifactId>wildfly-client-config</artifactId>
            <version>${version.org.wildfly.client}</version>
        </dependency>
        <dependency>
            <groupId>org.wildfly.common</groupId>
            <artifactId>wildfly-common</artifactId>
            <version>${version.org.wildfly.common}</version>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron</artifactId>
            <version>${version.org.wildfly.security}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.threads</groupId>
            <artifactId>jboss-threads</artifactId>
            <version>${version.org.jboss.threads}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${version.junit}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <scm>
        <connection>scm:git:git://github.com/jbossas/remoting-jmx.git</connection>
        <developerConnection>scm:git:git@github.com:jbossas/remoting-jmx.git</developerConnection>
        <url>https://github.com/jbossas/remoting-jmx</url>
      <tag>3.2.0.Alpha1</tag>
  </scm>
</project>
