<?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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.kie.kogito</groupId>
    <artifactId>kogito-bom-parent</artifactId>
    <version>0.3.0</version>
    <!-- relativePath causes out-of-date problems on hudson slaves -->
    <!--<relativePath>../droolsjbpm-build-bootstrap/pom.xml</relativePath> -->
  </parent>

  <artifactId>kogito-examples</artifactId>
  <packaging>pom</packaging>

  <name>Kogito Example</name>
  <description>Kogito Example</description>

  <properties>
    <surefire.forkCount>1</surefire.forkCount>
    <alphanetworkCompilerEnabled>false</alphanetworkCompilerEnabled>
  </properties>

  <repositories>
    <!-- Bootstrap repository to locate the parent pom when the parent pom
      has not been build locally. -->
    <repository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
    </repository>
  </repositories>
  
  <scm>
    <connection>scm:git:https://github.com/kiegroup/kogito-examples.git</connection>
    <developerConnection>scm:git:git@github.com:kiegroup/kogito-examples.git</developerConnection>
    <url>https://github.com/kiegroup/kogito-examples</url>
  </scm>
  
  <modules>
    <module>drools-quarkus-example</module>
    <module>drools-quarkus-unit-example</module>
    <module>drools-polyglot-example</module>      
    <module>jbpm-quarkus-helloworld</module>
    <module>jbpm-quarkus-example</module>
    <module>jbpm-springboot-example</module>
    <module>onboarding-example</module>
    <module>jbpm-polyglot-example</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>kogito-bom</artifactId>
        <version>${version.org.kie.kogito}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>drools-bom</artifactId>
        <version>${version.org.kie.kogito}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>jbpm-bom</artifactId>
        <version>${version.org.kie.kogito}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- make sure that kogito dependencies are taken from current version instead of quarkus bom -->
       <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>kogito-api</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>drools-model-compiler</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>drools-core</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>drools-core-static</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
          <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>kogito-codegen</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>drools-decisiontables</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>jbpm-flow</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>
      <dependency>
        <groupId>org.kie.kogito</groupId>
        <artifactId>jbpm-bpmn2</artifactId>
        <version>${version.org.kie.kogito}</version>
      </dependency>      
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <forkCount>${surefire.forkCount}</forkCount>
            <reuseForks>true</reuseForks>
            <runOrder>hourly</runOrder>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.kie.kogito</groupId>
          <artifactId>kogito-maven-plugin</artifactId>
          <version>${version.org.kie.kogito}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
        <!-- need at least maven 3.5.3, fail fast with actionable error rather than obscure errors like [ Error injecting: private org.eclipse.aether.spi.log.Logger org.apache.maven.repository.internal.DefaultVersionRangeResolver.logger ] -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M2</version>
          <executions>
            <execution>
              <id>enforce-maven</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.5.3+</version>
                  </requireMavenVersion>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
    </plugins>
    
  </build>

</project>
