<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         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.examples</groupId>
    <artifactId>kogito-examples</artifactId>
    <version>1.20.0.Final</version>
  </parent>

  <artifactId>kogito-springboot-examples</artifactId>
  <packaging>pom</packaging>
  <name>Kogito Example :: Spring Boot</name>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-spring-boot-starter-remote</artifactId>
        <version>${version.org.infinispan}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <id>default</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <modules>
        <module>decisiontable-springboot-example</module>
        <module>dmn-drools-springboot-metrics</module>
        <module>dmn-event-driven-springboot</module>
        <module>dmn-listener-springboot</module>
        <module>dmn-pmml-springboot-example</module>
        <module>dmn-springboot-example</module>
        <module>dmn-tracing-springboot</module>
        <module>flexible-process-springboot</module>
        <module>pmml-event-driven-springboot</module>
        <module>pmml-springboot-example</module>
        <module>process-business-rules-springboot</module>
        <module>process-decisions-rest-springboot</module>
        <module>process-decisions-springboot</module>
        <module>process-infinispan-persistence-springboot</module>
        <module>process-kafka-multi-springboot</module>
        <module>process-kafka-quickstart-springboot</module>
        <module>process-mongodb-persistence-springboot</module>
        <module>process-monitoring-springboot</module>
        <module>process-optaplanner-springboot</module>
        <module>process-outbox-mongodb-springboot</module>
        <module>process-performance-springboot</module>
        <module>process-postgresql-persistence-springboot</module>
        <module>process-rest-service-call-springboot</module>
        <module>process-scripts-springboot</module>
        <module>process-service-calls-springboot</module>
        <module>process-springboot-example</module>
        <module>process-timer-springboot</module>
        <module>process-usertasks-custom-lifecycle-springboot</module>
        <module>process-usertasks-springboot-with-console</module>
        <module>process-usertasks-springboot</module>
        <module>process-usertasks-with-security-oidc-springboot-with-console</module>
        <module>process-usertasks-with-security-oidc-springboot</module>
        <module>process-usertasks-with-security-springboot</module>
        <module>rules-legacy-springboot-example</module>
        <module>ruleunit-event-driven-springboot</module>
        <module>ruleunit-springboot-example</module>        
      </modules>
    </profile>

    <profile>
      <id>persistence</id>
      <activation>
        <property>
          <name>persistence</name>
        </property>
      </activation>
      <properties>
        <tests.category>persistence</tests.category>
      </properties>
      <modules>
        <module>onboarding-springboot</module>
        <module>process-postgresql-persistence-springboot</module>
        <module>process-springboot-example</module>
      </modules>
    </profile>

    <profile>
      <id>jdbc-persistence</id>
      <activation>
        <property>
          <name>jdbc-persistence</name>
        </property>
      </activation>

      <modules>
        <module>process-postgresql-persistence-springboot</module>
      </modules>
    </profile>

    <profile>
      <id>events</id>
      <activation>
        <property>
          <name>events</name>
        </property>
      </activation>
      <modules>
        <module>process-springboot-example</module>
      </modules>
    </profile>

    <profile>
      <id>productized</id>
      <activation>
        <property>
          <name>productized</name>
        </property>
      </activation>
      <modules>
        <module>dmn-drools-springboot-metrics</module>
        <module>dmn-event-driven-springboot</module>
        <module>dmn-listener-springboot</module>
        <module>dmn-pmml-springboot-example</module>
        <module>dmn-springboot-example</module>
        <module>pmml-event-driven-springboot</module>
        <module>pmml-springboot-example</module>
        <module>rules-legacy-springboot-example</module>
        <module>ruleunit-event-driven-springboot</module>
        <module>ruleunit-springboot-example</module>
      </modules>
    </profile>

    <profile>
      <id>springboot</id>
      <activation>
        <property>
          <name>springboot</name>
        </property>
      </activation>
      <modules>
        <module>decisiontable-springboot-example</module>
        <module>dmn-drools-springboot-metrics</module>
        <module>dmn-event-driven-springboot</module>
        <module>dmn-listener-springboot</module>
        <module>dmn-pmml-springboot-example</module>
        <module>dmn-springboot-example</module>
        <module>dmn-tracing-springboot</module>
        <module>flexible-process-springboot</module>
        <module>pmml-event-driven-springboot</module>
        <module>pmml-springboot-example</module>
        <module>process-business-rules-springboot</module>
        <module>process-infinispan-persistence-springboot</module>
        <module>process-kafka-multi-springboot</module>
        <module>process-kafka-quickstart-springboot</module>
        <module>process-mongodb-persistence-springboot</module>
        <module>process-monitoring-springboot</module>
        <module>process-optaplanner-springboot</module>
        <module>process-outbox-mongodb-springboot</module>
        <module>process-postgresql-persistence-springboot</module>
        <module>process-rest-service-call-springboot</module>
        <module>process-scripts-springboot</module>
        <module>process-service-calls-springboot</module>
        <module>process-springboot-example</module>
        <module>process-timer-springboot</module>
        <module>process-usertasks-custom-lifecycle-springboot</module>
        <module>process-usertasks-springboot-with-console</module>
        <module>process-usertasks-springboot</module>
        <module>process-usertasks-with-security-oidc-springboot-with-console</module>
        <module>process-usertasks-with-security-oidc-springboot</module>
        <module>process-usertasks-with-security-springboot</module>
        <module>ruleunit-springboot-example</module>
      </modules>
    </profile>

    <profile>
      <id>optaplanner-downstream</id>
      <activation>
        <property>
          <name>optaplanner</name>
        </property>
      </activation>
      <modules>
        <module>process-optaplanner-springboot</module>
      </modules>
    </profile>
  </profiles>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${version.org.springframework.boot}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

</project>
