diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 1ab9369..db14caa 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -7,6 +7,9 @@ updates:
interval: "weekly"
day: "saturday"
open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: "eu.europa.ec.joinup.sat:*"
+ - dependency-name: "org.netbeans.api:*"
- package-ecosystem: "github-actions"
target-branch: "develop"
directory: "/"
diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml
new file mode 100644
index 0000000..8627b21
--- /dev/null
+++ b/.github/workflows/check-links.yml
@@ -0,0 +1,40 @@
+name: Check links in documentation
+
+on:
+ push:
+ paths:
+ - '.github/workflows/check-links.yml'
+ - 'lychee.toml'
+ - '**/*.md'
+ schedule:
+ # Run on the first of each month at 9:00 AM
+ - cron: "0 9 1 * *"
+ workflow_dispatch:
+
+concurrency:
+ group: "${{ github.workflow }}-${{ github.head_ref }}"
+ cancel-in-progress: true
+
+jobs:
+ lychee:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout source code
+ uses: actions/checkout@v4
+ with:
+ submodules: true
+ fetch-depth: 0
+
+ - name: Restore lychee cache
+ uses: actions/cache@v4
+ with:
+ path: .lycheecache
+ key: cache-lychee-${{ github.sha }}
+ restore-keys: cache-lychee-
+
+ - name: Check links
+ id: lychee
+ uses: lycheeverse/lychee-action@v1.10.0
+ with:
+ fail: true
+ args: --max-concurrency 1 --cache --no-progress --exclude-all-private './**/*.md'
diff --git a/.github/workflows/heylogs.yml b/.github/workflows/heylogs.yml
new file mode 100644
index 0000000..c0e0bf5
--- /dev/null
+++ b/.github/workflows/heylogs.yml
@@ -0,0 +1,33 @@
+name: Heylogs
+
+on: [ push ]
+
+jobs:
+ badge-job:
+ if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/heads/develop')
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout source code
+ uses: actions/checkout@v4
+
+ - name: Setup Java
+ uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: 21
+ cache: 'maven'
+
+ - name: Scan changelog
+ run: mvn -B -ntp -U com.github.nbbrd.heylogs:heylogs-maven-plugin::scan -Dheylogs.output.file=scan.json -Dheylogs.format.id=json
+
+ - name: Create badges endpoint json
+ run: |
+ mkdir heylogs
+ jq '{schemaVersion: 1, label: "unreleased changes", message: "#\(.[0].summary.unreleasedChanges)", color: "E05735", logoColor: "white", namedLogo: "keepachangelog"}' scan.json > heylogs/unreleased-changes.json
+
+ - name: Deploy badges endpoint json
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_branch: badges
+ publish_dir: ./heylogs
diff --git a/.github/workflows/java-ea-maven.yml b/.github/workflows/java-ea-maven.yml
index 7906c03..a690e85 100644
--- a/.github/workflows/java-ea-maven.yml
+++ b/.github/workflows/java-ea-maven.yml
@@ -11,8 +11,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- java: [ 20 ]
- os: [ ubuntu-latest ]
+ java: [ 21 ]
+ os: [ ubuntu-latest, macos-latest ]
name: JDK${{ matrix.java }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
@@ -25,7 +25,7 @@ jobs:
fetch-depth: 0
- name: Setup Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
@@ -34,4 +34,4 @@ jobs:
- name: Build and (headless) test with Maven
uses: smithki/xvfb-action@v1.1.2
with:
- run: mvn -U -B -ntp package
+ run: mvn -U -B -ntp verify
diff --git a/.github/workflows/java-maven.yml b/.github/workflows/java-maven.yml
index 411b138..0985347 100644
--- a/.github/workflows/java-maven.yml
+++ b/.github/workflows/java-maven.yml
@@ -1,6 +1,6 @@
name: Java8+ with Maven
-on: [ push, pull_request ]
+on: [ push, pull_request, workflow_dispatch ]
jobs:
build-and-test-job:
@@ -8,8 +8,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- java: [ 17 ]
- os: [ ubuntu-latest, macOS-latest, windows-latest ]
+ java: [ 21 ]
+ os: [ ubuntu-latest, macos-13, windows-latest ]
name: JDK${{ matrix.java }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
@@ -22,19 +22,23 @@ jobs:
fetch-depth: 0
- name: Setup Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Pre-download dependencies with Maven
- run: mvn -U -B -ntp dependency:go-offline
+ uses: nick-fields/retry@v3
+ with:
+ command: mvn -U -B -ntp dependency:go-offline
+ max_attempts: 3
+ timeout_minutes: 5
- name: Build and (headless) test with Maven
uses: smithki/xvfb-action@v1.1.2
with:
- run: mvn -U -B -ntp package
+ run: mvn -U -B -ntp verify
auto-merge-job:
needs: build-and-test-job
@@ -48,7 +52,11 @@ jobs:
steps:
- name: Merge PR
- run: gh pr merge --auto --rebase "$PR_URL"
+ uses: nick-fields/retry@v3
+ with:
+ command: gh pr merge --auto --rebase "$PR_URL"
+ max_attempts: 3
+ timeout_minutes: 5
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -58,7 +66,7 @@ jobs:
if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/heads/develop')
strategy:
matrix:
- java: [ 17 ]
+ java: [ 21 ]
os: [ ubuntu-latest ]
name: Snapshot on develop
@@ -72,7 +80,7 @@ jobs:
fetch-depth: 0
- name: Setup Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
@@ -96,7 +104,7 @@ jobs:
- name: Upload JReleaser output
if: always()
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: assets-snapshot-log
path: |
@@ -108,7 +116,7 @@ jobs:
if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/tags/v')
strategy:
matrix:
- java: [ 17 ]
+ java: [ 21 ]
os: [ ubuntu-latest ]
name: Release on tag
@@ -122,7 +130,7 @@ jobs:
fetch-depth: 0
- name: Setup Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
@@ -148,7 +156,7 @@ jobs:
- name: Upload JReleaser output
if: always()
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: assets-release-log
path: |
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 613257d..8fdc815 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,23 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+## [3.2.0] - 2024-10-04
+
+This is a feature release of SDMX extensions for JDemetra+ v3.
+[JDemetra+ v3.1.1 or later](https://github.com/jdemetra/jdplus-main) version is required to run it.
+
+### Added
+
+- Add logging of events
+
+### Fixed
+
+- Fix sources file property in configuration
+
+### Changed
+
+- Bump sdmx-dl from 3.0.0-beta.12 to [3.0.0-beta.13](https://github.com/nbbrd/sdmx-dl/releases/tag/v3.0.0-beta.13)
+
## [3.1.0] - 2023-10-16
This is a feature release of SDMX extensions for JDemetra+ v3.
@@ -30,6 +47,7 @@ This is a feature release of SDMX extensions for JDemetra+ v3.
This is the **initial release** of SDMX extensions for JDemetra+ v3.
[JDemetra+ v3.0.2 or later](https://github.com/jdemetra/jdplus-main) version is required to run it.
-[Unreleased]: https://github.com/nbbrd/jdplus-sdmx/compare/v3.1.0...HEAD
+[Unreleased]: https://github.com/nbbrd/jdplus-sdmx/compare/v3.2.0...HEAD
+[3.2.0]: https://github.com/nbbrd/jdplus-sdmx/compare/v3.1.0...v3.2.0
[3.1.0]: https://github.com/nbbrd/jdplus-sdmx/compare/v3.0.0...v3.1.0
[3.0.0]: https://github.com/nbbrd/jdplus-sdmx/releases/tag/v3.0.0
diff --git a/README.md b/README.md
index b48d10c..d5495b2 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
# SDMX extensions for JDemetra+ v3
[![Download](https://img.shields.io/github/release/nbbrd/jdplus-sdmx.svg)](https://github.com/nbbrd/jdplus-sdmx/releases/latest)
+[![Changes](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnbbrd%2Fjdplus-sdmx%2Fbadges%2Funreleased-changes.json)](https://github.com/nbbrd/jdplus-sdmx/blob/develop/CHANGELOG.md)
This plugin provides time series from [SDMX](https://sdmx.org/) to [JDemetra+ v3](https://github.com/jdemetra/jdplus-main) by querying web services and parsing local files.
diff --git a/jdplus-sdmx-base/jdplus-sdmx-base-parent/jdplus-sdmx-base-api/pom.xml b/jdplus-sdmx-base/jdplus-sdmx-base-parent/jdplus-sdmx-base-api/pom.xml
index 79866ac..42f35e0 100644
--- a/jdplus-sdmx-base/jdplus-sdmx-base-parent/jdplus-sdmx-base-api/pom.xml
+++ b/jdplus-sdmx-base/jdplus-sdmx-base-parent/jdplus-sdmx-base-api/pom.xml
@@ -7,7 +7,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx-base-parent
- 3.1.0
+ 3.2.0
jdplus-sdmx-base-api
diff --git a/jdplus-sdmx-base/jdplus-sdmx-base-parent/pom.xml b/jdplus-sdmx-base/jdplus-sdmx-base-parent/pom.xml
index c44acee..ca17507 100644
--- a/jdplus-sdmx-base/jdplus-sdmx-base-parent/pom.xml
+++ b/jdplus-sdmx-base/jdplus-sdmx-base-parent/pom.xml
@@ -5,7 +5,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx-base
- 3.1.0
+ 3.2.0
jdplus-sdmx-base-parent
diff --git a/jdplus-sdmx-base/pom.xml b/jdplus-sdmx-base/pom.xml
index 083c0eb..8c66b4f 100644
--- a/jdplus-sdmx-base/pom.xml
+++ b/jdplus-sdmx-base/pom.xml
@@ -6,7 +6,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx
- 3.1.0
+ 3.2.0
jdplus-sdmx-base
diff --git a/jdplus-sdmx-bom/pom.xml b/jdplus-sdmx-bom/pom.xml
index 68b82d4..f8cb404 100644
--- a/jdplus-sdmx-bom/pom.xml
+++ b/jdplus-sdmx-bom/pom.xml
@@ -7,7 +7,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx
- 3.1.0
+ 3.2.0
jdplus-sdmx-bom
@@ -42,7 +42,7 @@
org.codehaus.mojo
flatten-maven-plugin
- 1.5.0
+ 1.6.0
bom
${project.build.directory}
@@ -89,7 +89,6 @@
org.jreleaser
jreleaser-maven-plugin
- 1.8.0
release-assets
diff --git a/jdplus-sdmx-cli/jdplus-sdmx-cli-plugin/pom.xml b/jdplus-sdmx-cli/jdplus-sdmx-cli-plugin/pom.xml
index b4c8172..8925dde 100644
--- a/jdplus-sdmx-cli/jdplus-sdmx-cli-plugin/pom.xml
+++ b/jdplus-sdmx-cli/jdplus-sdmx-cli-plugin/pom.xml
@@ -6,7 +6,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx-cli
- 3.1.0
+ 3.2.0
jdplus-sdmx-cli-plugin
diff --git a/jdplus-sdmx-cli/pom.xml b/jdplus-sdmx-cli/pom.xml
index 680483e..a7a6772 100644
--- a/jdplus-sdmx-cli/pom.xml
+++ b/jdplus-sdmx-cli/pom.xml
@@ -6,7 +6,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx
- 3.1.0
+ 3.2.0
jdplus-sdmx-cli
diff --git a/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/pom.xml b/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/pom.xml
index 476ef7d..d2dd2be 100644
--- a/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/pom.xml
+++ b/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/pom.xml
@@ -6,7 +6,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx-desktop
- 3.1.0
+ 3.2.0
jdplus-sdmx-desktop-plugin
@@ -123,7 +123,7 @@
com.github.nbbrd.java-desktop-util
java-desktop-util-favicon
- 2.3.0
+ 2.4.0
diff --git a/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/Toggle.java b/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/Toggle.java
index ff82b5b..96b4894 100644
--- a/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/Toggle.java
+++ b/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/Toggle.java
@@ -7,10 +7,14 @@ public enum Toggle {
DEFAULT, DISABLE, ENABLE;
public void applyTo(Properties properties, CharSequence key) {
+ applyTo(properties, key, "false", "true");
+ }
+
+ public void applyTo(Properties properties, CharSequence key, String disableValue, String enableValue) {
switch (this) {
case DEFAULT -> properties.remove(key.toString());
- case DISABLE -> properties.setProperty(key.toString(), Boolean.toString(false));
- case ENABLE -> properties.setProperty(key.toString(), Boolean.toString(true));
+ case DISABLE -> properties.setProperty(key.toString(), disableValue);
+ case ENABLE -> properties.setProperty(key.toString(), enableValue);
}
}
}
diff --git a/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/web/SdmxWebConfiguration.java b/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/web/SdmxWebConfiguration.java
index 2a4f75a..c5119e5 100644
--- a/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/web/SdmxWebConfiguration.java
+++ b/jdplus-sdmx-desktop/jdplus-sdmx-desktop-plugin/src/main/java/jdplus/sdmx/desktop/plugin/web/SdmxWebConfiguration.java
@@ -12,19 +12,25 @@
import sdmxdl.Languages;
import sdmxdl.web.SdmxWebManager;
import sdmxdl.web.WebSource;
+import standalone_sdmxdl.nbbrd.io.text.BooleanProperty;
import standalone_sdmxdl.nbbrd.io.text.Parser;
+import standalone_sdmxdl.nbbrd.io.text.Property;
+import standalone_sdmxdl.sdmxdl.provider.PropertiesSupport;
import standalone_sdmxdl.sdmxdl.provider.ri.caching.RiCaching;
-import standalone_sdmxdl.sdmxdl.provider.ri.drivers.SourceProperties;
import standalone_sdmxdl.sdmxdl.provider.ri.networking.RiNetworking;
+import standalone_sdmxdl.sdmxdl.provider.ri.registry.RiRegistry;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.File;
import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
import java.util.Locale;
import java.util.Properties;
+import java.util.function.Function;
+import java.util.logging.Level;
+import static java.util.Collections.emptyMap;
+
+@lombok.extern.java.Log
@lombok.Data
public class SdmxWebConfiguration {
@@ -60,6 +66,10 @@ public class SdmxWebConfiguration {
private static final boolean DEFAULT_DISPLAY_CODES = false;
private boolean displayCodes = DEFAULT_DISPLAY_CODES;
+ private static final String LOG_EVENTS_PROPERTY = "logEvents";
+ private static final boolean DEFAULT_LOG_EVENTS = false;
+ private boolean logEvents = DEFAULT_LOG_EVENTS;
+
@MightBeGenerated
public static SdmxWebConfiguration copyOf(SdmxWebConfiguration bean) {
SdmxWebConfiguration result = new SdmxWebConfiguration();
@@ -71,31 +81,43 @@ public static SdmxWebConfiguration copyOf(SdmxWebConfiguration bean) {
result.noDefaultSSL = bean.noDefaultSSL;
result.noSystemSSL = bean.noSystemSSL;
result.displayCodes = bean.displayCodes;
+ result.logEvents = bean.logEvents;
return result;
}
public SdmxWebManager toSdmxWebManager() {
Properties properties = System.getProperties();
- curlBackend.applyTo(properties, RiNetworking.CURL_BACKEND_PROPERTY);
+ if (sources != null && !sources.getPath().isEmpty()) {
+ properties.setProperty(RiRegistry.SOURCES_FILE_PROPERTY.getKey(), sources.getPath());
+ } else {
+ properties.remove(RiRegistry.SOURCES_FILE_PROPERTY.getKey());
+ }
+
+ curlBackend.applyTo(properties, RiNetworking.URL_BACKEND_PROPERTY, "JDK", "CURL");
noCache.applyTo(properties, RiCaching.NO_CACHE_PROPERTY);
autoProxy.applyTo(properties, RiNetworking.AUTO_PROXY_PROPERTY);
noDefaultSSL.applyTo(properties, RiNetworking.NO_DEFAULT_SSL_PROPERTY);
noSystemSSL.applyTo(properties, RiNetworking.NO_SYSTEM_SSL_PROPERTY);
+ logConfig();
+
return SdmxWebManager.ofServiceLoader()
.toBuilder()
.onEvent(this::reportEvent)
.onError(this::reportError)
- .customSources(getCustomSources())
.build();
}
- private static List getCustomSources() {
- try {
- return SourceProperties.loadCustomSources();
- } catch (IOException e) {
- return Collections.emptyList();
+ private void logConfig() {
+ Function super String, ? extends CharSequence> properties = key -> PropertiesSupport.getProperty(emptyMap(), key);
+ if (log.isLoggable(Level.INFO)) {
+ for (Property> p : new Property>[]{RiRegistry.SOURCES_FILE_PROPERTY, RiNetworking.URL_BACKEND_PROPERTY}) {
+ log.log(Level.INFO, p.getKey() + ": " + p.get(properties));
+ }
+ for (BooleanProperty p : new BooleanProperty[]{RiCaching.NO_CACHE_PROPERTY, RiNetworking.AUTO_PROXY_PROPERTY, RiNetworking.NO_DEFAULT_SSL_PROPERTY, RiNetworking.NO_SYSTEM_SSL_PROPERTY}) {
+ log.log(Level.INFO, p.getKey() + ": " + p.get(properties));
+ }
}
}
@@ -107,10 +129,18 @@ public Languages toLanguages() {
private void reportEvent(WebSource source, String marker, CharSequence message) {
StatusDisplayer.getDefault().setStatusText(message.toString());
+ if (logEvents) {
+ log.log(Level.INFO, () -> asLogMessage(source, marker, message));
+ }
}
private void reportError(WebSource source, String marker, CharSequence message, IOException error) {
NotificationDisplayer.getDefault().notify(message.toString(), SdmxIcons.getDefaultIcon(), "", null);
+ log.log(Level.SEVERE, error, () -> asLogMessage(source, marker, message));
+ }
+
+ private static String asLogMessage(WebSource source, String marker, CharSequence message) {
+ return "[" + source.getId() + "] (" + marker + ") " + message;
}
Sheet toSheet() {
@@ -159,6 +189,11 @@ Sheet toSheet() {
.display("No system SSL")
.description("Disable system truststore")
.add();
+ b.withBoolean()
+ .select(this, LOG_EVENTS_PROPERTY)
+ .display("Log events")
+ .description("Log events in IDE logs")
+ .add();
result.put(b.build());
return result;
@@ -177,5 +212,6 @@ Sheet toSheet() {
.with(PropertyHandler.onEnum(NO_DEFAULT_SSL_PROPERTY, DEFAULT_NO_DEFAULT_SSL), SdmxWebConfiguration::getNoDefaultSSL, SdmxWebConfiguration::setNoDefaultSSL)
.with(PropertyHandler.onEnum(NO_SYSTEM_SSL_PROPERTY, DEFAULT_NO_SYSTEM_SSL), SdmxWebConfiguration::getNoSystemSSL, SdmxWebConfiguration::setNoSystemSSL)
.with(PropertyHandler.onBoolean(DISPLAY_CODES_PROPERTY, DEFAULT_DISPLAY_CODES), SdmxWebConfiguration::isDisplayCodes, SdmxWebConfiguration::setDisplayCodes)
+ .with(PropertyHandler.onBoolean(LOG_EVENTS_PROPERTY, DEFAULT_LOG_EVENTS), SdmxWebConfiguration::isLogEvents, SdmxWebConfiguration::setLogEvents)
.build();
}
diff --git a/jdplus-sdmx-desktop/pom.xml b/jdplus-sdmx-desktop/pom.xml
index 6db6343..22eaae2 100644
--- a/jdplus-sdmx-desktop/pom.xml
+++ b/jdplus-sdmx-desktop/pom.xml
@@ -6,7 +6,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx
- 3.1.0
+ 3.2.0
jdplus-sdmx-desktop
@@ -16,7 +16,7 @@
- RELEASE190
+ ${jdplus-main-netbeans.version}
@@ -30,7 +30,7 @@
org.apache.netbeans.utilities
nbm-maven-plugin
- 4.8
+ 14.2
diff --git a/pom.xml b/pom.xml
index ff5877c..3c36a4e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.github.nbbrd.jdplus-sdmx
jdplus-sdmx
- 3.1.0
+ 3.2.0
pom
${project.artifactId}
@@ -39,6 +39,7 @@
UTF-8
+ 2024-10-04T10:51:42Z
17
17
17
@@ -48,18 +49,19 @@
${project.artifactId}
- 1.18.30
- 1.7.0
- 1.5.0
- 3.39.0
+ 1.18.34
+ 1.9.0
+ 1.5.1
+ 3.48.0
- 5.10.0
- 3.24.2
+ 5.11.1
+ 3.26.3
3.1.1
- 3.0.0-beta.12
+ RELEASE190
+ 3.0.0-beta.13
@@ -124,27 +126,27 @@
org.apache.maven.plugins
maven-clean-plugin
- 3.3.1
+ 3.4.0
org.apache.maven.plugins
maven-compiler-plugin
- 3.11.0
+ 3.13.0
org.apache.maven.plugins
maven-deploy-plugin
- 3.1.1
+ 3.1.3
org.apache.maven.plugins
maven-install-plugin
- 3.1.1
+ 3.1.3
org.apache.maven.plugins
maven-jar-plugin
- 3.3.0
+ 3.4.2
org.apache.maven.plugins
@@ -154,63 +156,75 @@
org.apache.maven.plugins
maven-site-plugin
- 3.12.1
+ 3.20.0
org.apache.maven.plugins
maven-surefire-plugin
- 3.1.2
+ 3.5.0
+
+
+ org.apache.maven.surefire
+ surefire-junit-platform
+ 3.5.0
+
+
org.apache.maven.plugins
maven-dependency-plugin
- 3.6.0
+ 3.8.0
org.apache.maven.plugins
maven-enforcer-plugin
- 3.4.1
+ 3.5.0
org.gaul
modernizer-maven-plugin
- 2.7.0
+ 2.9.0
de.thetaphi
forbiddenapis
- 3.6
+ 3.7
com.github.nbbrd.heylogs
heylogs-maven-plugin
- 0.7.0
+ 0.9.2
com.amashchenko.maven.plugin
gitflow-maven-plugin
- 1.20.0
+ 1.21.0
org.apache.maven.plugins
maven-source-plugin
- 3.3.0
+ 3.3.1
org.apache.maven.plugins
maven-javadoc-plugin
- 3.6.0
+ 3.10.1
org.simplify4u.plugins
sign-maven-plugin
- 1.0.1
+ 1.1.0
org.sonatype.plugins
nexus-staging-maven-plugin
- 1.6.13
+ 1.7.0
+
+
+ org.jreleaser
+ jreleaser-maven-plugin
+ 1.14.0
@@ -277,12 +291,12 @@
org.codehaus.mojo
extra-enforcer-rules
- 1.7.0
+ 1.9.0
org.kordamp.maven
pomchecker-enforcer-rules
- 1.9.0
+ 1.13.0
@@ -486,6 +500,7 @@
ossrh
https://s01.oss.sonatype.org/
true
+ 10
@@ -511,6 +526,7 @@
ossrh
https://s01.oss.sonatype.org/
true
+ 10