<project 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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.terracotta.forge</groupId>
    <artifactId>forge-parent</artifactId>
    <version>7.0</version>
    <relativePath/>
  </parent>
  <groupId>org.terracotta</groupId>
  <artifactId>terracotta-root</artifactId>
  <version>4.4.0.7.7</version>
  <name>terracotta-root</name>
  <packaging>pom</packaging>
  <scm>
    <developerConnection>scm:git:https://github.com/Terracotta-OSS/dso.git</developerConnection>
  </scm>
  <properties>
    <build.edition>opensource</build.edition>
    <tc-shader.version>2.0</tc-shader.version>
    <skip.deploy>false</skip.deploy>
    <thirdparty-bom.version>4.4.0.7.7</thirdparty-bom.version>
    <groovy.version>4.0.12</groovy.version>
    <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version>
  </properties>
  <modules>
    <module>build-parent</module>
    <module>build-data</module>
    <module>common</module>
    <module>dso-l1-api</module>
    <module>dso-common</module>
    <module>dso-l2-common</module>
    <module>dso-l1</module>
    <module>dso-l2</module>
    <module>deploy</module>
    <module>legacy-test-tree</module>
    <module>dso-system-tests</module>
    <module>terracotta-parent</module>
    <module>terracotta</module>
    <module>terracotta-l1-parent</module>
    <module>terracotta-l1</module>
    <module>test-framework</module>
    <module>system-tests-parent</module>
    <module>toolkit-impl</module>
    <module>toolkit-express-impl</module>
    <module>toolkit-runtime</module>
    <module>management</module>
    <module>management-agent</module>
    <module>terracotta-samples</module>
    <module>server-script</module>
    <module>management-cli-oss</module>
  </modules>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.terracotta</groupId>
        <artifactId>thirdparty-bom-4.x</artifactId>
        <version>${thirdparty-bom.version}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.gmavenplus</groupId>
          <artifactId>gmavenplus-plugin</artifactId>
          <version>1.13.1</version>
          <executions>
            <execution>
              <phase>process-test-classes</phase>
              <goals>
                <goal>execute</goal>
              </goals>
              <configuration>
                <scripts>
                  <script>
                        new org.reflections.Reflections(["com", "org", "net"]).save(new File(project.build.directory, "reflections.xml").absolutePath)
                    </script>
                </scripts>
              </configuration>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>org.reflections</groupId>
              <artifactId>reflections</artifactId>
              <version>0.10.2</version>
            </dependency>
            <dependency>
              <groupId>org.apache.groovy</groupId>
              <artifactId>groovy</artifactId>
              <version>${groovy.version}</version>
              <scope>runtime</scope>
            </dependency>
            <dependency>
              <groupId>org.dom4j</groupId>
              <artifactId>dom4j</artifactId>
              <version>2.1.4</version>
            </dependency>
            <dependency>
              <groupId>org.apache.groovy</groupId>
              <artifactId>groovy-ant</artifactId>
              <version>${groovy.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.gmaven</groupId>
          <artifactId>groovy-maven-plugin</artifactId>
          <version>${groovy-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>3.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>5.1.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.4.2</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.2.1</version>
        </plugin>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.13</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.3.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>4.1</version>
        <configuration>
          <defaultBasedir>${project.basedir}</defaultBasedir>
          <licenseSets>
            <licenseSet>
              <inlineHeader>
                The contents of this file are subject to the Terracotta Public License Version
2.0 (the "License"); You may not use this file except in compliance with the
License. You may obtain a copy of the License at

     http://terracotta.org/legal/terracotta-public-license.

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.

The Covered Software is Terracotta Platform.

The Initial Developer of the Covered Software is
     Terracotta, Inc., a Software AG company</inlineHeader>
              <excludes>
                <exclude>**/target/**</exclude>
                <exclude>azure-pipelines.yml</exclude>
                <exclude>Jenkinsfile</exclude>
                <exclude>**/pom.xml</exclude>
                <exclude>**/README</exclude>
                <exclude>**/*.txt</exclude>
                <exclude>src/test/resources/**</exclude>
                <exclude>src/main/resources/**</exclude>
              </excludes>
            </licenseSet>
          </licenseSets>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.4.0</version>
        <configuration>
          <skip>${skipJavadoc}</skip>
          <source>8</source>
          <detectJavaApiLink>false</detectJavaApiLink>
          <doclint>none</doclint>
          <quiet>true</quiet>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>kit</id>
      <modules>
        <module>../bigmemory-max-kit</module>
      </modules>
    </profile>
    <profile>
      <id>foss-kit</id>
      <modules>
        <module>terracotta-kit</module>
      </modules>
    </profile>
    <profile>
      <id>cloud</id>
      <modules>
        <module>../cloud</module>
      </modules>
    </profile>
    <profile>
      <id>include-ee-modules</id>
      <properties>
        <build.edition>enterprise</build.edition>
      </properties>
      <activation>
        <file>
          <exists>../terracotta-ee/pom.xml</exists>
        </file>
      </activation>
      <modules>
        <module>../build-parent-ee</module>
        <module>../ent-common</module>
        <module>../ent-dso-l1</module>
        <module>../ent-dso-l2</module>
        <module>../ent-deploy</module>
        <module>../ent-system-tests</module>
        <module>../ent-active-active-tests</module>
        <module>../terracotta-ee</module>
        <module>../terracotta-l1-ee</module>
        <module>../ent-management-agent</module>
        <module>../management-ent-system-tests</module>
        <module>../toolkit-impl-ee</module>
        <module>../toolkit-express-impl-ee</module>
        <module>../toolkit-runtime-ee</module>
        <module>../toolkit-ee-system-tests</module>
        <module>../toolkit-lrt-system-tests</module>
      </modules>
    </profile>
    <profile>
      <id>terracotta-checkstyle</id>
      <activation>
        <file>
          <exists>devwork/terracotta-checkstyle</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/terracotta-checkstyle</module>
      </modules>
    </profile>
    <profile>
      <id>toolkit-api</id>
      <activation>
        <file>
          <exists>devwork/terracotta-toolkit-api</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/terracotta-toolkit-api</module>
      </modules>
    </profile>
    <profile>
      <id>toolkit-api-internal</id>
      <activation>
        <file>
          <exists>devwork/terracotta-toolkit-api-internal</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/terracotta-toolkit-api-internal</module>
      </modules>
    </profile>
    <profile>
      <id>ehcache-parent</id>
      <activation>
        <file>
          <exists>devwork/ehcache-parent</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/ehcache-parent</module>
      </modules>
    </profile>
    <profile>
      <id>ehcache</id>
      <activation>
        <file>
          <exists>devwork/ehcache</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/ehcache</module>
      </modules>
    </profile>
    <profile>
      <id>ehcache-ee</id>
      <activation>
        <file>
          <exists>devwork/ehcache-ee</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/ehcache-ee</module>
      </modules>
    </profile>
    <profile>
      <id>quartz</id>
      <activation>
        <file>
          <exists>devwork/quartz</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/quartz</module>
      </modules>
    </profile>
    <profile>
      <id>quartz-ee</id>
      <activation>
        <file>
          <exists>devwork/quartz-ee</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/quartz-ee</module>
      </modules>
    </profile>
    <profile>
      <id>management-core</id>
      <activation>
        <file>
          <exists>devwork/management-core</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/management-core</module>
      </modules>
    </profile>
    <profile>
      <id>management-common</id>
      <activation>
        <file>
          <exists>devwork/management-common</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/management-common</module>
      </modules>
    </profile>
    <profile>
      <id>management-apps</id>
      <activation>
        <file>
          <exists>devwork/management-apps</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/management-apps</module>
      </modules>
    </profile>
    <profile>
      <id>tc-messaging</id>
      <activation>
        <file>
          <exists>devwork/tc-messaging</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/tc-messaging</module>
      </modules>
    </profile>
    <profile>
      <id>ipc-eventbus</id>
      <activation>
        <file>
          <exists>devwork/ipc-eventbus</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/ipc-eventbus</module>
      </modules>
    </profile>
    <profile>
      <id>core-storage-api</id>
      <activation>
        <file>
          <exists>devwork/core-storage-api</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/core-storage-api</module>
      </modules>
    </profile>
    <profile>
      <id>heap-core-storage</id>
      <activation>
        <file>
          <exists>devwork/heap-core-storage</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/heap-core-storage</module>
      </modules>
    </profile>
    <profile>
      <id>bigmemory-core-storage</id>
      <activation>
        <file>
          <exists>devwork/bigmemory-core-storage</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/bigmemory-core-storage</module>
      </modules>
    </profile>
    <profile>
      <id>offheap-restartable-store</id>
      <activation>
        <file>
          <exists>devwork/offheap-restartable-store</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/offheap-restartable-store</module>
      </modules>
    </profile>
    <profile>
      <id>bigmemory-restartable-core-storage</id>
      <activation>
        <file>
          <exists>devwork/bigmemory-restartable-core-storage</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/bigmemory-restartable-core-storage</module>
      </modules>
    </profile>
    <profile>
      <id>search</id>
      <activation>
        <file>
          <exists>devwork/search</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/search</module>
      </modules>
    </profile>
    <profile>
      <id>terracotta-license</id>
      <activation>
        <file>
          <exists>devwork/terracotta-license</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/terracotta-license</module>
      </modules>
    </profile>
    <profile>
      <id>offheap-store</id>
      <activation>
        <file>
          <exists>devwork/offheap-store</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/offheap-store</module>
      </modules>
    </profile>
    <profile>
      <id>statistics</id>
      <activation>
        <file>
          <exists>devwork/statistics</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/statistics</module>
      </modules>
    </profile>
    <profile>
      <id>security-modules</id>
      <activation>
        <file>
          <exists>devwork/security-modules</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/security-modules</module>
      </modules>
    </profile>
    <profile>
      <id>container-test-framework</id>
      <activation>
        <file>
          <exists>devwork/container-test-framework</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/container-test-framework</module>
      </modules>
    </profile>
    <profile>
      <id>wan40</id>
      <activation>
        <file>
          <exists>devwork/wan40</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/wan40</module>
      </modules>
    </profile>
    <profile>
      <id>terracotta-sessions</id>
      <activation>
        <file>
          <exists>devwork/terracotta-sessions</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/terracotta-sessions</module>
      </modules>
    </profile>
    <profile>
      <id>osgi-test-tool</id>
      <activation>
        <file>
          <exists>devwork/osgi-test-tool</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/osgi-test-tool</module>
      </modules>
    </profile>
    <profile>
      <id>fast-restartable-store</id>
      <activation>
        <file>
          <exists>devwork/fast-restartable-store</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/fast-restartable-store</module>
      </modules>
    </profile>
    <profile>
      <id>product-upgradability-testing-utils</id>
      <activation>
        <file>
          <exists>devwork/product-upgradability-testing-utils</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/product-upgradability-testing-utils</module>
      </modules>
    </profile>
    <profile>
      <id>jmxremote_optional_tc</id>
      <activation>
        <file>
          <exists>devwork/jmxremote_optional_tc</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/jmxremote_optional_tc</module>
      </modules>
    </profile>
    <profile>
      <id>linked-child-process</id>
      <activation>
        <file>
          <exists>devwork/linked-child-process</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/linked-child-process</module>
      </modules>
    </profile>
    <profile>
      <id>test-listeners</id>
      <activation>
        <file>
          <exists>devwork/test-listeners</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/test-listeners</module>
      </modules>
    </profile>
    <profile>
      <id>clustered-entity-management</id>
      <activation>
        <file>
          <exists>devwork/clustered-entity-management</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/clustered-entity-management</module>
      </modules>
    </profile>
    <profile>
      <id>tc-config-schema</id>
      <activation>
        <file>
          <exists>devwork/tc-config-schema</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/tc-config-schema</module>
      </modules>
    </profile>
    <profile>
      <id>x-platform</id>
      <activation>
        <file>
          <exists>devwork/x-platform</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/x-platform</module>
      </modules>
    </profile>
    <profile>
      <id>bigmemory-max-code-samples</id>
      <activation>
        <file>
          <exists>devwork/bigmemory-max/code-samples</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/bigmemory-max/code-samples</module>
      </modules>
    </profile>
    <profile>
      <id>bigmemory-max-code-samples-test</id>
      <activation>
        <file>
          <exists>devwork/bigmemory-max/code-samples-test</exists>
        </file>
      </activation>
      <modules>
        <module>devwork/bigmemory-max/code-samples-test</module>
      </modules>
    </profile>
  </profiles>
  <distributionManagement>
    <repository>
      <id>terracotta-nexus-staging</id>
      <name>Terracotta Nexus Staging Repository</name>
      <url>${terracotta-nexus-staging-url}</url>
    </repository>
  </distributionManagement>
  <repositories>
    <repository>
      <id>sonatype-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
    <repository>
      <id>terracotta-releases</id>
      <url>https://repo.terracotta.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>
