<?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>org.optaplanner</groupId>
  <artifactId>optaplanner-parent</artifactId>
  <packaging>pom</packaging>
  <version>9.42.0.Final</version>

  <name>OptaPlanner multiproject parent</name>
  <description>
    OptaPlanner 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 optaplanner-core.
  </description>
  <url>https://www.optaplanner.org</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.45.0</version.rewrite.plugin>
  </properties>

  <distributionManagement>
    <repository>
      <id>jboss-releases-repository</id>
      <name>JBoss Releases Repository</name>
      <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
    </repository>
    <snapshotRepository>
      <id>jboss-snapshots-repository</id>
      <name>JBoss Snapshot Repository</name>
      <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <repositories>
    <repository>
      <id>jboss-public-repository-group</id>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      <releases>
        <!-- Get releases only from Maven Central which is faster. -->
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <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>
        <!-- Only get SNAPSHOTS from JBoss repository,
             so it tries to get releases first (and only) from Maven Central. -->
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <scm>
    <connection>scm:git:git@github.com:kiegroup/optaplanner.git</connection>
    <developerConnection>scm:git:git@github.com:kiegroup/optaplanner.git</developerConnection>
    <url>https://github.com/kiegroup/optaplanner</url>
  </scm>
  <issueManagement>
    <system>jira</system>
    <url>https://issues.redhat.com/browse/PLANNER</url>
  </issueManagement>
  <developers>
    <developer>
      <name>All developers are listed on the team website</name>
      <url>https://www.optaplanner.org/community/team.html</url>
    </developer>
  </developers>
  <contributors>
    <contributor>
      <name>All contributors are listed on the team website</name>
      <url>https://www.optaplanner.org/community/team.html</url>
    </contributor>
  </contributors>
  <mailingLists>
    <mailingList>
      <name>setup</name>
      <subscribe>https://groups.google.com/forum/#!forum/optaplanner-dev</subscribe>
      <unsubscribe>https://groups.google.com/forum/#!forum/optaplanner-dev</unsubscribe>
    </mailingList>
  </mailingLists>

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

  <profiles>
    <profile>
      <id>fullProfile</id>
      <activation>
        <property>
          <name>full</name>
        </property>
      </activation>
      <modules>
        <module>optaplanner-docs</module>
        <module>build/optaplanner-javadoc</module>
        <module>build/optaplanner-distribution-internal</module>
      </modules>
    </profile>
    <profile>
      <id>default</id>
      <activation>
        <property>
          <name>!productized</name>
        </property>
      </activation>
      <modules>
        <module>optaplanner-operator</module>
      </modules>
    </profile>
    <profile>
      <!--
        Migration to OptaPlanner 9 involves upgrading to Quarkus 3, Spring Boot 3 and migrating to jakarta.* packages.
        OptaPlanner 8 remains compatible with Quarkus 2, Spring Boot 2 and javax.* packages.
        Both OptaPlanner 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>
