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

    <groupId>org.technologybrewery.mash</groupId>
    <artifactId>mash-parent</artifactId>
    <version>1.6.0</version>
    <packaging>pom</packaging>

    <name>Mash Mediation Platform</name>

    <description>In brewing, mashing passes raw ingredients through hot water to activate, hydrate, and convert 
	them for fermentation. Mash, the open source project, takes raw data payloads and provides a generic mediation 
	process to translate the payloads into a new output. This allows configuration-driven mediation to be plugged 
	into your application, which is especially important when dealing with ad-hoc tweaks that need to occur to payloads
	to add, remove, or alter them to conform to changing service payloads to/from other systems.</description>
    <url>https://github.com/TechnologyBrewery/mash</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/mash.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/TechnologyBrewery/mash.git</developerConnection>
        <url>https://github.com/TechnologyBrewery/mash</url>
        <tag>mash-parent-1.6.0</tag>
    </scm>

    <modules>
        <module>mash-core</module>
        <module>mash-jolt</module>
        <module>mash-velocity</module>
    </modules>

    <properties>
        <cucumber.version>1.2.5</cucumber.version>
        <jackson.version>2.9.0</jackson.version>
        <krausening.version>16</krausening.version>
        <log4j.version>2.19.0</log4j.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.6</version>
            </dependency>
            <dependency>
                <groupId>org.technologybrewery.krausening</groupId>
                <artifactId>krausening</artifactId>
                <version>16</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${cucumber.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</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>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>net.masterthought</groupId>
                <artifactId>maven-cucumber-reporting</artifactId>
                <version>3.16.0</version>
                <executions>
                    <execution>
                        <id>execution</id>
                        <!-- Generating the cucumber html reports in post integration test phase because the verify phase 
                            will fail the build without generating them, and we don't want to set the build to ignore failed tests because that's no 
                            bueno. (The checkBuildResult flag is actually sort of useless. It still won't generate in the verify phase if there are failed 
                            tests) This allows the reports to generate and the build to fail as well. -->
                        <!-- <phase>post-unit-test</phase> -->
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <projectName>cucumber-jvm-example</projectName>
                            <outputDirectory>${project.build.directory}/cucumber-html-reports</outputDirectory>
                            <cucumberOutput>${project.build.directory}/cucumber-html-reports</cucumberOutput>
                            <enableFlashCharts>true</enableFlashCharts>
                            <checkBuildResult>false</checkBuildResult>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
