[javadoc] new javadoc tools, new boneheaded mistakes. Seemingly nobody gives a toss about this tool over at oracle? Used some hacks to work around the worst offenses.

This commit is contained in:
Reinier Zwitserloot committed 2019-03-25 21:26:09 +01:00
1 parent 732d3db79a
commit ec543dff8e
4 files changed
+42 -9

No files matched your search

+19 -6
View File
@@ -281,21 +281,21 @@ such as applying the templates to produce the website, converting the changelog
<property name="javadoc.overview.html" location="build/javadoc.overview.html" />
<echo file="${javadoc.overview.html}"><![CDATA[<html><body>
Welcome to the lombok javadoc.&nbsp;If you're just looking to learn more about using lombok
You probably want to look at <a href="https://projectlombok.org/features/index.html">the feature documentation</a>.&nbsp;Otherwise,
You probably want to look at <a href="https://projectlombok.org/features/all">the feature documentation</a>.&nbsp;Otherwise,
check the <a href="lombok/package-summary.html">lombok</a> package.&nbsp;If you're trying to extend lombok or
write your own plugins, the other packages are what you're looking for.</body></html>
]]></echo>
<javadoc sourcepath="src/core" defaultexcludes="yes" destdir="build/api" windowtitle="Lombok" Overview="${javadoc.overview.html}">
<javadoc sourcepath="src/core" defaultexcludes="yes" destdir="build/api" windowtitle="Lombok" source="1.8" Overview="${javadoc.overview.html}">
<package name="lombok" />
<package name="lombok.experimental" />
<package name="lombok.extern.*" />
<classpath refid="build.path" />
<classpath location="build/lombok" />
<header><![CDATA[<a href='https://projectlombok.org/' target='_blank'>Lombok</a> - ]]>v${lombok.version}</header>
<bottom><![CDATA[<i>Copyright &copy; 2009-2018 The Project Lombok Authors, licensed under the <a href='http://www.opensource.org/licenses/mit-license.php' target='_blank'>MIT licence</a>.]]></bottom>
<bottom><![CDATA[<i>Copyright &copy; 2009-2019 The Project Lombok Authors, licensed under the <a href='http://www.opensource.org/licenses/mit-license.php' target='_blank'>MIT licence</a>.]]></bottom>
</javadoc>
<!-- bugfix for boneheaded javadoc bug where ?is-external=true is inserted before an anchor ref, breaking the anchor ref.
is-external=true doesn't actually do anything, so, we'll just get rid of it. -->
is-external=true doesn't actually do anything except mess with titles, so, we'll just get rid of it. -->
<replaceregexp match="\?is-external=true#" replace="#" flags="gi">
<fileset dir="build/api" includes="**/*.html" />
</replaceregexp>
@@ -304,12 +304,25 @@ such as applying the templates to produce the website, converting the changelog
<fileset dir="build/api" includes="**/*.html" />
<filterchain>
<linecontainsregexp negate="true">
<regexp pattern="(Generated by javadoc)|(.META NAME=.date.)" />
<regexp pattern="(Generated by javadoc)|(.META NAME=.date.)|(meta name=.dc.created.)" />
</linecontainsregexp>
</filterchain>
</copy>
<copy todir="doc/api">
<fileset dir="build/api" excludes="**/*.html" />
<fileset dir="build/api" includes="**/*.css" />
<filterchain>
<linecontainsregexp negate="true">
<regexp pattern="@import.*dejavu.css.*" />
</linecontainsregexp>
</filterchain>
</copy>
<copy todir="doc/api">
<fileset dir="build/api">
<exclude name="**/*.html" />
<exclude name="**/*.css" />
</fileset>
</copy>
<echo append="true" file="doc/api/module-search-index.js"></echo>
<echo append="true" file="doc/api/tag-search-index.js"></echo>
</target>
</project>
+8 -1
View File
@@ -97,6 +97,8 @@ public @interface EqualsAndHashCode {
/**
* Only include fields and methods explicitly marked with {@code @EqualsAndHashCode.Include}.
* Normally, all (non-static, non-transient) fields are included by default.
*
* @return If {@code true}, don't include non-static non-transient fields automatically (default: {@code false}).
*/
boolean onlyExplicitlyIncluded() default false;
@@ -113,7 +115,12 @@ public @interface EqualsAndHashCode {
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.SOURCE)
public @interface Include {
/** Defaults to the method name of the annotated member. If on a method and the name equals the name of a default-included field, this member takes its place. */
/**
* Defaults to the method name of the annotated member.
* If on a method and the name equals the name of a default-included field, this member takes its place.
*
* @return If present, this method serves as replacement for the named field.
*/
String replaces() default "";
}
}
+13 -2
View File
@@ -83,6 +83,8 @@ public @interface ToString {
/**
* Only include fields and methods explicitly marked with {@code @ToString.Include}.
* Normally, all (non-static) fields are included by default.
*
* @return If {@code true}, don't include non-static fields automatically (default: {@code false}).
*/
boolean onlyExplicitlyIncluded() default false;
@@ -102,10 +104,19 @@ public @interface ToString {
// /** If true and the return value is {@code null}, omit this member entirely from the {@code toString} output. */
// boolean skipNull() default false; // -- We'll add it later, it requires a complete rework on the toString code we generate.
/** Higher ranks are printed first. Members of the same rank are printed in the order they appear in the source file. */
/**
* Higher ranks are printed first. Members of the same rank are printed in the order they appear in the source file.
*
* @return ordering within the generating {@code toString()}; higher numbers are printed first.
*/
int rank() default 0;
/** Defaults to the field / method name of the annotated member. If the name equals the name of a default-included field, this member takes its place. */
/**
* Defaults to the field / method name of the annotated member.
* If the name equals the name of a default-included field, this member takes its place.
*
* @return The name to show in the generated {@code toString()}. Also, if this annotation is on a method and the name matches an existing field, it replaces that field.
*/
String name() default "";
}
}
@@ -41,6 +41,8 @@ public @interface FieldNameConstants {
/**
* Only include fields and methods explicitly marked with {@code @FieldNameConstants.Include}.
* Normally, all (non-static) fields are included by default.
*
* @return If {@code true}, don't include non-static fields automatically (default: {@code false}).
*/
boolean onlyExplicitlyIncluded() default false;