From afd1be745d3bcd01a3f722d02c78b1225c8f4f27 Mon Sep 17 00:00:00 2001 From: Arunodoy18 Date: Tue, 2 Dec 2025 20:45:36 +0530 Subject: [PATCH] Fix Javadoc Unicode rendering issue with RIGHT SINGLE QUOTATION MARK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add docencoding UTF-8 option to Javadoc configuration in BeamModulePlugin - Replace U+2019 (RIGHT SINGLE QUOTATION MARK) with ASCII apostrophe in source files - Fixes rendering issue where Unicode apostrophes show as â in generated Javadoc Fixes rendering of text like 'doesn't' which was showing as 'doesnât' in HTML output. --- .../groovy/org/apache/beam/gradle/BeamModulePlugin.groovy | 2 ++ .../src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java | 2 +- .../sdk/io/kafka/KafkaReadSchemaTransformConfiguration.java | 4 ++-- sdks/java/javadoc/build.gradle | 3 +++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy index 3f299916db8c..4bc781de4d1d 100644 --- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy @@ -1424,6 +1424,8 @@ class BeamModulePlugin implements Plugin { // Configures javadoc plugin and ensure check runs javadoc. project.tasks.withType(Javadoc) { options.encoding = 'UTF-8' + options.docEncoding = 'UTF-8' + options.charSet = 'UTF-8' options.addBooleanOption('Xdoclint:-missing', true) } project.check.dependsOn project.javadoc diff --git a/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java b/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java index 48e4ae2317ac..9a07879b7064 100644 --- a/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java +++ b/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java @@ -1,4 +1,4 @@ -/* +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information diff --git a/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaReadSchemaTransformConfiguration.java b/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaReadSchemaTransformConfiguration.java index 0cf40f9b7eba..ae3ef32a0c35 100644 --- a/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaReadSchemaTransformConfiguration.java +++ b/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaReadSchemaTransformConfiguration.java @@ -1,4 +1,4 @@ -/* +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -145,7 +145,7 @@ public static Builder builder() { "What to do when there is no initial offset in Kafka or if the current offset" + " does not exist any more on the server. (1) earliest: automatically reset the offset to the earliest" + " offset. (2) latest: automatically reset the offset to the latest offset" - + " (3) none: throw exception to the consumer if no previous offset is found for the consumer’s group") + + " (3) none: throw exception to the consumer if no previous offset is found for the consumer's group") @SchemaFieldNumber("7") @Nullable public abstract String getAutoOffsetResetConfig(); diff --git a/sdks/java/javadoc/build.gradle b/sdks/java/javadoc/build.gradle index fe746710053c..fc86a5132af6 100644 --- a/sdks/java/javadoc/build.gradle +++ b/sdks/java/javadoc/build.gradle @@ -77,6 +77,9 @@ task aggregateJavadoc(type: Javadoc) { options.with { title "Apache Beam " + project.version overview 'overview.html' + encoding 'UTF-8' + docEncoding 'UTF-8' + charSet 'UTF-8' for (dep in project.library.java.values()) { links createJavadocIOUrlForDependency(dep) }