<?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>
  <name>Zeebe Journal</name>
  <artifactId>zeebe-journal</artifactId>
  <packaging>jar</packaging>

  <parent>
    <groupId>io.camunda</groupId>
    <artifactId>zeebe-parent</artifactId>
    <version>1.2.6</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>

  <dependencies>
    <dependency>
      <groupId>org.agrona</groupId>
      <artifactId>agrona</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>io.prometheus</groupId>
      <artifactId>simpleclient</artifactId>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>uk.co.real-logic</groupId>
      <artifactId>sbe-tool</artifactId>
    </dependency>

    <dependency>
      <groupId>io.camunda</groupId>
      <artifactId>zeebe-protocol</artifactId>
    </dependency>

    <dependency>
      <groupId>io.camunda</groupId>
      <artifactId>zeebe-util</artifactId>
    </dependency>
  </dependencies>


  <build>
    <plugins>
      <!-- LICENSE PLUGIN -->
      <plugin>
        <artifactId>license-maven-plugin</artifactId>
        <configuration>
          <!--
             Will only add license headers if file has none, to only add our copyright
             to new added files. We need to make sure that the old ONF copyrights are saved
             and not replaced accidentally.
          -->
          <skipExistingHeaders>true</skipExistingHeaders>
        </configuration>
        <groupId>com.mycila</groupId>
      </plugin>

      <!-- FOR SBE -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources combine.children="append"><!-- merging with parent
                  config for benchmarks -->
                <source>${project.build.directory}/generated-sources/sbe</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>java</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <executableDependency>
            <groupId>uk.co.real-logic</groupId>
            <artifactId>sbe</artifactId>
          </executableDependency>
          <mainClass>uk.co.real_logic.sbe.SbeTool</mainClass>
          <arguments>
            <argument>${project.build.resources[0].directory}/journal-schema.xml</argument>
          </arguments>
          <workingDirectory>${project.build.directory}/generated-sources</workingDirectory>
          <!-- system properties defined in zeebe-parent -->
        </configuration>
        <dependencies>
          <dependency>
            <groupId>uk.co.real-logic</groupId>
            <artifactId>sbe-all</artifactId>
            <version>${version.sbe}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <configuration>
          <usedDependencies>
            <!-- dependency used but plugin seems to report a false positive here -->
            <dependency>uk.co.real-logic:sbe-tool</dependency>
            <!--
              ensures that zeebe-protocol is built first, preventing concurrent executions
              of the sbe-tool
            -->
            <dependency>io.camunda:zeebe-protocol</dependency>
          </usedDependencies>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <license.header>com/mycila/maven/plugin/license/templates/APACHE-2.txt</license.header>
  </properties>

</project>
