Bug#1026608: jcommander: FTBFS: JCommander.java:45: error: malformed HTML

2022-12-20 Thread Lucas Nussbaum
Source: jcommander
Version: 1.71-3
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20221220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<>'
> dh_auto_build -- assemble javadoc
>   mkdir -p .gradle/init.d
>   cp /usr/share/gradle-debian-helper/init.gradle .gradle/init.d/
>   gradle --info --console plain --offline --stacktrace --no-daemon 
> --refresh-dependencies --gradle-user-home .gradle -Duser.home=. 
> -Duser.name=debian -Ddebian.package=jcommander -Dfile.encoding=UTF-8 
> --parallel --max-workers=8 assemble javadoc
> OpenJDK 64-Bit Server VM warning: Ignoring option --illegal-access=permit; 
> support was removed in 17.0
> Initialized native services in: /<>/.gradle/native
> To honour the JVM settings for this build a new JVM will be forked. Please 
> consider using the daemon: 
> https://docs.gradle.org/4.4.1/userguide/gradle_daemon.html.
> Starting process 'Gradle build daemon'. Working directory: 
> /<>/.gradle/daemon/4.4.1 Command: 
> /usr/lib/jvm/java-17-openjdk-amd64/bin/java 
> -Xbootclasspath/a:/usr/share/java/gradle-helper-hook.jar:/usr/share/java/maven-repo-helper.jar
>  --add-opens java.base/java.lang=ALL-UNNAMED -Dfile.encoding=UTF-8 
> -Duser.country -Duser.language=en -Duser.variant -cp 
> /usr/share/gradle/lib/gradle-launcher-4.4.1.jar 
> org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.4.1
> Successfully started process 'Gradle build daemon'
> An attempt to start the daemon took 0.906 secs.
> The client will now receive all logging from the daemon (pid: 1202805). The 
> daemon log file: /<>/.gradle/daemon/4.4.1/daemon-1202805.out.log
> Daemon will be stopped at the end of the build stopping after processing
> Closing daemon's stdin at end of input.
> The daemon will no longer process any standard input.
> Using 8 worker leases.
> Creating new cache for fileHashes, path 
> /<>/.gradle/caches/4.4.1/fileHashes/fileHashes.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@2330d380
> Creating new cache for resourceHashesCache, path 
> /<>/.gradle/caches/4.4.1/fileHashes/resourceHashesCache.bin, 
> access org.gradle.cache.internal.DefaultCacheAccess@2330d380
> Creating new cache for fileHashes, path 
> /<>/.gradle/4.4.1/fileHashes/fileHashes.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@4b34c716
> Starting Build
> Compiling initialization script '/<>/.gradle/init.d/init.gradle' 
> using SubsetScriptTransformer.
> Creating new cache for metadata-1.1/results, path 
> /<>/.gradle/caches/transforms-1/metadata-1.1/results.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@34dd2b4c
> Compiling initialization script '/<>/.gradle/init.d/init.gradle' 
> using BuildScriptTransformer.
> Settings evaluated using settings file '/<>/settings.gradle'.
>   Settings file not found (/<>/settings.gradle)
>   Root project name not defined in settings.gradle, defaulting to 
> 'jcommander' instead of the name of the root directory 'jcommander-1.71'
> Projects loaded. Root project using build file 
> '/<>/build.gradle'.
> Included projects: [root project 'jcommander']
>   Keep-alive timer started
>   Adding Debian repository to project 'jcommander'
> Parallel execution is an incubating feature.
> Evaluating root project 'jcommander' using build file 
> '/<>/build.gradle'.
> Compiling build file '/<>/build.gradle' using 
> SubsetScriptTransformer.
> Compiling build file '/<>/build.gradle' using 
> BuildScriptTransformer.
>   Adding Maven pom generation to project 'jcommander'
>   Linking the generated javadoc to the system JDK API documentation
> All projects evaluated.
> Selected primary task 'assemble' from project :
> Creating new cache for annotation-processors, path 
> /<>/.gradle/4.4.1/fileContent/annotation-processors.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@28ebf1f5
> Selected primary task 'javadoc' from project :
> Tasks to be executed: [task ':compileJava', task ':processResources', task 
> ':classes', task ':debianMavenPom', task ':jar', task ':assemble', task 
> ':javadoc']
> Creating new cache for resourceHashesCache, path 
> /<>/.gradle/4.4.1/fileHashes/resourceHashesCache.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@4b34c716
> Creating new cache for taskHistory, path 
> /<>/.gradle/4.4.1/taskHistory/taskHistory.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@439e408b
> Creating new cache for outputFiles, path 
> /<>/.gradle/buildOutputCleanup/outputFiles.bin, access 
> org.gradle.cache.internal.DefaultCacheAccess@5f0cab30
> :compileJava (Thread[Task worker for ':',5,main]) started.
> :compileJava
> Putting task artifact state for task ':compileJava' into context took 0.003 
> secs.
> Up-to-date check for task ':compileJava' took 0.045 secs. It is not 
> up-to-date because:
>   No history is available.
> All input fi

Bug#1026608: jcommander: FTBFS: JCommander.java:45: error: malformed HTML

2022-12-21 Thread Hans Joachim Desserud

tags 1026608 patch
thanks

See the attached patch which resolves the HTML errors to generate the 
JavaDoc and make the package build successfully.


--
mvh / best regards
Hans Joachim Desserud
http://desserud.orgDescription: Fix HTML errors in Javadoc causing build failures

Remove  tags, not part of HTML5
Replace <> wrapping author emails
Drop <> around generic T which is mistaken for HTML tag

Resolved based on how it was solved upstream:
https://github.com/cbeust/jcommander/commit/c31f983ae8f56a5b06f502009dfb32baa2be96f1
https://github.com/cbeust/jcommander/commit/7b46f253f625c91b47ef7e0780c01ffd357f4cd2

---

Origin: upstream, 
Forwarded: not-needed
Last-Update: 2022-12-21

--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/Parameter.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/Parameter.java
@@ -69,15 +69,15 @@ public @interface Parameter {
   boolean password() default false;
 
   /**
-   * The string converter to use for this field. If the field is of type List
-   * and not listConverter attribute was specified, JCommander will split
+   * The string converter to use for this field. If the field is of type List
+   * and not listConverter attribute was specified, JCommander will split
* the input in individual values and convert each of them separately.
*/
   Class> converter() default NoConverter.class;
 
   /**
* The list string converter to use for this field. If it's specified, the
-   * field has to be of type List and the converter needs to return
+   * field has to be of type List and the converter needs to return
* a List that's compatible with that type.
*/
   Class> listConverter() default NoConverter.class;
@@ -103,7 +103,7 @@ public @interface Parameter {
   boolean variableArity() default false;
 
   /**
-   * What splitter to use (applicable only on fields of type List). By default,
+   * What splitter to use (applicable only on fields of type List). By default,
* a comma separated splitter will be used.
*/
   Class splitter() default CommaParameterSplitter.class;

--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/IParameterValidator.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/IParameterValidator.java
@@ -21,7 +21,7 @@ package com.beust.jcommander;
 /**
  * The class used to validate parameters.
  *
- * @author Cedric Beust 
+ * @author Cedric Beust 
  */
 public interface IParameterValidator {
 
--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/IStringConverter.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/IStringConverter.java
@@ -33,7 +33,7 @@ package com.beust.jcommander;
  */
 public interface IStringConverter {
   /**
-   * @return an object of type  created from the parameter value.
+   * @return an object of type T created from the parameter value.
*/
   T convert(String value);
 }
--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/JCommander.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/JCommander.java
@@ -42,7 +42,7 @@ import java.util.concurrent.CopyOnWriteA
  * or an instance of Iterable. In the case of an array or Iterable, JCommander will collect
  * the \@Parameter annotations from all the objects passed in parameter.
  *
- * @author Cedric Beust 
+ * @author Cedric Beust 
  */
 public class JCommander {
 public static final String DEBUG_PROPERTY = "jcommander.debug";
--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/MissingCommandException.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/MissingCommandException.java
@@ -21,7 +21,7 @@ package com.beust.jcommander;
 /**
  * Thrown when a command was expected.
  *
- * @author Cedric Beust 
+ * @author Cedric Beust 
  */
 @SuppressWarnings("serial")
 public class MissingCommandException extends ParameterException {
--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/ParameterException.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/ParameterException.java
@@ -22,7 +22,7 @@ package com.beust.jcommander;
  * The main exception that JCommand will throw when something goes wrong while
  * parsing parameters.
  *
- * @author Cedric Beust 
+ * @author Cedric Beust 
  */
 @SuppressWarnings("serial")
 public class ParameterException extends RuntimeException {
--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/ResourceBundle.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/ResourceBundle.java
@@ -26,7 +26,7 @@ import java.lang.annotation.Target;
 /**
  * @deprecated use @Parameters
  * 
- * @author Cedric Beust 
+ * @author Cedric Beust 
  */
 @Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
 @Target({ TYPE })
--- jcommander-1.71.orig/src/main/java/com/beust/jcommander/SubParameter.java
+++ jcommander-1.71/src/main/java/com/beust/jcommander/SubParameter.java
@@ -7,7 +7,7 @@ import static java.lang.annotation.Eleme
 import static java.lang.annot