<?xml version="1.0" encoding="UTF-8"?>
<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>

    <parent>
        <groupId>org.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>22.0.0.redhat-1</version>
        <relativePath />
    </parent>

    <groupId>org.jboss.windup</groupId>
    <artifactId>windup-parent</artifactId>
    <version>6.1.2.Final-redhat-00001</version>
    <packaging>pom</packaging>

    <name>Windup Parent</name>
    <description>Migration Tools</description>

    <properties>
        <version.forge>3.10.0.Final</version.forge>
        <version.furnace>2.29.1.Final</version.furnace>
        <version.titangraph>1.0.0</version.titangraph>
        <version.janusgraph>0.3.1</version.janusgraph>
        <version.tinkerpop.blueprints>3.3.3</version.tinkerpop.blueprints>
        <version.freemarker>2.3.31</version.freemarker>
        <version.jacoco>0.7.9</version.jacoco>

        <windup.scm.connection>scm:git:https://github.com/windup/windup.git</windup.scm.connection>
        <windup.developer.connection>scm:git:git@github.com:windup/windup.git</windup.developer.connection>
        <windup.scm.url>http://github.com/windup/windup</windup.scm.url>

        <!-- This keeps javadoc from failing on projects with no actual .java source files -->
        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>

        <skipDeleteDeps>true</skipDeleteDeps> <!-- Don't delete deps from local repo by default. -->
        <forkCount>.5C</forkCount>
        <jacoco.argLine /> <!-- Will be set by the JaCoCo Maven plugin when active. -->
        <furnace.dot.skip>true</furnace.dot.skip> <!-- Default to not spending time generating the (expensive to generate) dot files -->

        <surefire-argLine>-Xms512m -Xmx2048m -XX:MaxMetaspaceSize=768m -XX:ReservedCodeCacheSize=128m</surefire-argLine>
    </properties>

    <scm>
        <tag>master</tag>
        <connection>${windup.scm.connection}</connection>
        <developerConnection>${windup.developer.connection}</developerConnection>
        <url>${windup.scm.url}</url>
    </scm>

    <issueManagement>
        <system>JBoss Jira</system>
        <url>https://issues.jboss.org/browse/WINDUP</url>
    </issueManagement>
    <mailingLists>
        <mailingList>
            <name>Windup Rules Development and Usage</name>
            <post>windup-users@lists.jboss.org</post>
            <archive>http://lists.jboss.org/pipermail/windup-users/</archive>
        </mailingList>
        <mailingList>
            <name>Windup Core Development</name>
            <post>windup-dev@lists.jboss.org</post>
            <archive>http://lists.jboss.org/pipermail/windup-dev/</archive>
        </mailingList>
    </mailingLists>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <repositories>
        
    </repositories>

    <modules>
        <module>bom</module>
        <module>windup-test-harness</module>
        <module>module-spec</module>
        <module>forks/jdt</module>
        <module>forks/gremlin-shaded</module>
        <module>graph</module>

        <module>config</module>
        <module>config-xml</module>
        <module>config-groovy</module>

        <module>decompiler</module>

        <module>java-ast</module>
        <module>rules-base</module>
        <module>rules-java</module>
        <module>rules-java-ee</module>
        <module>rules-java-archives</module>
        <module>rules-java-diva</module>
        <module>rules-tattletale</module>
        <module>rules-xml</module>
        <module>rules-yaml</module>

        <module>exec</module>
        <module>tooling</module>
        <module>reporting</module>
        <module>rules-java-project</module>
        <module>ui</module>

        <module>utils</module>
        <module>test-files</module>
        <module>tests</module>
        <module>test-util</module>
        <module>server-provider-spi</module>
        <module>bootstrap</module>
        <module>bootstraps-themed</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jboss.windup</groupId>
                <artifactId>windup-bom</artifactId>
                <version>6.1.2.Final-redhat-00001</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20160810</version>
            </dependency>
            <!-- WINDUP-1595  The version in Tattletale's POM is obsolete 3.15, let's force newer. -->
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.23.1.GA-redhat-00001</version>
            </dependency>

            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>1.3.1</version>
            </dependency>
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>javax.activation-api</artifactId>
                <version>1.2.0.redhat-00001</version>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.3.0.redhat-00003</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>2.3.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>2.3.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.13.2.redhat-00001</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.13.4.2-redhat-00001</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2.redhat-2</version>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.4.redhat-00002</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.11.0.redhat-00001</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1.redhat-00001</version>
            <scope>test</scope>
        </dependency>
    </dependencies>


    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>${testExcludeString}</exclude>
                    </excludes>
                    <!-- http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation -->
                    <argLine>${surefire-argLine}</argLine>
                    <reuseForks>false</reuseForks>
                </configuration>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.2</version>
                    <configuration>
                        <compilerVersion>11</compilerVersion>
                        <source>11</source>
                        <target>11</target>
                        <encoding>UTF-8</encoding>
                        <meminitial>128m</meminitial>
                        <maxmem>512m</maxmem>
                        <fork>true</fork>
                        <compilerArgs>
                            <arg>-J-Xss4m</arg>
                        </compilerArgs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.jboss.forge.furnace</groupId>
                    <artifactId>furnace-maven-plugin</artifactId>
                    <version>${version.furnace}</version>
                    <executions>
                        <execution>
                            <id>generate-dot</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>generate-dot</goal>
                            </goals>
                            <configuration>
                                <attach>true</attach>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>1.0.1</version>
                </plugin>
            </plugins>
        </pluginManagement>

    </build>

    <profiles>
        <profile>
            <id>non-release</id>
            <activation>
                <property>
                    <name>!performRelease</name>
                </property>
            </activation>
        </profile>

        <profile>
            <id>cleanup</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>deleteLocalRepoProjectArtifacts</id>
                                <goals>
                                    <goal>remove-project-artifact</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>deleteLocalRepoProjectDeps</id>
                                <goals>
                                    <goal>purge-local-repository</goal>
                                </goals>
                                <configuration>
                                    <skip>${skipDeleteDeps}</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>javadocDist</id>
            <properties>
                <javadoc.branding>Windup ${project.version} Javadoc</javadoc.branding>
            </properties>
            <build>
                <plugins>
                    <!-- Create overview.html from README.asciidoc. -->
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <version>1.5.2</version>
                        <executions>
                            <execution>
                                <id>render-asciidoc</id>
                                <phase>validate</phase>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <sourceDirectory>${basedir}</sourceDirectory>
                            <sourceDocumentName>README.asciidoc</sourceDocumentName>
                            <outputDirectory>${basedir}/build/target/</outputDirectory>
                            <backend>html5</backend>
                        </configuration>
                    </plugin>

                    <!-- Aggregate Javadoc. -->
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.10.2</version>
                        <executions>
                            <execution>
                                <id>javadocs-dist</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>aggregate-jar</goal>
                                </goals>
                                <configuration>
                                    <debug>true</debug>
                                    <verbose>true</verbose>
                                    <maxmemory>2400m</maxmemory>
                                    <encoding>ISO-8859-1</encoding> <!-- Workaround for non-UTF-8 javadoc comments. -->

                                    <overview>build/target/README.html</overview>
                                    <windowtitle>${javadoc.branding} API</windowtitle>
                                    <doctitle>${javadoc.branding} API</doctitle>
                                    <header>${javadoc.branding}</header>
                                    <footer>${javadoc.branding}</footer>

                                    <detectLinks>true</detectLinks>
                                    <additionalparam>-link http://docs.jboss.org/forge/javadoc/2.15.2-SNAPSHOT/</additionalparam>

                                    <includeDependencySources>true</includeDependencySources>
                                    <dependencySourceExcludes>
                                        <dependencySourceExclude>com.tinkerpop.frames:frames</dependencySourceExclude>
                                    </dependencySourceExcludes>
                                    <excludePackageNames>com.tinkerpop.frames,com.tinkerpop.frames.*,com.strobel.*,org.eclipse.*,org.jetbrains.*</excludePackageNames>

                                    <groups>
                                        <group>
                                            <title>Windup Rules</title>
                                            <packages>org.jboss.windup.rules.*</packages>
                                        </group>
                                        <group>
                                            <title>Windup Core</title>
                                            <packages>org.jboss.windup.*</packages>
                                        </group>
                                    </groups>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- profile primary for CI, but using locally is good too -->
        <profile>
            <id>findbugs</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>findbugs-maven-plugin</artifactId>
                        <version>${version.findbugs.plugin}</version>
                        <configuration>
                            <!--
                                Enables analysis which takes more memory but finds more bugs.
                                If you run out of memory, changes the value of the effort element
                                to 'Low'.
                            -->
                            <effort>Max</effort>
                            <!-- Build doesn't fail if problems are found -->
                            <failOnError>false</failOnError>
                            <!-- Reports all bugs (other values are medium and max) -->
                            <threshold>Low</threshold>
                            <!-- Produces XML report -->
                            <xmlOutput>true</xmlOutput>
                            <!-- Configures the directory in which the XML report is created -->
                            <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory>
                            <onlyAnalyze>org.jboss.windup.*</onlyAnalyze>
                            <maxHeap>1024</maxHeap>
                        </configuration>
                        <executions>
                            <!--
                                Ensures that FindBugs inspects source code when project is compiled.
                            -->
                            <execution>
                                <id>analyze-compile</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <configuration>
                            <transformationSets>
                                <transformationSet>
                                    <!-- Configures the source directory of XML files. -->
                                    <dir>${project.build.directory}/findbugs</dir>
                                    <!-- Configures the directory in which the FindBugs report is written.-->
                                    <outputDir>${project.build.directory}/findbugs</outputDir>
                                    <!-- Selects the used stylesheet. -->
                                    <stylesheet>default.xsl</stylesheet>
                                    <fileMappers>
                                        <!-- Configures the file extension of the output files. -->
                                        <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                                            <targetExtension>.html</targetExtension>
                                        </fileMapper>
                                    </fileMappers>
                                </transformationSet>
                            </transformationSets>
                        </configuration>
                        <executions>
                            <!-- Ensures that the XSLT transformation is run when the project is compiled. -->
                            <execution>
                                <phase>compile</phase>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>com.google.code.findbugs</groupId>
                                <artifactId>findbugs</artifactId>
                                <version>3.0.1</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>jacoco</id>
            <modules>
                <!-- Relying on Maven to build this module as the last one. -->
                <module>coverage-report</module>
            </modules>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>${testExcludeString}</exclude>
                            </excludes>
                            <!-- http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation -->
                            <argLine>-Xms512m -Xmx2048m -XX:MaxMetaspaceSize=768m -XX:ReservedCodeCacheSize=128m @{jacoco.argLine}</argLine>
                            <reuseForks>false</reuseForks>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco}</version>
                        <executions>
                            <execution>
                                <id>default-prepare-agent</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <includes>
                                        <include>org.jboss.windup.*</include>
                                    </includes>
                                    <propertyName>jacoco.argLine</propertyName>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>surefire-jdk11</id>
            <activation>
                <property>
                    <name>jdk.version</name>
                    <value>11</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>${testExcludeString}</exclude>
                                <exclude>org.jboss.windup.tests.application.WindupArchitectureMediumBinaryModeProcyonTest</exclude>
                            </excludes>
                            <!-- http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation -->
                            <argLine>${surefire-argLine} --add-modules java.se</argLine>
                            <reuseForks>false</reuseForks>
                            <forkCount>1</forkCount>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>


</project>
<!--
Modified by POM Manipulation Extension for Maven 4.15 ( SHA: 2abd964c )
-->
