From bc2da8a1073a374203bd63bb06932449a68bb005074123616b9eb902fa77de94 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Mon, 14 Mar 2022 06:25:04 +0000 Subject: [PATCH 1/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=30 --- maven-javadoc-plugin.changes | 8 ++++++ maven-javadoc-plugin.spec | 2 ++ stale-data-encoding.patch | 53 ++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 stale-data-encoding.patch diff --git a/maven-javadoc-plugin.changes b/maven-javadoc-plugin.changes index a5ea91f..7aa4c58 100644 --- a/maven-javadoc-plugin.changes +++ b/maven-javadoc-plugin.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Mar 14 06:23:46 UTC 2022 - Fridrich Strba + +- Added patch: + * stale-data-encoding.patch + + respect specified encoding when writing stale data + + fixes build with utf-8 sources on non utf-8 platforms + ------------------------------------------------------------------- Fri Mar 11 07:05:23 UTC 2022 - Fridrich Strba diff --git a/maven-javadoc-plugin.spec b/maven-javadoc-plugin.spec index 22b2512..228077e 100644 --- a/maven-javadoc-plugin.spec +++ b/maven-javadoc-plugin.spec @@ -32,6 +32,7 @@ URL: http://maven.apache.org/plugins/maven-javadoc-plugin Source0: https://repo1.maven.org/maven2/org/apache/maven/plugins/%{base_name}/%{version}/%{base_name}-%{version}-source-release.zip Source1: %{base_name}-build.xml Patch0: %{base_name}-bootstrap-resources.patch +Patch1: stale-data-encoding.patch BuildRequires: apache-commons-cli BuildRequires: apache-commons-io BuildRequires: apache-commons-lang3 @@ -120,6 +121,7 @@ API documentation for %{name}. cp %{SOURCE1} build.xml %patch0 -p1 %endif +%patch1 -p1 %pom_xpath_remove pom:project/pom:parent/pom:relativePath %pom_remove_dep :::test: diff --git a/stale-data-encoding.patch b/stale-data-encoding.patch new file mode 100644 index 0000000..87148ea --- /dev/null +++ b/stale-data-encoding.patch @@ -0,0 +1,53 @@ +--- maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java 2022-02-07 20:52:42.000000000 +0100 ++++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java 2022-03-14 07:21:32.537764730 +0100 +@@ -5969,7 +5969,7 @@ + if ( !isUpToDate( cmd ) ) + { + doExecuteJavadocCommandLine( cmd, javadocOutputDirectory ); +- StaleHelper.writeStaleData( cmd, staleDataPath.toPath() ); ++ StaleHelper.writeStaleData( cmd, staleDataPath.toPath(), Charset.forName(getEncoding()) ); + } + } + else +--- maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-02-07 20:52:42.000000000 +0100 ++++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-03-14 07:19:21.228985255 +0100 +@@ -134,16 +134,17 @@ + * + * @param cmd the command line + * @param path the stale data path ++ * @param encoding the encoding of source files + * @throws MavenReportException if an error occurs + */ +- public static void writeStaleData( Commandline cmd, Path path ) ++ public static void writeStaleData( Commandline cmd, Path path, Charset charset ) + throws MavenReportException + { + try + { + String curdata = getStaleData( cmd ); + Files.createDirectories( path.getParent() ); +- Files.write( path, Collections.singleton( curdata ), Charset.defaultCharset() ); ++ Files.write( path, Collections.singleton( curdata ), charset ); + } + catch ( IOException e ) + { +@@ -151,6 +152,19 @@ + } + } + ++ /** ++ * Write the data used to detect a stale javadoc ++ * ++ * @param cmd the command line ++ * @param path the stale data path ++ * @throws MavenReportException if an error occurs ++ */ ++ public static void writeStaleData( Commandline cmd, Path path ) ++ throws MavenReportException ++ { ++ writeStaleData( cmd, path, Charset.defaultCharset()); ++ } ++ + private static Collection walk( Path dir ) + { + Collection paths = new ArrayList<>(); From fa9c9324653834e175303303f9f1a7ec856d2b24fc2228d1fff703b596374774 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Mon, 14 Mar 2022 06:41:51 +0000 Subject: [PATCH 2/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=31 --- stale-data-encoding.patch | 57 ++++++++++----------------------------- 1 file changed, 14 insertions(+), 43 deletions(-) diff --git a/stale-data-encoding.patch b/stale-data-encoding.patch index 87148ea..277a4d9 100644 --- a/stale-data-encoding.patch +++ b/stale-data-encoding.patch @@ -1,53 +1,24 @@ ---- maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java 2022-02-07 20:52:42.000000000 +0100 -+++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java 2022-03-14 07:21:32.537764730 +0100 -@@ -5969,7 +5969,7 @@ - if ( !isUpToDate( cmd ) ) - { - doExecuteJavadocCommandLine( cmd, javadocOutputDirectory ); -- StaleHelper.writeStaleData( cmd, staleDataPath.toPath() ); -+ StaleHelper.writeStaleData( cmd, staleDataPath.toPath(), Charset.forName(getEncoding()) ); - } - } - else --- maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-02-07 20:52:42.000000000 +0100 -+++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-03-14 07:19:21.228985255 +0100 -@@ -134,16 +134,17 @@ - * - * @param cmd the command line - * @param path the stale data path -+ * @param encoding the encoding of source files - * @throws MavenReportException if an error occurs - */ -- public static void writeStaleData( Commandline cmd, Path path ) -+ public static void writeStaleData( Commandline cmd, Path path, Charset charset ) - throws MavenReportException ++++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-03-14 07:39:23.168128611 +0100 +@@ -141,9 +141,20 @@ { try { ++ final Charset cs; ++ if ( JavaVersion.JAVA_SPECIFICATION_VERSION.isAtLeast( "9" ) ++ && JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore( "12" ) ) ++ { ++ cs = StandardCharsets.UTF_8; ++ } ++ else ++ { ++ cs = Charset.defaultCharset(); ++ } ++ String curdata = getStaleData( cmd ); Files.createDirectories( path.getParent() ); - Files.write( path, Collections.singleton( curdata ), Charset.defaultCharset() ); -+ Files.write( path, Collections.singleton( curdata ), charset ); ++ Files.write( path, Collections.singleton( curdata ), cs); } catch ( IOException e ) { -@@ -151,6 +152,19 @@ - } - } - -+ /** -+ * Write the data used to detect a stale javadoc -+ * -+ * @param cmd the command line -+ * @param path the stale data path -+ * @throws MavenReportException if an error occurs -+ */ -+ public static void writeStaleData( Commandline cmd, Path path ) -+ throws MavenReportException -+ { -+ writeStaleData( cmd, path, Charset.defaultCharset()); -+ } -+ - private static Collection walk( Path dir ) - { - Collection paths = new ArrayList<>(); From cb2049151dabb19200248efb010651840430f7579a7b7e0494144ee190e2826b Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Mon, 14 Mar 2022 06:49:23 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=32 --- stale-data-encoding.patch | 53 ++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/stale-data-encoding.patch b/stale-data-encoding.patch index 277a4d9..dcdbf50 100644 --- a/stale-data-encoding.patch +++ b/stale-data-encoding.patch @@ -1,19 +1,48 @@ --- maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-02-07 20:52:42.000000000 +0100 -+++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-03-14 07:39:23.168128611 +0100 -@@ -141,9 +141,20 @@ ++++ maven-javadoc-plugin-3.3.2/src/main/java/org/apache/maven/plugins/javadoc/StaleHelper.java 2022-03-14 07:46:55.466835949 +0100 +@@ -43,6 +43,19 @@ + public class StaleHelper + { + ++ 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 + * +@@ -61,16 +74,7 @@ + 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 ) + { +@@ -141,9 +145,11 @@ { try { -+ 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(); + String curdata = getStaleData( cmd ); Files.createDirectories( path.getParent() ); From 3e8693949b54d10c634759fb1b9cd184dca83bc34b2b5d3b942f0dcd993eaea2 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Mon, 14 Mar 2022 06:50:19 +0000 Subject: [PATCH 4/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-javadoc-plugin?expand=0&rev=33 --- maven-javadoc-plugin.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maven-javadoc-plugin.changes b/maven-javadoc-plugin.changes index 7aa4c58..e6c411c 100644 --- a/maven-javadoc-plugin.changes +++ b/maven-javadoc-plugin.changes @@ -3,7 +3,7 @@ Mon Mar 14 06:23:46 UTC 2022 - Fridrich Strba - Added patch: * stale-data-encoding.patch - + respect specified encoding when writing stale data + + use the same encoding when writing and getting the stale data + fixes build with utf-8 sources on non utf-8 platforms -------------------------------------------------------------------