<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.technologybrewery</groupId>
        <artifactId>parent</artifactId>
        <version>8</version>
    </parent>

    <groupId>org.technologybrewery.fermenter</groupId>
    <version>2.10.2</version>
    <artifactId>root</artifactId>
    <packaging>pom</packaging>

    <name>Fermenter</name>
    <description>
        In brewing, a fermenter is a vessel in which unfinished ingredients become nearly finished beer.
        In Model Driven Architecture, Fermenter is a project that converts functional concepts into nearly finished
        applications. This approach allows for the quick definition and assembly of applications with the focus on
        functional concepts rather than technical underpinnings. Fermenter is an MDA engine that allows common
        concepts to be modeled and spawn any number of generated source files. In turn, this allows developers
        to focus more time on business logic, less time on technical underpinnings, and achieve extremely high levels
        of architectural conformity.
    </description>
    <url>https://github.com/TechnologyBrewery/fermenter</url>

    <licenses>
        <license>
            <name>MIT License</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Ryan Ashcraft</name>
            <email>dryanashcraft@gmail.com</email>
            <organization>Technology Brewery</organization>
            <organizationUrl>https://technologybrewery.org</organizationUrl>
        </developer>
        <developer>
            <name>Eric Konieczny</name>
            <email>ekoniec1@gmail.com</email>
            <organization>Technology Brewery</organization>
            <organizationUrl>https://technologybrewery.org</organizationUrl>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:ssh://git@github.com/TechnologyBrewery/fermenter.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/TechnologyBrewery/fermenter.git</developerConnection>
        <url>https://github.com/TechnologyBrewery/fermenter</url>
        <tag>root-2.10.2</tag>
    </scm>

    <modules>
        <module>test-primer</module>
        <module>fermenter-mda</module>
    </modules>

    <properties>
        <cucumber.version>1.2.6</cucumber.version>
        <log4j.version>2.7</log4j.version>
        <slf4j.version>2.0.7</slf4j.version>
    </properties>

    <dependencyManagement>
        <!-- Leaving these here for the time being as we may merge some other high-level mda projects into sub-modules -->
        <dependencies>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.14.0</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.16.0</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>4.4</version>
                <scope>compile</scope>
            </dependency>
            <!-- Dependency of Json Schema Validator -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>33.1.0-jre</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${cucumber.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>${cucumber.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <systemPropertyVariables>
                            <KRAUSENING_BASE>${project.basedir}/src/test/resources/krausening/base</KRAUSENING_BASE>
                            <KRAUSENING_EXTENSIONS>${project.basedir}/src/test/resources/krausening/extensions
                            </KRAUSENING_EXTENSIONS>
                            <KRAUSENING_PASSWORD>dev</KRAUSENING_PASSWORD>
                            <cucumber.options>--tags ~@manual</cucumber.options>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>net.masterthought</groupId>
                    <artifactId>maven-cucumber-reporting</artifactId>
                    <version>5.7.5</version>
                    <executions>
                        <execution>
                            <id>execution</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <configuration>
                                <projectName>fermenter</projectName>
                                <outputDirectory>${project.build.directory}/cucumber-html-reports</outputDirectory>
                                <jsonFiles>
                                    <!-- supports wildcard or name pattern -->
                                    <param>**/*.json</param>
                                </jsonFiles>
                                <checkBuildResult>false</checkBuildResult>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>

</project>
