<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>io.smallrye</groupId>
        <artifactId>smallrye-build-parent</artifactId>
        <version>46</version>
    </parent>

    <groupId>io.smallrye</groupId>
    <artifactId>jandex-parent</artifactId>
    <version>3.5.3</version>
    <packaging>pom</packaging>

    <name>Jandex: Parent</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <project.build.outputTimestamp>2025-12-02T17:48:03Z</project.build.outputTimestamp>

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

        <version.ant>1.10.15</version.ant>
        <version.bridger>1.6.Final</version.bridger>
        <version.bytebuddy>1.18.2</version.bytebuddy>
        <version.exec-maven-plugin>3.6.2</version.exec-maven-plugin>
        <version.gizmo2>2.0.0.Beta10</version.gizmo2>
        <version.groovy>4.0.29</version.groovy>
        <version.junit>5.13.4</version.junit>
        <version.maven>3.9.11</version.maven>
        <version.maven-bundle-plugin>5.1.9</version.maven-bundle-plugin>
        <version.maven-compiler-plugin>3.14.1</version.maven-compiler-plugin>
        <version.maven-dependency-plugin>3.6.1</version.maven-dependency-plugin>
        <version.maven-invoker-plugin>3.9.1</version.maven-invoker-plugin>
        <version.maven-plugin-tools>3.15.2</version.maven-plugin-tools>
        <version.maven-shade-plugin>3.5.1</version.maven-shade-plugin>
        <version.moditect>1.3.0.Final</version.moditect>
        <version.nexus-staging-maven-plugin>1.7.0</version.nexus-staging-maven-plugin>
        <version.mvn-jlink-wrapper>1.2.5</version.mvn-jlink-wrapper>
        <version.plexus-compiler-eclipse>2.15.0</version.plexus-compiler-eclipse>
        <version.plexus-utils>4.0.2</version.plexus-utils>
    </properties>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/smallrye/jandex/issues</url>
    </issueManagement>

    <scm>
        <connection>scm:git:git@github.com:smallrye/jandex.git</connection>
        <developerConnection>scm:git:git@github.com:smallrye/jandex.git</developerConnection>
        <url>https://github.com/smallrye/jandex/</url>
        <tag>3.5.3</tag>
    </scm>

    <modules>
        <module>core</module>
        <module>maven-plugin</module>
        <module>test-data</module>

        <module>benchmarks</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>jandex</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>jandex-test-data</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.quarkus.gizmo</groupId>
                <artifactId>gizmo2</artifactId>
                <version>${version.gizmo2}</version>
            </dependency>
            <dependency>
                <groupId>io.quarkus.gizmo</groupId>
                <artifactId>gizmo2</artifactId>
                <type>test-jar</type>
                <version>${version.gizmo2}</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${version.bytebuddy}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${version.ant}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>${version.maven}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-core</artifactId>
                <version>${version.maven}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugin-tools</groupId>
                <artifactId>maven-plugin-annotations</artifactId>
                <version>${version.maven-plugin-tools}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>${version.plexus-utils}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>${version.junit}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.maven-compiler-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.moditect</groupId>
                    <artifactId>moditect-maven-plugin</artifactId>
                    <version>${version.moditect}</version>
                    <configuration>
                        <overwriteExistingFiles>true</overwriteExistingFiles>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>${version.nexus-staging-maven-plugin}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>java8-incompatible-plugins</id>
            <activation>
                <jdk>1.8</jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>net.revelc.code.formatter</groupId>
                        <artifactId>formatter-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>format-sources</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>net.revelc.code</groupId>
                        <artifactId>impsort-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sort-imports</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>compiler-release-option</id>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
            <properties>
                <!-- setting this in a profile because the Java 8 compiler doesn't know the `release` option -->
                <maven.compiler.release>8</maven.compiler.release>
            </properties>
        </profile>

        <profile>
            <id>gizmo2-module</id>
            <activation>
                <jdk>[17,)</jdk>
            </activation>
            <modules>
                <module>gizmo2</module>
            </modules>
        </profile>

        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>!release.maven.bug.always.be.active</name>
                </property>
            </activation>
            <modules>
                <module>release</module>
            </modules>
        </profile>
    </profiles>
</project>
