<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.jboss</groupId>
    <artifactId>jboss-parent</artifactId>
    <version>39</version>
    <relativePath/>
  </parent>

  <groupId>ai.timefold.solver</groupId>
  <artifactId>timefold-solver-parent</artifactId>
  <packaging>pom</packaging>
  <version>0.8.40</version>

  <name>Timefold Solver multiproject parent</name>
  <description>
    Timefold solves planning problems.
    This lightweight, embeddable planning engine implements powerful and scalable algorithms
    to optimize business resource scheduling and planning.

    This module is just the multiproject parent. The planning engine itself is in timefold-solver-core.
  </description>
  <url>https://timefold.ai</url>
  <inceptionYear>2006</inceptionYear>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <properties>
    <!-- TODO: Evaluate if this override is still needed. -->
    <!-- The property sonar.projectKey is defined in the CI in order not to collide with optawebs. It overrides
         the default GroupId:ArtifactId to map both main branch and 7.x branches to the same SonarCloud project.
         As the sonar.moduleKey inherits the value of sonar.projectKey by default, we have to override it too. -->
    <sonar.moduleKey>${project.groupId}:${project.artifactId}</sonar.moduleKey>
    <version.rewrite.plugin>4.43.0</version.rewrite.plugin>
  </properties>

  <scm>
    <connection>scm:git:git@github.com:TimefoldAI/timefold-solver.git</connection>
    <developerConnection>scm:git:git@github.com:TimefoldAI/timefold-solver.git</developerConnection>
    <url>https://github.com/TimefoldAI/timefold-solver</url>
  </scm>
  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/TimefoldAI/solver/issues/</url>
  </issueManagement>
  <developers>
    <developer>
      <name>Timefold Community</name>
      <organization>Timefold</organization>
      <organizationUrl>https://timefold.ai</organizationUrl>
    </developer>
  </developers>

  <modules>
    <module>build/bom</module>
    <module>build/ide-config</module>
    <module>build/build-parent</module>
    <module>core</module>
    <module>persistence</module>
    <module>benchmark</module>
    <module>test</module>
    <module>spring-integration</module>
    <module>quarkus-integration</module>
    <module>migration</module>
    <module>examples</module>
  </modules>

  <profiles>
    <profile>
      <id>fullProfile</id>
      <activation>
        <property>
          <name>full</name>
        </property>
      </activation>
      <modules>
        <module>docs</module>
        <module>build/javadoc</module>
        <module>build/distribution-internal</module>
      </modules>
    </profile>
    <profile>
      <!--
        Migration to Timefold 9 involves upgrading to Quarkus 3, Spring Boot 3 and migrating to jakarta.* packages.
        Timefold 8 remains compatible with Quarkus 2, Spring Boot 2 and javax.* packages.
        Both Timefold 8 and 9 are functionally equal and will be released simultaneously.
      -->
      <id>8-to-9-migration</id>
      <activation>
        <property>
          <name>migration</name>
        </property>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.openrewrite.maven</groupId>
              <artifactId>rewrite-maven-plugin</artifactId>
              <version>${version.rewrite.plugin}</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>
</project>
