<!--  Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache 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://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License. -->

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.directory.project</groupId>
    <artifactId>project</artifactId>
    <version>48</version>
  </parent>

  <groupId>io.acryl</groupId>
  <artifactId>scimple</artifactId>
  <version>1.0.3</version>
  <packaging>pom</packaging>
  <name>SCIMple</name>
  <description>Apache Directory SCIMple - Jakarta EE implementation of the SCIM version 2.0 specification (RFC7642, RFC7643 and RFC7644)</description>
  <url>https://github.com/apache/directory-scimple</url>

  <properties>
    <project.build.outputTimestamp>2024-03-15T12:02:54Z</project.build.outputTimestamp>
    <jdk.version>11</jdk.version>
    <max.jdk.version>${jdk.version}</max.jdk.version>
    <maven.compiler.source>${jdk.version}</maven.compiler.source>
    <maven.compiler.target>${jdk.version}</maven.compiler.target>
    <maven.compiler.release>${jdk.version}</maven.compiler.release>
    <version.jackson>2.16.1</version.jackson>
    <version.lombok>1.18.30</version.lombok>
    <version.lombok.plugin>1.18.20.0</version.lombok.plugin>
    <version.restfuse>1.2.0</version.restfuse>
    <version.slf4j>2.0.7</version.slf4j>
    <version.antlr4>4.7.2</version.antlr4>
    <version.resteasy>6.2.6.Final</version.resteasy>
    <version.spring-boot>3.2.1</version.spring-boot>
    <version.spring>6.1.2</version.spring>
    <!-- default surefire/failsafe arg lines to empty-->
    <jacoco.argline />
    <jacoco.it.argline />
  </properties>

  <distributionManagement>
    <snapshotRepository>
      <id>acryl-nexus</id>
      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>acryl-nexus</id>
      <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>

  <modules>
    <module>scim-spec/scim-spec-schema</module>
    <module>scim-spec/scim-spec-protocol</module>
    <module>scim-client</module>
    <module>scim-core</module>
    <module>scim-server</module>

<!-- Test of below module are not working as we have added spring related configuration in Apache SCIM Rest Api-->
<!--    <module>scim-server-examples/scim-server-memory</module>-->
<!--    <module>scim-server-examples/scim-server-jersey</module>-->
<!--    <module>scim-server-examples/scim-server-quarkus</module>-->
<!--    <module>scim-server-examples/scim-server-spring-boot</module>-->
<!--    <module>support/spring-boot</module>-->
    <module>scim-tools</module>
    <module>scim-compliance-tests</module>
    <module>scim-test</module>
    <module>scim-coverage</module>
  </modules>

  <scm>
    <connection>scm:git:https://github.com/acryldata/directory-scimple.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/acryldata/directory-scimple.git</developerConnection>
    <url>https://github.com/acryldata/directory-scimple</url>
    <tag>1.0.3</tag>
  </scm>

  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>ussmith</id>
      <name>Shawn Smith</name>
      <email>ses44@psu.edu</email>
      <url>https://github.com/ussmith</url>
      <timezone>-0500</timezone>
      <organization>The Pennsylvania State University</organization>
      <organizationUrl>https://www.psu.edu</organizationUrl>
    </developer>
    <developer>
      <id>chrisharm</id>
      <name>Christopher Harm</name>
      <email>crh5255@psu.edu</email>
      <url>https://github.com/chrisharm</url>
      <timezone>-0500</timezone>
      <organization>The Pennsylvania State University</organization>
      <organizationUrl>https://www.psu.edu</organizationUrl>
    </developer>
    <developer>
      <id>smoyer64</id>
      <name>Steve Moyer</name>
      <email>smoyer@psu.edu</email>
      <url>https://github.com/smoyer64</url>
      <timezone>-0500</timezone>
      <organization>The Pennsylvania State University</organization>
      <organizationUrl>https://www.psu.edu</organizationUrl>
    </developer>
    <developer>
      <id>bdemers</id>
      <email>bdemers@apache.org</email>
      <url>https://blog.bdemers.io/</url>
      <timezone>-0500</timezone>
    </developer>
    <developer>
      <id>sid-acryl</id>
      <email>siddique.bagwan@acryl.com</email>
      <timezone>+0530</timezone>
    </developer>

  </developers>

  <dependencyManagement>
    <dependencies>
      <!-- Project Modules -->
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-spec-protocol</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-spec-schema</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-core</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-tools</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-server</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-client</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-compliance-tests</artifactId>
        <version>1.0.3</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-test</artifactId>
        <version>1.0.3</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.acryl</groupId>
        <artifactId>scim-spring-boot-starter</artifactId>
        <version>1.0.0-SNAPSHOT</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se-core</artifactId>
        <version>5.1.2.Final</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${version.lombok}</version>
      </dependency>

      <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-bom</artifactId>
        <version>10.0.0</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>5.10.1</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${version.jackson}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured-bom</artifactId>
        <type>pom</type>
        <version>5.4.0</version>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey</groupId>
        <artifactId>jersey-bom</artifactId>
        <version>3.1.5</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>8.0.1.Final</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>jakarta.el</artifactId>
        <version>4.0.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${version.resteasy}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson2-provider</artifactId>
        <version>${version.resteasy}</version>
        <scope>test</scope>
      </dependency>
      <!-- Guava is a transitive dep, forcing a newer version to avoid older vulns -->
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>33.0.0-android</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.4.8</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${version.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${version.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${version.slf4j}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.8.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>5.8.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.25.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>2.2</version>
      </dependency>
      <dependency>
        <groupId>eu.codearte.catch-exception</groupId>
        <artifactId>catch-exception</artifactId>
        <version>2.0</version>
        <scope>test</scope>
      </dependency>

      <!-- Transitive dependencies specific versions -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.4</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.16.0</version>
      </dependency>
    </dependencies>

  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>3.2.0</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <shortRevisionLength>7</shortRevisionLength>
          <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>1.6.13</version>
        <extensions>true</extensions>
        <configuration>
          <serverId>acryl-nexus</serverId>
          <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
          <autoReleaseAfterClose>true</autoReleaseAfterClose>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
            <configuration>
              <propertyName>jacoco.argline</propertyName>
            </configuration>
          </execution>
          <execution>
            <id>prepare-agent-integration</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>prepare-agent-integration</goal>
            </goals>
            <configuration>
              <propertyName>jacoco.it.argline</propertyName>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <executions>
          <execution>
            <id>run-its</id>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.4.1</version>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>1.7.0</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>17</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>enforce-bytecode-version</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <enforceBytecodeVersion>
                  <maxJdkVersion>${max.jdk.version}</maxJdkVersion>
                </enforceBytecodeVersion>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>4.0.0-M12</version>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>8.4.3</version>
          <configuration>
            <failBuildOnAnyVulnerability>true</failBuildOnAnyVulnerability>
            <suppressionFile>${session.executionRootDirectory}/src/owasp/suppression.xml</suppressionFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.12.1</version>
          <configuration>
            <!-- parent pom currently defines v1.7 -->
            <source>${maven.compiler.source}</source>
            <target>${maven.compiler.target}</target>
            <annotationProcessorPaths>
              <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${version.lombok}</version>
              </path>
            </annotationProcessorPaths>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              </manifest>
              <manifestEntries>
                <Build-Number>${buildNumber}</Build-Number>
                <SCM-Revision>${buildNumber}</SCM-Revision>
                <SCM-Branch>${scmBranch}</SCM-Branch>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              </manifest>
              <manifestEntries>
                <Automatic-Module-Name>${module.name}</Automatic-Module-Name>
                <Build-Number>${buildNumber}</Build-Number>
                <SCM-Revision>${buildNumber}</SCM-Revision>
                <SCM-Branch>${scmBranch}</SCM-Branch>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.wildfly.plugins</groupId>
          <artifactId>wildfly-maven-plugin</artifactId>
          <version>3.0.1.Final</version>
          <inherited>true</inherited>
          <configuration>
            <id>${jbossServerId}</id>
            <hostname>${jbossHostname}</hostname>
            <skip>true</skip>
          </configuration>
        </plugin>
        <plugin>
          <groupId>io.ultreia.java4all.jgitflow</groupId>
          <artifactId>jgitflow-maven-plugin</artifactId>
          <version>1.0.0-rc-1</version>
          <configuration>
            <autoVersionSubmodules>true</autoVersionSubmodules>
            <flowInitContext>
              <versionTagPrefix>SCIMple-</versionTagPrefix>
            </flowInitContext>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.6.3</version>
          <executions>
            <execution>
              <id>attach-javadocs</id>
              <goals>
                <goal>jar</goal>
                <goal>test-jar</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <doclint>none</doclint>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok-maven-plugin</artifactId>
          <version>${version.lombok.plugin}</version>
          <executions>
            <execution>
              <phase>generate-sources</phase>
              <goals>
                <goal>delombok</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.15</version>
          <configuration>
            <excludes>
              <exclude>**/*.md</exclude>
              <exclude>**/*.json</exclude>
              <exclude>**/*.iml</exclude>
              <exclude>mvnw</exclude>
              <exclude>mvnw.cmd</exclude>
              <exclude>.mvn/maven.config</exclude>
              <exclude>**/target/**</exclude>
            </excludes>
          </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.2.3</version>
            <configuration>
              <!-- parent pom overrides the default, so we MUST set the jacoco argline directly -->
              <argLine>@{jacoco.argline}</argLine>
              <includes>
                <include>**/Test*.java</include>
                <include>**/*Test.java</include>
                <include>**/*Tests.java</include>
                <include>**/*TestCase.java</include>
              </includes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>3.2.3</version>
            <configuration>
              <argLine>@{jacoco.it.argline}</argLine>
              <includes>
                <include>**/*IT.java</include>
              </includes>
              <dependenciesToScan>
                <dependency>io.acryl:scim-compliance-tests</dependency>
              </dependenciesToScan>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-remote-resources-plugin</artifactId>
            <version>3.1.0</version>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
              <signTag>true</signTag>
              <autoVersionSubmodules>true</autoVersionSubmodules>
              <preparationGoals>verify</preparationGoals>
              <goals>install deploy</goals>
              <!-- the javadoc aggregation is not thread safe -->
              <!-- generate SHA-512 checksums -->
              <arguments>--threads=1 -Daether.checksums.algorithms=SHA-512,SHA-1,MD5 -Denforcer.skip=true</arguments>
              <mavenExecutorId>forked-path</mavenExecutorId>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.11</version>
          </plugin>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${version.spring-boot}</version>
          </plugin>
          <plugin>
            <groupId>io.smallrye</groupId>
            <artifactId>jandex-maven-plugin</artifactId>
            <version>3.1.6</version>
            <executions>
              <execution>
                <id>make-index</id>
                <goals>
                  <goal>jandex</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <configuration>
            <rulesets>
              <ruleset>${session.executionRootDirectory}/src/pmd/ruleset.xml</ruleset>
            </rulesets>
            <excludeRoots>
              <excludeRoot>${project.build.directory}/generated-sources/</excludeRoot>
            </excludeRoots>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>4.8.2.0</version>
          <configuration>
            <plugins>
              <plugin>
                <groupId>com.h3xstream.findsecbugs</groupId>
                <artifactId>findsecbugs-plugin</artifactId>
                <version>1.12.0</version>
              </plugin>
            </plugins>
            <effort>Max</effort>
            <threshold>Medium</threshold>
            <failOnError>true</failOnError>
            <omitVisitors>CrlfLogInjectionDetector</omitVisitors>
            <xmlOutput>true</xmlOutput>
            <fork>false</fork>
            <excludeFilterFile>${session.executionRootDirectory}/src/spotbugs/excludes.xml</excludeFilterFile>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>ci</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
              <execution>
                <id>scan</id>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>scan</id>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>acceptance-tests</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.43.4</version>
            <configuration>
              <skip>true</skip>
            </configuration>
            <executions>
              <execution>
                <id>start</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>build</goal>
                  <goal>start</goal>
                </goals>
              </execution>
              <execution>
                <id>stop</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    
    <profile>
      <id>docker</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.43.4</version>
            <configuration>
              <skip>true</skip>
            </configuration>
            <executions>
              <execution>
                <id>build</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>build</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>sign-artifacts</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>aggregate</id>
                <goals>
                  <goal>aggregate</goal>
                </goals>
                <configuration>
                  <excludePackageNames>org.apache.directory.scim.example.*,org.apache.directory.scim.test.*</excludePackageNames>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
