Compare commits
13 Commits
Author | SHA256 | Date | |
---|---|---|---|
1dcbea8a75 | |||
ccd62d68ac | |||
73a9741174 | |||
1856524518 | |||
3a06ba1765 | |||
9b40fb9484 | |||
9c6ef2b26e | |||
f7f57c3b29 | |||
910d533c2f | |||
a084e2b892 | |||
7263be9bdd | |||
8f9722fc69 | |||
827505312b |
@@ -1,119 +0,0 @@
|
|||||||
From 444f78dfd8e6919faccc001887597fb3e69e961a Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
|
|
||||||
Date: Wed, 16 Jul 2025 17:46:10 +0200
|
|
||||||
Subject: [PATCH] Use maven-archiver to parse ouputTimestamp
|
|
||||||
|
|
||||||
---
|
|
||||||
maven-plugin/pom.xml | 5 ++
|
|
||||||
.../mavenplugin/add/AddModuleInfoMojo.java | 53 ++-----------------
|
|
||||||
2 files changed, 8 insertions(+), 50 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml
|
|
||||||
index ea2ca1a..5756d49 100644
|
|
||||||
--- a/maven-plugin/pom.xml
|
|
||||||
+++ b/maven-plugin/pom.xml
|
|
||||||
@@ -59,6 +59,11 @@
|
|
||||||
<artifactId>moditect</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
+ <dependency>
|
|
||||||
+ <groupId>org.apache.maven</groupId>
|
|
||||||
+ <artifactId>maven-archiver</artifactId>
|
|
||||||
+ <version>3.6.2</version>
|
|
||||||
+ </dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven</groupId>
|
|
||||||
<artifactId>maven-plugin-api</artifactId>
|
|
||||||
diff --git a/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java b/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java
|
|
||||||
index cb5299d..68e0650 100644
|
|
||||||
--- a/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java
|
|
||||||
+++ b/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java
|
|
||||||
@@ -12,11 +12,6 @@ import java.io.IOException;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.StandardCopyOption;
|
|
||||||
-import java.time.Instant;
|
|
||||||
-import java.time.OffsetDateTime;
|
|
||||||
-import java.time.ZoneOffset;
|
|
||||||
-import java.time.format.DateTimeParseException;
|
|
||||||
-import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.HashMap;
|
|
||||||
@@ -31,6 +26,7 @@ import java.util.jar.JarFile;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
+import org.apache.maven.archiver.MavenArchiver;
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
|
||||||
import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
|
|
||||||
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
|
||||||
@@ -189,7 +185,7 @@ public class AddModuleInfoMojo extends AbstractMojo {
|
|
||||||
outputPath,
|
|
||||||
jvmVersion,
|
|
||||||
overwriteExistingFiles,
|
|
||||||
- InstantConverter.convert(outputTimestamp));
|
|
||||||
+ MavenArchiver.parseBuildOutputTimestamp(outputTimestamp).orElse(null));
|
|
||||||
|
|
||||||
addModuleInfo.run();
|
|
||||||
|
|
||||||
@@ -226,7 +222,7 @@ public class AddModuleInfoMojo extends AbstractMojo {
|
|
||||||
outputPath,
|
|
||||||
jvmVersion,
|
|
||||||
overwriteExistingFiles,
|
|
||||||
- InstantConverter.convert(outputTimestamp));
|
|
||||||
+ MavenArchiver.parseBuildOutputTimestamp(outputTimestamp).orElse(null));
|
|
||||||
addModuleInfo.run();
|
|
||||||
|
|
||||||
try {
|
|
||||||
@@ -490,47 +486,4 @@ public class AddModuleInfoMojo extends AbstractMojo {
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- private static class InstantConverter {
|
|
||||||
-
|
|
||||||
- private static final Instant DATE_MIN = Instant.parse("1980-01-01T00:00:02Z");
|
|
||||||
- private static final Instant DATE_MAX = Instant.parse("2099-12-31T23:59:59Z");
|
|
||||||
-
|
|
||||||
- public static Instant convert(String value) {
|
|
||||||
- if (value == null) {
|
|
||||||
- return null;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- // Number representing seconds since the epoch
|
|
||||||
- if (!value.isEmpty() && isNumeric(value)) {
|
|
||||||
- return Instant.ofEpochSecond(Long.parseLong(value.trim()));
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- try {
|
|
||||||
- // Parse the date in UTC such as '2011-12-03T10:15:30Z' or with an offset '2019-10-05T20:37:42+06:00'.
|
|
||||||
- final Instant date = OffsetDateTime.parse(value)
|
|
||||||
- .withOffsetSameInstant(ZoneOffset.UTC).truncatedTo(ChronoUnit.SECONDS).toInstant();
|
|
||||||
-
|
|
||||||
- if (date.isBefore(DATE_MIN) || date.isAfter(DATE_MAX)) {
|
|
||||||
- throw new IllegalArgumentException("'" + date + "' is not within the valid range "
|
|
||||||
- + DATE_MIN + " to " + DATE_MAX);
|
|
||||||
- }
|
|
||||||
- return date;
|
|
||||||
- }
|
|
||||||
- catch (DateTimeParseException pe) {
|
|
||||||
- throw new IllegalArgumentException("Invalid project.build.outputTimestamp value '" + value + "'",
|
|
||||||
- pe);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- private static boolean isNumeric(String str) {
|
|
||||||
- try {
|
|
||||||
- Long.parseLong(str.trim());
|
|
||||||
- return true;
|
|
||||||
- }
|
|
||||||
- catch (NumberFormatException e) {
|
|
||||||
- return false;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.50.1
|
|
||||||
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1b7b82718c2a46b02b4198e519ed776da4520d7092d6b0374da1a0c3aea4f31b
|
|
||||||
size 116105
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:02d186e71967646803b9316b17ce7ac5a858a4690f4afe9e4af2a2f9e73b2bb3
|
|
||||||
size 116950
|
|
Reference in New Issue
Block a user