LucaFilipozzi/keycloak-extensions

View on GitHub
pom.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!-- © 2024 Luca Filipozzi. Some rights reserved. See 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>

  <groupId>com.github.lucafilipozzi.keycloak</groupId>
  <artifactId>keycloak-extensions</artifactId>
  <version>${revision}</version>
  <packaging>pom</packaging>

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

  <modules>
    <module>cache-required-actions-authenticator</module>
    <module>disable-users-password-policy-provider</module>
    <module>custom-username-password-form</module>
    <module>extended-cookie-authenticator</module>
    <module>force-reauthentication-authenticator</module>
    <module>login-event-listener-provider</module>
    <module>md5crypt-password-hash-provider</module>
    <module>record-last-login-authenticator</module>
    <module>select-client-username-authenticator</module>
    <module>update-password-event-listener-provider</module>
    <module>username-policy-authenticator</module>
  </modules>

  <scm>
    <url>https://github.com/${github.account}/${project.artifactId}</url>
  </scm>

  <properties>
    <revision>1.8.1</revision>
    <github.account>LucaFilipozzi</github.account>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <keycloak.version>18.0.2</keycloak.version>
    <java.version>11</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <topdir>${project.basedir}</topdir>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.15</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.auto.service</groupId>
        <artifactId>auto-service</artifactId>
        <version>1.1.1</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-parent</artifactId>
        <version>${keycloak.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.32</version>
        <scope>provided</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <!-- clean -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>

        <!-- validate -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.2.1</version>
          <configuration>
            <rules>
              <!-- org.apache.maven.plugins:maven-enforcer-plugin -->
              <requireJavaVersion>
                <version>1.8</version>
              </requireJavaVersion>
              <requireMavenVersion>
                <version>3.5.0</version>
              </requireMavenVersion>
              <requirePluginVersions>
                <banLatest>true</banLatest>
                <banRelease>true</banRelease>
                <banSnapshots>true</banSnapshots>
              </requirePluginVersions>
              <requireReleaseDeps>
                <excludes>
                  <exclude>${project.groupId}:*</exclude>
                </excludes>
              </requireReleaseDeps>
              <requireSameVersions>
                <buildPlugins>
                  <plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin>
                  <plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin>
                </buildPlugins>
              </requireSameVersions>
              <!-- org.codehaus.mojo:extra-enforcer-rules -->
              <banCircularDependencies/>
            </rules>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>extra-enforcer-rules</artifactId>
              <version>1.8.0</version>
            </dependency>
          </dependencies>
          <executions>
            <execution>
              <goals>
                <goal>enforce</goal>
              </goals>
              <phase>validate</phase>
            </execution>
          </executions>
        </plugin>

        <!-- compile -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.11.0</version>
          <configuration>
            <release>${java.version}</release>
          </configuration>
        </plugin>

        <!-- test -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>

        <!-- package -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>

        <!-- verify -->
        <plugin>
          <groupId>com.diffplug.spotless</groupId>
          <artifactId>spotless-maven-plugin</artifactId>
          <version>2.43.0</version>
          <configuration>
            <java>
              <includes>
                <include>**/*.java</include>
              </includes>
              <googleJavaFormat>
                <version>1.22.0</version>
                <style>GOOGLE</style>
                <reflowLongStrings>false</reflowLongStrings>
                <formatJavadoc>false</formatJavadoc>
              </googleJavaFormat>
              <licenseHeader>
                <content>// © $YEAR Luca Filipozzi. Some rights reserved. See LICENSE.</content>
              </licenseHeader>
            </java>
            <markdown>
              <includes>
                <include>**/*.md</include>
              </includes>
              <flexmark/>
            </markdown>
            <pom>
              <includes>
                <include>pom.xml</include>
              </includes>
              <sortPom>
                <indentSchemaLocation>true</indentSchemaLocation>
                <expandEmptyElements>false</expandEmptyElements>
              </sortPom>
            </pom>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>4.7.1.0</version>
          <configuration>
            <excludeFilterFile>${topdir}/.spotbugs-exclude.xml</excludeFilterFile>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>8.1.2</version>
          <configuration>
            <skipProvidedScope>true</skipProvidedScope>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>2.15.0</version>
          <configuration>
            <allowMajorUpdates>false</allowMajorUpdates>
            <allowMinorUpdates>false</allowMinorUpdates>
            <allowIncrementalUpdates>false</allowIncrementalUpdates>
            <allowSnapshots>false</allowSnapshots>
            <processDependencyManagement>false</processDependencyManagement>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>display-dependency-updates</goal>
                <goal>display-plugin-updates</goal>
              </goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.5.0</version>
          <executions>
            <execution>
              <goals>
                <goal>analyze</goal>
              </goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.basepom.maven</groupId>
          <artifactId>duplicate-finder-maven-plugin</artifactId>
          <version>1.5.1</version>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>

        <!-- install -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>

        <!-- site -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.12.1</version>
        </plugin>

        <!-- deploy -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

</project>