Compare commits

...

10 Commits

Author SHA256 Message Date
97f0c71909 Accepting request 1299963 from Java:packages
3.11.3

OBS-URL: https://build.opensuse.org/request/show/1299963
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/maven-javadoc-plugin?expand=0&rev=23
2025-08-17 12:50:17 +00:00
f713d28e3d OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=81 2025-08-17 07:15:51 +00:00
6691aefed3 Accepting request 1294861 from Java:packages
reproducible: another solution

OBS-URL: https://build.opensuse.org/request/show/1294861
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/maven-javadoc-plugin?expand=0&rev=22
2025-07-22 10:54:20 +00:00
cf185ef862 OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=79 2025-07-17 05:41:00 +00:00
8871c42815 OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=78 2025-07-16 07:21:14 +00:00
9c0e15df4c OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=77 2025-07-15 11:44:23 +00:00
759fdca0fc 2
OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=76
2025-07-15 11:39:56 +00:00
6c3a1551cb OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=75 2025-07-15 11:23:48 +00:00
647eb57cf9 OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=74 2025-07-15 11:18:41 +00:00
725e4cdbc3 Accepting request 1293399 from home:fstrba:maven
OBS-URL: https://build.opensuse.org/request/show/1293399
OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=73
2025-07-15 10:29:12 +00:00
9 changed files with 64 additions and 185 deletions

View File

@@ -1,65 +0,0 @@
From 116c679c73cc6f4a4826cedfde2d63496cfd0b2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Mon, 30 Sep 2024 19:54:38 +0200
Subject: [PATCH 1/3] Be consistent about data encoding
---
.../maven/plugins/javadoc/StaleHelper.java | 26 +++++++++++++------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java b/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java
index aabe9840..9bebe146 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java
@@ -40,6 +40,20 @@ import org.codehaus.plexus.util.cli.Commandline;
*/
public class StaleHelper {
+ /**
+ * Compute the encoding of the stale javadoc
+ *
+ * @return the the encoding of the stale data
+ */
+ private static Charset getDataCharset() {
+ if (JavaVersion.JAVA_SPECIFICATION_VERSION.isAtLeast("9")
+ && JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore("12")) {
+ return StandardCharsets.UTF_8;
+ } else {
+ return Charset.defaultCharset();
+ }
+ }
+
/**
* Compute the data used to detect a stale javadoc
*
@@ -55,13 +69,7 @@ public class StaleHelper {
String[] args = cmd.getArguments();
Collections.addAll(options, args);
- final Charset cs;
- if (JavaVersion.JAVA_SPECIFICATION_VERSION.isAtLeast("9")
- && JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore("12")) {
- cs = StandardCharsets.UTF_8;
- } else {
- cs = Charset.defaultCharset();
- }
+ final Charset cs = getDataCharset();
for (String arg : args) {
if (arg.startsWith("@")) {
@@ -115,9 +123,11 @@ public class StaleHelper {
*/
public static void writeStaleData(Commandline cmd, Path path) throws MavenReportException {
try {
+ final Charset cs = getDataCharset();
+
List<String> curdata = getStaleData(cmd);
Files.createDirectories(path.getParent());
- Files.write(path, curdata, StandardCharsets.UTF_8);
+ Files.write(path, curdata, cs);
} catch (IOException e) {
throw new MavenReportException("Error checking stale data", e);
}
--
2.50.0

View File

@@ -1,78 +0,0 @@
From 6535af41fdb17f29df87194c12f7dc725990f647 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Sat, 12 Jul 2025 09:48:17 +0200
Subject: [PATCH 2/3] Make the legacyMode consistent and actually useful
* Filter out all of the module-info.java files in legacy mode
* Do not use --source-path in legacy mode as not to suck any
of those module-info.java files back
* Generate the javadoc from list of files and not list of
packages, which is not working if --source-path is not
specified
---
.../plugins/javadoc/AbstractJavadocMojo.java | 29 ++++++++++---------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
index 42a20b9d..2c258c7e 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -2022,7 +2022,7 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
getLog().warn("sourceFileIncludes and sourceFileExcludes have no effect when subpackages are specified!");
includesExcludesActive = false;
}
- if (!packageNames.isEmpty() && !includesExcludesActive) {
+ if (!packageNames.isEmpty() && !includesExcludesActive && !legacyMode) {
addCommandLinePackages(cmd, javadocOutputDirectory, packageNames);
// ----------------------------------------------------------------------
@@ -2093,23 +2093,26 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
if (subpackages == null || subpackages.isEmpty()) {
Collection<String> excludedPackages = getExcludedPackages();
- final boolean autoExclude;
- if (release != null) {
- autoExclude = JavaVersion.parse(release).isBefore("9");
- } else if (source != null) {
- autoExclude = JavaVersion.parse(source).isBefore("9");
- } else {
- // if legacy mode is active, treat it like pre-Java 9 (exclude module-info),
- // otherwise don't auto-exclude anything.
- autoExclude = legacyMode;
+ // if legacy mode is active, treat it like pre-Java 9 (exclude module-info),
+ // otherwise don't auto-exclude anything. Do this regardless of the release
+ // or source values specified
+ boolean autoExclude = legacyMode;
+ if (!autoExclude) {
+ if (release != null) {
+ autoExclude = JavaVersion.parse(release).isBefore("9");
+ } else if (source != null) {
+ autoExclude = JavaVersion.parse(source).isBefore("9");
+ }
}
for (Path sourcePath : sourcePaths) {
File sourceDirectory = sourcePath.toFile();
- List<String> files = new ArrayList<>(JavadocUtil.getFilesFromSource(
+ ArrayList<String> files = new ArrayList<>(JavadocUtil.getFilesFromSource(
sourceDirectory, sourceFileIncludes, sourceFileExcludes, excludedPackages));
- if (autoExclude && files.remove("module-info.java")) {
+ // in the aggregate goal (and theoretically in others too), there can be
+ // more then one module-info.java. Filter out all of them.
+ if (autoExclude && files.removeIf(s -> s.endsWith("module-info.java"))) {
getLog().debug("Auto exclude module-info.java due to source value");
}
mappedFiles.put(sourcePath, files);
@@ -4603,7 +4606,7 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
}
if (moduleSourceDir == null) {
- if (!disableSourcepathUsage) {
+ if (!disableSourcepathUsage && !legacyMode) {
addArgIfNotEmpty(
arguments,
"-sourcepath",
--
2.50.0

View File

@@ -1,29 +0,0 @@
From c5ea1d8b25ab1958ece6d6f3652ca879bd406fac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Mon, 30 Sep 2024 19:53:57 +0200
Subject: [PATCH 3/3] reproducible from environment
---
.../apache/maven/plugins/javadoc/AbstractJavadocMojo.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
index 2c258c7e..ddcb6ede 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -2671,6 +2671,12 @@ public abstract class AbstractJavadocMojo extends AbstractMojo {
private String getBottomText() {
final String inceptionYear = project.getInceptionYear();
+ if (outputTimestamp == null
+ || outputTimestamp.length() < 1
+ || ((outputTimestamp.length() == 1) && !Character.isDigit(outputTimestamp.charAt(0)))) {
+ outputTimestamp = System.getenv("SOURCE_DATE_EPOCH");
+ }
+
// get Reproducible Builds outputTimestamp date value or the current local date.
final LocalDate localDate = MavenArchiver.parseBuildOutputTimestamp(outputTimestamp)
.map(instant -> instant.atZone(ZoneOffset.UTC).toLocalDate())
--
2.50.0

View File

@@ -2,7 +2,7 @@
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/apache/maven-javadoc-plugin.git</param>
<param name="revision">maven-javadoc-plugin-3.11.2</param>
<param name="revision">maven-javadoc-plugin-3.11.3</param>
<param name="match-tag">maven-javadoc-plugin-*</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">maven-javadoc-plugin-(.*)</param>

BIN
maven-javadoc-plugin-3.11.2.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50af43bddd3429a934a618dc5761051dd27832e46a0db365f1eddc07a36ea127
size 823220

View File

@@ -14,7 +14,7 @@
value="The Apache Maven Javadoc Plugin is a plugin that uses the javadoc tool for generating javadocs for the specified project."/>
<property name="project.groupId" value="org.apache.maven.plugins"/>
<property name="project.artifactId" value="maven-javadoc-plugin"/>
<property name="project.version" value="3.11.2"/>
<property name="project.version" value="3.11.3"/>
<property name="project.organization.name" value="The Apache Software Foundation"/>
<property name="spec.version" value="3.11"/>

View File

@@ -1,3 +1,60 @@
-------------------------------------------------------------------
Sun Aug 17 07:08:31 UTC 2025 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 3.11.3
* Removed
+ Remove workaround for long patched CVE in javadoc
* New features and improvements
+ Issue #369 Support --no-fonts option per default for jdk 23+
* Bug Fixes
+ Make the legacyMode consistent (Filter out all of the
module-info.java files in legacy mode, do not use
--source-path in legacy mode)
+ MJAVADOC-826: Don't try to modify project source roots
* Documentation updates
+ Correct javadoc-no-fork description on index-page
+ MNGSITE-529: Rename "Goals" to "Plugin Documentation"
+ (doc) Close links tag in links parameter javadoc example
* Maintenance
+ Be consistent about data encoding when copying files
+ Clean up JavadocUtilTest
+ Use Java 7 relativization instead of hand-rolled code
+ Rephrase source code fix interactive messages for clarity
+ Reduce non-debug logging
+ Delete duplicate @throws clause
+ Use Java 7 relativization instead of our hand-rolled code
+ Clean up comments and argument names
+ Issue #378 Cleanup of code related to old non supported Java
version
+ Cure deprecation warning
+ MJAVADOC-773: deprecate toRelative
+ Issue #373 Fix JDK 23 build
+ Fix aggregate Javadoc typo
+ Enable GH issues
+ MJAVADOC-825: Prefer NullPointerExceptions for null arguments
- Removed patches:
* 0001-Be-consistent-about-data-encoding-when-copying-files.patch
* 0002-Make-the-legacyMode-consistent-and-actually-useful.patch
+ integrated in this version
-------------------------------------------------------------------
Thu Jul 17 05:40:16 UTC 2025 - Fridrich Strba <fstrba@suse.com>
- Removed patch:
* 0003-reproducible-from-environment.patch
+ We made the modification more central in maven-archiver
-------------------------------------------------------------------
Tue Jul 15 11:40:44 UTC 2025 - Fridrich Strba <fstrba@suse.com>
- Modified patches:
* 0001-Be-consistent-about-data-encoding.patch ->
0001-Be-consistent-about-data-encoding-when-copying-files.patch
+ Take the version of our PR that was integrated upstream
* 0003-reproducible-from-environment.patch
+ Make the situation exactly the same as before if the
SOURCE_DATE_EPOCH is not set
-------------------------------------------------------------------
Sat Jul 12 08:03:13 UTC 2025 - Fridrich Strba <fstrba@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package maven-javadoc-plugin
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,7 +23,7 @@
%bcond_with bootstrap
%endif
%global base_name maven-javadoc-plugin
Version: 3.11.2
Version: 3.11.3
Release: 0
Summary: Maven plugin for creating javadocs
License: Apache-2.0
@@ -32,9 +32,6 @@ URL: https://maven.apache.org/plugins/maven-javadoc-plugin
Source0: %{base_name}-%{version}.tar.xz
Source1: %{base_name}-build.xml
Patch0: %{base_name}-bootstrap-resources.patch
Patch1: 0001-Be-consistent-about-data-encoding.patch
Patch2: 0002-Make-the-legacyMode-consistent-and-actually-useful.patch
Patch3: 0003-reproducible-from-environment.patch
BuildRequires: apache-commons-io
BuildRequires: apache-commons-lang3
BuildRequires: apache-commons-text
@@ -116,9 +113,6 @@ API documentation for %{name}.
cp %{SOURCE1} build.xml
%patch -P 0 -p1
%endif
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%pom_remove_dep :::test: