This is an automated email from the ASF dual-hosted git repository.
aw-was-here pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/yetus.git
The following commit(s) were added to refs/heads/main by this push:
new c4ba327b YETUS-1271. Fix javadoc build (#383)
c4ba327b is described below
commit c4ba327b0ab5e527eb15de2297a76fa341ce19a4
Author: Allen Wittenauer <[email protected]>
AuthorDate: Thu Apr 30 06:54:29 2026 -0700
YETUS-1271. Fix javadoc build (#383)
Signed-off-by: Nick Dimiduk <[email protected]>
---
.../apache/yetus/audience/InterfaceAudience.java | 9 ++++-
.../apache/yetus/audience/InterfaceStability.java | 22 ++++++-----
.../ExcludePrivateAnnotationsStandardDoclet.java | 44 ++++++++++++++++++++--
.../IncludePublicAnnotationsStandardDoclet.java | 20 +++++++++-
pom.xml | 9 ++++-
.../yetus/maven/plugin/fileops/CreateDirsMojo.java | 5 +++
.../maven/plugin/fileops/CreateSymLinkMojo.java | 5 +++
.../yetus/maven/plugin/fileops/MakeBins4Libs.java | 5 +++
8 files changed, 103 insertions(+), 16 deletions(-)
diff --git
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceAudience.java
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceAudience.java
index dac0e6f3..934c0896 100644
---
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceAudience.java
+++
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceAudience.java
@@ -46,7 +46,7 @@
@InterfaceAudience.Public
@InterfaceStability.Evolving
-public class InterfaceAudience {
+public final class InterfaceAudience {
/**
* Intended for use by any project or application.
*/
@@ -61,6 +61,10 @@ public class InterfaceAudience {
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface LimitedPrivate {
+ /**
+ * The list of projects with access.
+ * @return project names
+ */
String[] value();
}
@@ -71,5 +75,6 @@ public class InterfaceAudience {
@Retention(RetentionPolicy.RUNTIME)
public @interface Private { }
- private InterfaceAudience() { } // Audience can't exist on its own
+ /** Audience can't exist on its own. */
+ private InterfaceAudience() { }
}
diff --git
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceStability.java
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceStability.java
index af7549ff..418c245c 100644
---
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceStability.java
+++
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceStability.java
@@ -21,25 +21,29 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
-import org.apache.yetus.audience.InterfaceAudience.LimitedPrivate;
-import org.apache.yetus.audience.InterfaceAudience.Private;
-import org.apache.yetus.audience.InterfaceAudience.Public;
-
/**
* Annotation to inform users of how much to rely on a particular package,
* class or method not changing over time. Currently the stability can be
* {@link Stable}, {@link Evolving} or {@link Unstable}. <br>
*
- * <ul><li>All classes that are annotated with {@link Public} or
- * {@link LimitedPrivate} must have InterfaceStability annotation. </li>
- * <li>Classes that are {@link Private} are to be considered unstable unless
- * a different InterfaceStability annotation states otherwise.</li>
- * <li>Incompatible changes must not be made to classes marked as stable.</li>
+ * <ul><li>All classes that are annotated with
+ * {@link InterfaceAudience.Public} or
+ * {@link InterfaceAudience.LimitedPrivate} must have InterfaceStability
+ * annotation. </li>
+ * <li>Classes that are {@link InterfaceAudience.Private} are to be
+ * considered unstable unless a different InterfaceStability annotation
+ * states otherwise.</li>
+ * <li>Incompatible changes must not be made to classes marked as
+ * stable.</li>
* </ul>
*/
@InterfaceAudience.Public
@InterfaceStability.Evolving
public class InterfaceStability {
+ /** Default constructor. */
+ public InterfaceStability() {
+ }
+
/**
* Can evolve while retaining compatibility for minor release boundaries.
* can break compatibility only at major release (ie. at m.0).
diff --git
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.java
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.java
index f6459996..1b25286d 100644
---
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.java
+++
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.java
@@ -25,7 +25,6 @@
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Set;
-import java.util.TreeSet;
/**
* A {@link jdk.javadoc.doclet.Doclet}
@@ -33,26 +32,65 @@
* {@link org.apache.yetus.audience.InterfaceAudience.Private} or
* {@link org.apache.yetus.audience.InterfaceAudience.LimitedPrivate}.
* It delegates to the Standard Doclet, and takes the same options.
+ * Subclasses may override {@link #getName()}, {@link #getSupportedOptions()},
+ * and {@link #run(DocletEnvironment)} to customize behavior.
*/
@InterfaceAudience.Public
@InterfaceStability.Evolving
public class ExcludePrivateAnnotationsStandardDoclet extends StandardDoclet {
- protected DocletEnvironmentProcessor processor = new
DocletEnvironmentProcessor();
+ /** Default constructor. */
+ public ExcludePrivateAnnotationsStandardDoclet() {
+ super();
+ }
+
+ /** The doclet environment processor. */
+ // CHECKSTYLE:OFF VisibilityModifier - protected for subclass API
compatibility
+ protected DocletEnvironmentProcessor processor =
+ new DocletEnvironmentProcessor();
+ // CHECKSTYLE:ON VisibilityModifier
+
+ /**
+ * Returns the processor used to filter the doclet environment.
+ * @return the doclet environment processor
+ */
+ protected DocletEnvironmentProcessor getProcessor() {
+ return processor;
+ }
+ /**
+ * {@inheritDoc}
+ * Returns the name of this doclet.
+ * Subclasses should override to return a distinct name.
+ * @return doclet name
+ */
@Override
public String getName() {
return "ExcludePrivateAnnotationsStandard";
}
+ /**
+ * {@inheritDoc}
+ * Returns the supported options, including stability filter options.
+ * Subclasses may override to add or remove options.
+ * @return set of supported options
+ */
@Override
public Set<Option> getSupportedOptions() {
Set<Option> options = new HashSet<>(super.getSupportedOptions());
- Set<StabilityOption> stabilityOptions =
EnumSet.allOf(StabilityOption.class);
+ Set<StabilityOption> stabilityOptions =
+ EnumSet.allOf(StabilityOption.class);
stabilityOptions.forEach(o -> o.setProcessor(processor));
options.addAll(stabilityOptions);
return options;
}
+ /**
+ * {@inheritDoc}
+ * Runs the doclet, wrapping the environment to filter private elements.
+ * Subclasses may override to apply additional filtering.
+ * @param environment the doclet environment
+ * @return true if successful
+ */
@Override
public boolean run(final DocletEnvironment environment) {
return super.run(processor.wrap(environment));
diff --git
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.java
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.java
index 3b308d1a..601962e2 100644
---
a/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.java
+++
b/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.java
@@ -38,12 +38,30 @@
@InterfaceStability.Evolving
public class IncludePublicAnnotationsStandardDoclet
extends ExcludePrivateAnnotationsStandardDoclet {
+ /** Default constructor. */
+ public IncludePublicAnnotationsStandardDoclet() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ * Initializes the doclet, marking unannotated classes as private.
+ * Subclasses may override to apply additional initialization.
+ * @param locale the locale for messages
+ * @param reporter the reporter for messages
+ */
@Override
public void init(final Locale locale, final Reporter reporter) {
- processor.treatUnannotatedClassesAsPrivate();
+ getProcessor().treatUnannotatedClassesAsPrivate();
super.init(locale, reporter);
}
+ /**
+ * {@inheritDoc}
+ * Returns the name of this doclet.
+ * Subclasses should override to return a distinct name.
+ * @return doclet name
+ */
@Override
public String getName() {
return "IncludePublicAnnotationsStandard";
diff --git a/pom.xml b/pom.xml
index 4da84c6a..47f65362 100644
--- a/pom.xml
+++ b/pom.xml
@@ -145,11 +145,19 @@
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<notimestamp>true</notimestamp><!-- avoid noise for svn/gitpubsub
-->
+ <release combine.self="override"></release>
<additionalOptions>${jigsaw.avoidance}</additionalOptions>
<additionalJOption>-J${jigsaw.avoidance}</additionalJOption>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <exportAntProperties>false</exportAntProperties>
+ </configuration>
+ </plugin>
+
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
@@ -308,7 +316,6 @@
<additionalOptions>
<additionalOption>${jigsaw.avoidance}</additionalOption>
</additionalOptions>
-
<additionalJOption>-J${jigsaw.avoidance}</additionalJOption>
<doclet>org.apache.yetus.audience.tools.ExcludePrivateAnnotationsStandardDoclet</doclet>
diff --git
a/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateDirsMojo.java
b/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateDirsMojo.java
index bec4af8d..0dc5caed 100644
---
a/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateDirsMojo.java
+++
b/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateDirsMojo.java
@@ -34,6 +34,11 @@
@InterfaceStability.Unstable
public final class CreateDirsMojo extends AbstractMojo {
+ /** Default constructor. */
+ public CreateDirsMojo() {
+ super();
+ }
+
/**
* Location of the dirName.
*/
diff --git
a/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateSymLinkMojo.java
b/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateSymLinkMojo.java
index d0e61467..2026ae4a 100644
---
a/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateSymLinkMojo.java
+++
b/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/CreateSymLinkMojo.java
@@ -39,6 +39,11 @@
@InterfaceStability.Unstable
public final class CreateSymLinkMojo extends AbstractMojo {
+ /** Default constructor. */
+ public CreateSymLinkMojo() {
+ super();
+ }
+
/**
* Location of the target.
*/
diff --git
a/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/MakeBins4Libs.java
b/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/MakeBins4Libs.java
index d7698979..a91b21c4 100644
---
a/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/MakeBins4Libs.java
+++
b/yetus-maven-plugin/src/main/java/org/apache/yetus/maven/plugin/fileops/MakeBins4Libs.java
@@ -45,6 +45,11 @@
@InterfaceStability.Unstable
public final class MakeBins4Libs extends AbstractMojo {
+ /** Default constructor. */
+ public MakeBins4Libs() {
+ super();
+ }
+
/**
* bin dir.
*/