diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 5ed003d..4da10a5 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -11,20 +11,40 @@ jobs:
env:
MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress --settings=.github/settings.xml
steps:
+ - name: docker/login-action docker.io
+ uses: docker/login-action@v3.4.0
+ with:
+ registry: docker.io
+ username: ${{ secrets.DOCKERIO_USERNAME }}
+ password: ${{ secrets.DOCKERIO_TOKEN }}
+ - name: docker/login-action ghcr.io
+ uses: docker/login-action@v3.4.0
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GIT_ACTION_TOKEN }}
- run: git config --global user.name "${{ vars.KOKUWA_IO_BOT_NAME }}"
- run: git config --global user.email "${{ vars.KOKUWA_IO_BOT_EMAIL }}"
- uses: actions/checkout@v4
with:
token: ${{ secrets.GIT_ACTION_TOKEN }}
+ - uses: crazy-max/ghaction-import-gpg@v6
+ with:
+ gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
+ passphrase: ${{ secrets.GPG_PASSPHRASE }}
+ git_user_signingkey: true
+ git_commit_gpgsign: true
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: maven
+ server-id: sonatype-nexus
+ server-username: SERVER_USERNAME
+ server-password: SERVER_PASSWORD
+ gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
+ gpg-passphrase: GPG_PASSPHRASE
- run: mvn $MAVEN_ARGS deploy
env:
SERVER_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
SERVER_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
- - run: mvn $MAVEN_ARGS site-deploy
- env:
- GIT_ACTION_TOKEN: ${{ secrets.GIT_ACTION_TOKEN }}
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index 86a8eb1..3548e88 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -3,7 +3,7 @@ name: PullRequest
on: pull_request
env:
- MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress -Dmaven.test.redirectTestOutputToFile=false
+ MAVEN_ARGS: --batch-mode --color=always --no-transfer-progress
jobs:
@@ -34,11 +34,6 @@ jobs:
java-version: 17
cache: maven
- run: mvn $MAVEN_ARGS verify
- - run: mvn $MAVEN_ARGS site
- - uses: actions/upload-artifact@v4
- if: always()
- with:
- path: target/site
versions:
runs-on: ubuntu-latest
@@ -52,7 +47,7 @@ jobs:
- 25.0.6
- 26.0.8
- 26.1.5
- - 26.2.1
+ - 26.2.5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
diff --git a/pom.xml b/pom.xml
index 2f4ae93..3d2ef55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,13 +2,6 @@
4.0.0
-
- io.kokuwa.maven
- maven-parent
- 0.6.18
-
-
-
io.kokuwa.keycloak
keycloak-event-metrics
1.1.2-SNAPSHOT
@@ -31,12 +24,10 @@
- sschnabe
+ stephan.schnabel
Stephan Schnabel
- https://github.com/sschnabe
- stephan@grayc.de
- GrayC GmbH
- https://grayc.de
+ https://schnabel.org
+ stephan@schnabel.org
Europe/Berlin
@@ -55,6 +46,16 @@
github
https://github.com/kokuwaio/keycloak-event-metrics/actions
+
+
+ sonatype-nexus
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+ sonatype-nexus
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+
@@ -62,15 +63,45 @@
- 17
- 17
+ 2025-04-28T12:25:49Z
+ UTF-8
+ ISO-8859-1
- deploy,site,ossrh,release
+ 17
+ ${maven.compiler.release}
+ ${maven.compiler.release}
+ -Xlint:all
+ true
+ true
+ true
+
+ true
+ java.,javax.,jakarta.,org.
+ ${project.basedir}/src/eclipse/formatter.xml
-
+
+ 3.4.1
+ 3.14.0
+ 3.1.4
+ 3.2.7
+ 3.1.4
+ 3.4.2
+ 3.11.2
+ 3.1.1
+ 3.3.1
+ 3.21.0
+ 3.3.1
+ 3.5.3
+ 3.5.1
+ 1.4.0
+ 2.18.0
+ 1.7.0
+ 2.26.0
+ 1.12.0
+
26.2.5
${version.org.keycloak}
1.18.3
@@ -188,12 +219,136 @@
+ ${project.artifactId}
${project.basedir}/src/test/resources
true
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ ${version.org.apache.maven.plugins.clean}
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${version.org.apache.maven.plugins.compiler}
+
+ ${maven.compiler.compilerArgument}
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ ${version.org.apache.maven.plugins.deploy}
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+ ${version.org.apache.maven.plugins.surefire}
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ ${version.org.apache.maven.plugins.gpg}
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ ${version.org.apache.maven.plugins.install}
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${version.org.apache.maven.plugins.jar}
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${version.org.apache.maven.plugins.javadoc}
+
+
+ org.apache.maven.plugins
+ maven-release-plugin
+ ${version.org.apache.maven.plugins.release}
+
+ clean verify
+ check
+ deploy
+ deploy,release
+ true
+ @{prefix} prepare release @{releaseLabel} [CI SKIP]
+ @{project.version}
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ ${version.org.apache.maven.plugins.resources}
+
+ ${project.build.propertiesEncoding}
+
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ ${version.org.apache.maven.plugins.site}
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ ${version.org.apache.maven.plugins.source}
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${version.org.apache.maven.plugins.surefire}
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${version.org.codehaus.mojo.exec}
+
+
+ org.codehaus.mojo
+ tidy-maven-plugin
+ ${version.org.codehaus.mojo.tidy}
+
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ ${version.org.codehaus.mojo.versions}
+
+ false
+
+ ^.*-(alpha|beta|M)-?[0-9]+$
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ ${version.org.sonatype.plugins.nexus}
+
+
+ net.revelc.code.formatter
+ formatter-maven-plugin
+ ${version.net.revelc.code.formatter}
+
+ ${formatter.configFile}
+
+
+
+ net.revelc.code
+ impsort-maven-plugin
+ ${version.net.revelc.code.impsort}
+
+
+
@@ -210,13 +365,13 @@
-
+
- org.codehaus.mojo
- flatten-maven-plugin
+ org.apache.maven.plugins
+ maven-install-plugin
- default
+ default-install
@@ -227,9 +382,139 @@
- release
+ dev
+
+
+ !env.CI
+
+
+
+ true
+
+
+ org.codehaus.mojo
+ tidy-maven-plugin
+
+
+ validate
+
+ pom
+
+
+
+
+
+ net.revelc.code
+ impsort-maven-plugin
+
+
+ validate
+
+ sort
+
+
+
+
+
+ net.revelc.code.formatter
+ formatter-maven-plugin
+
+
+ validate
+
+ format
+
+
+
+
+
+
+
+
+ check
+
+
+ env.CI
+
+
+
+
+
+ org.codehaus.mojo
+ tidy-maven-plugin
+
+
+ validate
+
+ check
+
+
+
+
+
+ net.revelc.code
+ impsort-maven-plugin
+
+
+ validate
+
+ check
+
+
+
+
+
+ net.revelc.code.formatter
+ formatter-maven-plugin
+
+
+ validate
+
+ validate
+
+
+
+
+
+
+
+
+ deploy
+
+
+ env.CI
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+
+ javadoc-no-fork
+
+
+
+
+
+
org.apache.maven.plugins
maven-resources-plugin
@@ -279,5 +564,38 @@
+
+ release
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+
+
+
+ sign
+
+
+
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ true
+
+ sonatype-nexus
+ https://oss.sonatype.org/
+ true
+
+
+
+
+
+
diff --git a/src/eclipse/formatter.xml b/src/eclipse/formatter.xml
new file mode 100644
index 0000000..61186a2
--- /dev/null
+++ b/src/eclipse/formatter.xml
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/test/java/io/kokuwa/keycloak/metrics/KeycloakIT.java b/src/test/java/io/kokuwa/keycloak/metrics/KeycloakIT.java
index cd4ebf4..a9ffeaa 100644
--- a/src/test/java/io/kokuwa/keycloak/metrics/KeycloakIT.java
+++ b/src/test/java/io/kokuwa/keycloak/metrics/KeycloakIT.java
@@ -10,6 +10,8 @@ import java.time.Instant;
import java.util.UUID;
import java.util.function.Supplier;
+import jakarta.ws.rs.NotAuthorizedException;
+
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -18,7 +20,6 @@ import org.keycloak.events.EventType;
import io.kokuwa.keycloak.metrics.junit.KeycloakClient;
import io.kokuwa.keycloak.metrics.junit.KeycloakExtension;
import io.kokuwa.keycloak.metrics.junit.Prometheus;
-import jakarta.ws.rs.NotAuthorizedException;
/**
* Integration tests with Keycloak.
@@ -87,7 +88,7 @@ public class KeycloakIT {
() -> assertEquals(loginErrorBefore2 + 1, loginErrorAfter2, "login failure #2"),
() -> assertEquals(0, loginErrorAfter3, "login failure #3"),
() -> assertEquals(0, loginErrorAfter4, "login failure #4"),
- () -> assertEquals(loginErrorBeforeUNKNOWN + 2 , loginErrorAfterUNKNOWN, "login failure UNKNOWN"));
+ () -> assertEquals(loginErrorBeforeUNKNOWN + 2, loginErrorAfterUNKNOWN, "login failure UNKNOWN"));
}
@DisplayName("user count")
diff --git a/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakClient.java b/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakClient.java
index 029ffde..b79ca14 100644
--- a/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakClient.java
+++ b/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakClient.java
@@ -13,6 +13,10 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.token.TokenService;
@@ -24,10 +28,6 @@ import org.keycloak.representations.idm.UserRepresentation;
import com.fasterxml.jackson.databind.ObjectMapper;
-import jakarta.ws.rs.core.HttpHeaders;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.MultivaluedHashMap;
-
/**
* Client for keycloak.
*
diff --git a/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java b/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java
index e2b1175..91f013f 100644
--- a/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java
+++ b/src/test/java/io/kokuwa/keycloak/metrics/junit/KeycloakExtension.java
@@ -7,6 +7,8 @@ import java.time.Duration;
import java.util.Properties;
import java.util.Set;
+import jakarta.ws.rs.client.ClientBuilder;
+
import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.ParameterContext;
@@ -17,8 +19,6 @@ import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.utility.MountableFile;
-import jakarta.ws.rs.client.ClientBuilder;
-
/**
* JUnit extension to start keycloak.
*