Skip to content

Commit

Permalink
Use Javadoc's -linkoffline instead of -link
Browse files Browse the repository at this point in the history
`-link` does I/O to download the package list, for every javadoc
invocation. There is no caching, so this happens many times per build.
Swap to offline mode to avoid spamming the servers, and avoid build
failures if the servers aren't entirely healthy.
  • Loading branch information
ejona86 committed Feb 24, 2024
1 parent 871aaac commit 5f8958f
Show file tree
Hide file tree
Showing 9 changed files with 307 additions and 5 deletions.
2 changes: 1 addition & 1 deletion all/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ tasks.named("javadoc").configure {
continue;
}
source subproject.javadoc.source
options.links subproject.javadoc.options.links.toArray(new String[0])
options.linksOffline.addAll subproject.javadoc.options.linksOffline
}
}

Expand Down
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,8 @@ subprojects {
options {
encoding = 'UTF-8'
use = true
links 'https://docs.oracle.com/javase/8/docs/api/'
linksOffline 'https://docs.oracle.com/javase/8/docs/api/',
"${rootProject.projectDir}/gradle/javadoc/docs.oracle.com-javase-8-docs-api/"
source = "8"
}
}
Expand Down
217 changes: 217 additions & 0 deletions gradle/javadoc/docs.oracle.com-javase-8-docs-api/package-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
java.applet
java.awt
java.awt.color
java.awt.datatransfer
java.awt.dnd
java.awt.event
java.awt.font
java.awt.geom
java.awt.im
java.awt.im.spi
java.awt.image
java.awt.image.renderable
java.awt.print
java.beans
java.beans.beancontext
java.io
java.lang
java.lang.annotation
java.lang.instrument
java.lang.invoke
java.lang.management
java.lang.ref
java.lang.reflect
java.math
java.net
java.nio
java.nio.channels
java.nio.channels.spi
java.nio.charset
java.nio.charset.spi
java.nio.file
java.nio.file.attribute
java.nio.file.spi
java.rmi
java.rmi.activation
java.rmi.dgc
java.rmi.registry
java.rmi.server
java.security
java.security.acl
java.security.cert
java.security.interfaces
java.security.spec
java.sql
java.text
java.text.spi
java.time
java.time.chrono
java.time.format
java.time.temporal
java.time.zone
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
java.util.function
java.util.jar
java.util.logging
java.util.prefs
java.util.regex
java.util.spi
java.util.stream
java.util.zip
javax.accessibility
javax.activation
javax.activity
javax.annotation
javax.annotation.processing
javax.crypto
javax.crypto.interfaces
javax.crypto.spec
javax.imageio
javax.imageio.event
javax.imageio.metadata
javax.imageio.plugins.bmp
javax.imageio.plugins.jpeg
javax.imageio.spi
javax.imageio.stream
javax.jws
javax.jws.soap
javax.lang.model
javax.lang.model.element
javax.lang.model.type
javax.lang.model.util
javax.management
javax.management.loading
javax.management.modelmbean
javax.management.monitor
javax.management.openmbean
javax.management.relation
javax.management.remote
javax.management.remote.rmi
javax.management.timer
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.spi
javax.net
javax.net.ssl
javax.print
javax.print.attribute
javax.print.attribute.standard
javax.print.event
javax.rmi
javax.rmi.CORBA
javax.rmi.ssl
javax.script
javax.security.auth
javax.security.auth.callback
javax.security.auth.kerberos
javax.security.auth.login
javax.security.auth.spi
javax.security.auth.x500
javax.security.cert
javax.security.sasl
javax.sound.midi
javax.sound.midi.spi
javax.sound.sampled
javax.sound.sampled.spi
javax.sql
javax.sql.rowset
javax.sql.rowset.serial
javax.sql.rowset.spi
javax.swing
javax.swing.border
javax.swing.colorchooser
javax.swing.event
javax.swing.filechooser
javax.swing.plaf
javax.swing.plaf.basic
javax.swing.plaf.metal
javax.swing.plaf.multi
javax.swing.plaf.nimbus
javax.swing.plaf.synth
javax.swing.table
javax.swing.text
javax.swing.text.html
javax.swing.text.html.parser
javax.swing.text.rtf
javax.swing.tree
javax.swing.undo
javax.tools
javax.transaction
javax.transaction.xa
javax.xml
javax.xml.bind
javax.xml.bind.annotation
javax.xml.bind.annotation.adapters
javax.xml.bind.attachment
javax.xml.bind.helpers
javax.xml.bind.util
javax.xml.crypto
javax.xml.crypto.dom
javax.xml.crypto.dsig
javax.xml.crypto.dsig.dom
javax.xml.crypto.dsig.keyinfo
javax.xml.crypto.dsig.spec
javax.xml.datatype
javax.xml.namespace
javax.xml.parsers
javax.xml.soap
javax.xml.stream
javax.xml.stream.events
javax.xml.stream.util
javax.xml.transform
javax.xml.transform.dom
javax.xml.transform.sax
javax.xml.transform.stax
javax.xml.transform.stream
javax.xml.validation
javax.xml.ws
javax.xml.ws.handler
javax.xml.ws.handler.soap
javax.xml.ws.http
javax.xml.ws.soap
javax.xml.ws.spi
javax.xml.ws.spi.http
javax.xml.ws.wsaddressing
javax.xml.xpath
org.ietf.jgss
org.omg.CORBA
org.omg.CORBA.DynAnyPackage
org.omg.CORBA.ORBPackage
org.omg.CORBA.TypeCodePackage
org.omg.CORBA.portable
org.omg.CORBA_2_3
org.omg.CORBA_2_3.portable
org.omg.CosNaming
org.omg.CosNaming.NamingContextExtPackage
org.omg.CosNaming.NamingContextPackage
org.omg.Dynamic
org.omg.DynamicAny
org.omg.DynamicAny.DynAnyFactoryPackage
org.omg.DynamicAny.DynAnyPackage
org.omg.IOP
org.omg.IOP.CodecFactoryPackage
org.omg.IOP.CodecPackage
org.omg.Messaging
org.omg.PortableInterceptor
org.omg.PortableInterceptor.ORBInitInfoPackage
org.omg.PortableServer
org.omg.PortableServer.CurrentPackage
org.omg.PortableServer.POAManagerPackage
org.omg.PortableServer.POAPackage
org.omg.PortableServer.ServantLocatorPackage
org.omg.PortableServer.portable
org.omg.SendingContext
org.omg.stub.java.rmi
org.w3c.dom
org.w3c.dom.bootstrap
org.w3c.dom.events
org.w3c.dom.ls
org.w3c.dom.views
org.xml.sax
org.xml.sax.ext
org.xml.sax.helpers
77 changes: 77 additions & 0 deletions gradle/javadoc/netty.io-4.1-api/package-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
io.netty.bootstrap
io.netty.buffer
io.netty.buffer.search
io.netty.channel
io.netty.channel.embedded
io.netty.channel.epoll
io.netty.channel.group
io.netty.channel.internal
io.netty.channel.kqueue
io.netty.channel.local
io.netty.channel.nio
io.netty.channel.oio
io.netty.channel.pool
io.netty.channel.rxtx
io.netty.channel.sctp
io.netty.channel.sctp.nio
io.netty.channel.sctp.oio
io.netty.channel.socket
io.netty.channel.socket.nio
io.netty.channel.socket.oio
io.netty.channel.udt
io.netty.channel.udt.nio
io.netty.channel.unix
io.netty.handler.address
io.netty.handler.codec
io.netty.handler.codec.base64
io.netty.handler.codec.bytes
io.netty.handler.codec.compression
io.netty.handler.codec.dns
io.netty.handler.codec.haproxy
io.netty.handler.codec.http
io.netty.handler.codec.http.cookie
io.netty.handler.codec.http.cors
io.netty.handler.codec.http.multipart
io.netty.handler.codec.http.websocketx
io.netty.handler.codec.http.websocketx.extensions
io.netty.handler.codec.http.websocketx.extensions.compression
io.netty.handler.codec.http2
io.netty.handler.codec.json
io.netty.handler.codec.marshalling
io.netty.handler.codec.memcache
io.netty.handler.codec.memcache.binary
io.netty.handler.codec.mqtt
io.netty.handler.codec.protobuf
io.netty.handler.codec.redis
io.netty.handler.codec.rtsp
io.netty.handler.codec.sctp
io.netty.handler.codec.serialization
io.netty.handler.codec.smtp
io.netty.handler.codec.socks
io.netty.handler.codec.socksx
io.netty.handler.codec.socksx.v4
io.netty.handler.codec.socksx.v5
io.netty.handler.codec.spdy
io.netty.handler.codec.stomp
io.netty.handler.codec.string
io.netty.handler.codec.xml
io.netty.handler.flow
io.netty.handler.flush
io.netty.handler.ipfilter
io.netty.handler.logging
io.netty.handler.pcap
io.netty.handler.proxy
io.netty.handler.ssl
io.netty.handler.ssl.ocsp
io.netty.handler.ssl.util
io.netty.handler.stream
io.netty.handler.timeout
io.netty.handler.traffic
io.netty.resolver
io.netty.resolver.dns
io.netty.resolver.dns.macos
io.netty.util
io.netty.util.collection
io.netty.util.concurrent
io.netty.util.internal
io.netty.util.internal.logging
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
com.google.protobuf
com.google.protobuf.compiler
com.google.protobuf.util
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
com.squareup.okhttp
3 changes: 2 additions & 1 deletion netty/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ import net.ltgt.gradle.errorprone.CheckSeverity
}

tasks.named("javadoc").configure {
options.links 'http://netty.io/4.1/api/'
options.linksOffline 'https://netty.io/4.1/api/',
"${rootProject.projectDir}/gradle/javadoc/netty.io-4.1-api/"
exclude 'io/grpc/netty/*Provider.java'
exclude 'io/grpc/netty/GrpcHttp2ConnectionHandler.java'
exclude 'io/grpc/netty/Internal*'
Expand Down
3 changes: 2 additions & 1 deletion okhttp/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ tasks.named("checkstyleMain").configure {
}

tasks.named("javadoc").configure {
options.links 'http://square.github.io/okhttp/2.x/okhttp/'
options.linksOffline 'https://square.github.io/okhttp/2.x/okhttp/',
"${rootProject.projectDir}/gradle/javadoc/square.github.io-okhttp-2.x-okhttp/"
exclude 'io/grpc/okhttp/Internal*'
exclude 'io/grpc/okhttp/*Provider.java'
exclude 'io/grpc/okhttp/internal/**'
Expand Down
3 changes: 2 additions & 1 deletion protobuf/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,6 @@ dependencies {
}

tasks.named("javadoc").configure {
options.links 'https://protobuf.dev/reference/java/api-docs/'
options.linksOffline 'https://protobuf.dev/reference/java/api-docs/',
"${rootProject.projectDir}/gradle/javadoc/protobuf.dev-reference-java-api-docs/"
}

0 comments on commit 5f8958f

Please sign in to comment.