From 02e43ab1348a63f65f167cbcb90dea73f324e938 Mon Sep 17 00:00:00 2001 From: Lai Jiang Date: Wed, 27 May 2020 10:33:46 -0400 Subject: [PATCH] Add a task to compile javadoc across all packages (#597) Also fixes various issues that prevent javadoc compliation. --- build.gradle | 23 +++++ .../java/google/registry/util/Sleeper.java | 1 - .../registry/bigquery/BigqueryConnection.java | 8 +- .../writer/dnsupdate/DnsMessageTransport.java | 2 +- .../registry/flows/EppXmlSanitizer.java | 4 +- .../custom/DomainCheckFlowCustomLogic.java | 4 +- .../java/google/registry/model/OteStats.java | 3 +- .../registry/model/UpdateAutoTimestamp.java | 2 +- .../model/contact/ContactCommand.java | 6 +- .../registry/model/contact/Disclose.java | 4 +- .../registry/model/contact/PostalInfo.java | 4 +- .../registry/model/domain/DomainCommand.java | 29 ++++--- .../google/registry/model/domain/Period.java | 2 +- .../FeeCheckCommandExtensionItemV12.java | 2 + .../model/domain/launch/LaunchNotice.java | 3 - .../model/domain/rgp/GracePeriodStatus.java | 6 +- .../token/AllocationTokenExtension.java | 2 +- .../registry/model/eppcommon/Address.java | 5 +- .../registry/model/eppcommon/PhoneNumber.java | 5 +- .../registry/model/eppoutput/Greeting.java | 2 +- .../registry/model/host/HostCommand.java | 12 +-- .../registry/model/poll/PollMessage.java | 2 +- .../model/registry/label/ReservedList.java | 4 +- .../model/reporting/IcannReportingTypes.java | 4 +- .../BillingCostTransitionConverter.java | 5 +- .../CidrAddressBlockListConverter.java | 3 +- .../converter/CurrencyToBillingConverter.java | 2 +- .../PostalInfoChoiceListConverter.java | 3 +- .../converter/RegistrarPocSetConverter.java | 3 +- .../converter/StatusValueSetConverter.java | 3 +- .../converter/StringCollectionDescriptor.java | 2 +- .../converter/StringListConverter.java | 3 +- .../converter/StringMapDescriptor.java | 6 +- .../converter/StringSetConverter.java | 3 +- .../TldStateTransitionConverter.java | 3 +- .../transaction/TransactionManager.java | 1 + .../registry/rdap/RdapDomainSearchAction.java | 5 +- .../registry/rdap/RdapEntitySearchAction.java | 5 +- .../registry/rdap/RdapSearchActionBase.java | 7 +- .../java/google/registry/rde/Ghostryde.java | 6 -- .../java/google/registry/rde/RdeUtil.java | 3 - .../reporting/billing/BillingEmailUtils.java | 2 +- .../billing/GenerateInvoicesAction.java | 4 +- .../spec11/PublishSpec11ReportAction.java | 2 +- .../registry/request/RequestParameters.java | 4 +- .../registry/schema/cursor/CursorDao.java | 2 +- .../registry/schema/domain/RegistryLock.java | 4 +- .../storage/drive/DriveConnection.java | 17 ++-- .../registry/tmch/TmchXmlSignature.java | 4 - .../registry/tools/LevelDbLogReader.java | 9 +- .../google/registry/ui/forms/FormField.java | 86 ++++++++++--------- .../registry/ui/server/SendEmailUtils.java | 5 +- .../registry/whois/WhoisHttpAction.java | 62 +++++++------ .../ui/soy/registrar/OteSetupConsole.soy | 2 +- .../monitoring/blackbox/ProbingSequence.java | 4 +- .../blackbox/connection/ProbingAction.java | 5 +- .../blackbox/handler/ActionHandler.java | 4 +- .../handler/WebWhoisActionHandler.java | 2 +- .../blackbox/message/EppMessage.java | 5 +- .../blackbox/message/EppRequestMessage.java | 2 +- .../proxy/handler/EppServiceHandler.java | 21 ++--- .../handler/HttpsRelayServiceHandler.java | 2 +- .../registry/util/AppEngineServiceUtils.java | 5 +- .../google/registry/util/CircularList.java | 8 +- .../registry/util/ImprovedInputStream.java | 2 - .../registry/util/ImprovedOutputStream.java | 2 - .../google/registry/util/NetworkUtils.java | 2 +- .../registry/util/NonFinalForTesting.java | 2 - .../google/registry/util/PosixTarHeader.java | 2 - .../java/google/registry/util/Retrier.java | 6 +- .../java/google/registry/util/TypeUtils.java | 6 +- 71 files changed, 236 insertions(+), 249 deletions(-) diff --git a/build.gradle b/build.gradle index 1bf323328..ce40bf863 100644 --- a/build.gradle +++ b/build.gradle @@ -197,6 +197,10 @@ task runPresubmits(type: Exec) { args('config/presubmits.py') } +def javadocSource = [] +def javadocClasspath = [] +def javadocDependentTasks = [] + subprojects { // Skip no-op project if (project.name == 'services') return @@ -317,6 +321,10 @@ subprojects { } } } + + javadocSource << project.sourceSets.main.allJava + javadocClasspath << project.sourceSets.main.compileClasspath + javadocDependentTasks << project.tasks.compileJava } // If "-P verboseTestOutput=true" is passed in, configure all subprojects to dump all of their @@ -445,3 +453,18 @@ task javaIncrementalFormatApply { } tasks.build.dependsOn(tasks.javaIncrementalFormatCheck) + +task javadoc(type: Javadoc) { + source javadocSource + classpath = files(javadocClasspath) + destinationDir = file("${buildDir}/docs/javadoc") + // In a lot of places we don't write @return so suppress warnings about that. + options.addBooleanOption('Xdoclint:all,-missing', true) + options.addBooleanOption("-allow-script-in-comments",true) + options.tags = ["type:a:Generic Type", + "error:a:Expected Error"] +} + +tasks.build.dependsOn(tasks.javadoc) + +javadocDependentTasks.each { tasks.javadoc.shouldRunAfter(it) } diff --git a/common/src/main/java/google/registry/util/Sleeper.java b/common/src/main/java/google/registry/util/Sleeper.java index 12e5d48ab..288b0862a 100644 --- a/common/src/main/java/google/registry/util/Sleeper.java +++ b/common/src/main/java/google/registry/util/Sleeper.java @@ -21,7 +21,6 @@ import org.joda.time.ReadableDuration; * An object which accepts requests to put the current thread to sleep. * * @see SystemSleeper - * @see google.registry.testing.FakeSleeper */ @ThreadSafe public interface Sleeper { diff --git a/core/src/main/java/google/registry/bigquery/BigqueryConnection.java b/core/src/main/java/google/registry/bigquery/BigqueryConnection.java index cc265d280..9a5bfd396 100644 --- a/core/src/main/java/google/registry/bigquery/BigqueryConnection.java +++ b/core/src/main/java/google/registry/bigquery/BigqueryConnection.java @@ -442,10 +442,8 @@ public class BigqueryConnection implements AutoCloseable { * Returns the result of calling queryToLocalTable, but synchronously to avoid spawning new * background threads, which App Engine doesn't support. * - * @see - * App Engine Runtime - * - *

Returns the results of the query in an ImmutableTable on success. + * @see App Engine + * Runtime */ public ImmutableTable queryToLocalTableSync(String querySql) { Job job = new Job() @@ -576,8 +574,6 @@ public class BigqueryConnection implements AutoCloseable { /** * Launch a job, wait for it to complete, but do not check for errors. - * - * @throws BigqueryJobFailureException */ public Job runJob(Job job, @Nullable AbstractInputStreamContent data) { return checkJob(waitForJob(launchJob(job, data))); diff --git a/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java b/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java index 151b03bfc..79f9950d4 100644 --- a/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java +++ b/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsMessageTransport.java @@ -84,7 +84,7 @@ public class DnsMessageTransport { * @param query a message to send * @return the response received from the server * @throws IOException if the Socket input/output streams throws one - * @throws IllegalArgumentException if the query is too large to be sent (> 65535 bytes) + * @throws IllegalArgumentException if the query is too large to be sent (> 65535 bytes) */ public Message send(Message query) throws IOException { try (Socket socket = factory.createSocket(InetAddress.getByName(updateHost), DNS_PORT)) { diff --git a/core/src/main/java/google/registry/flows/EppXmlSanitizer.java b/core/src/main/java/google/registry/flows/EppXmlSanitizer.java index ee20afe71..af5ba6147 100644 --- a/core/src/main/java/google/registry/flows/EppXmlSanitizer.java +++ b/core/src/main/java/google/registry/flows/EppXmlSanitizer.java @@ -42,8 +42,8 @@ import javax.xml.stream.events.XMLEvent; /** * Sanitizes sensitive data in incoming/outgoing EPP XML messages. * - *

Current implementation masks user credentials (text following and tags) as - * follows: + *

Current implementation masks user credentials (text following <pw> and <newPW> + * tags) as follows: * *