Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ make format

# Generate/regenerate model classes from OpenAPI schemas
make generate-model

# Regenerate javadoc element-list files for cross-module linking
# Run after adding/removing packages in core modules
make generate-javadoc-links
```

**Direct Maven commands** (when make targets don't cover the use case):
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* Fix #7422: (okhttp) Remove internal API usage and fix deprecated OkHttp 5 calls

#### Improvements
* Fix #1105: Add javadoc cross-linking for Fabric8 modules and external dependencies
* Fix #7422: bump okhttp from 4.12.0 to 5.3.2

#### Dependency Upgrade
Expand Down
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,26 @@ format-java:
.PHONY: format
format: format-license format-java

JAVADOC_LINK_MODULES = \
kubernetes-model-core:kubernetes-model-generator/kubernetes-model-core \
kubernetes-model-common:kubernetes-model-generator/kubernetes-model-common \
kubernetes-client-api:kubernetes-client-api \
kubernetes-client:kubernetes-client \
openshift-client-api:openshift-client-api \
openshift-client:openshift-client

.PHONY: generate-javadoc-links
generate-javadoc-links:
@for entry in $(JAVADOC_LINK_MODULES); do \
name=$${entry%%:*}; \
path=$${entry##*:}; \
mkdir -p doc/javadoc-links/$$name; \
{ find $$path/src/main/java $$path/src/generated/java $$path/target/generated-sources/annotations -name "*.java" 2>/dev/null || true; } | \
sed 's|.*/main/java/||;s|.*/generated/java/||;s|.*/generated-sources/annotations/||;s|/[^/]*\.java$$||;s|/|.|g' | \
sort -u > doc/javadoc-links/$$name/element-list; \
echo "Generated doc/javadoc-links/$$name/element-list"; \
done

.PHONY: quickly
quickly: clean
mvn $(MAVEN_ARGS) install -DskipTests -Djacoco.skip=true
Expand Down
13 changes: 13 additions & 0 deletions doc/javadoc-links/jackson-core/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
com.fasterxml.jackson.core
com.fasterxml.jackson.core.async
com.fasterxml.jackson.core.base
com.fasterxml.jackson.core.exc
com.fasterxml.jackson.core.filter
com.fasterxml.jackson.core.format
com.fasterxml.jackson.core.io
com.fasterxml.jackson.core.io.schubfach
com.fasterxml.jackson.core.json
com.fasterxml.jackson.core.json.async
com.fasterxml.jackson.core.sym
com.fasterxml.jackson.core.type
com.fasterxml.jackson.core.util
23 changes: 23 additions & 0 deletions doc/javadoc-links/jackson-databind/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
com.fasterxml.jackson.databind
com.fasterxml.jackson.databind.annotation
com.fasterxml.jackson.databind.cfg
com.fasterxml.jackson.databind.deser
com.fasterxml.jackson.databind.deser.impl
com.fasterxml.jackson.databind.deser.std
com.fasterxml.jackson.databind.exc
com.fasterxml.jackson.databind.ext
com.fasterxml.jackson.databind.introspect
com.fasterxml.jackson.databind.jdk14
com.fasterxml.jackson.databind.json
com.fasterxml.jackson.databind.jsonFormatVisitors
com.fasterxml.jackson.databind.jsonschema
com.fasterxml.jackson.databind.jsontype
com.fasterxml.jackson.databind.jsontype.impl
com.fasterxml.jackson.databind.module
com.fasterxml.jackson.databind.node
com.fasterxml.jackson.databind.ser
com.fasterxml.jackson.databind.ser.impl
com.fasterxml.jackson.databind.ser.std
com.fasterxml.jackson.databind.type
com.fasterxml.jackson.databind.util
com.fasterxml.jackson.databind.util.internal
14 changes: 14 additions & 0 deletions doc/javadoc-links/kubernetes-client-api/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
io.fabric8.kubernetes.client
io.fabric8.kubernetes.client.dsl
io.fabric8.kubernetes.client.dsl.base
io.fabric8.kubernetes.client.extended.leaderelection
io.fabric8.kubernetes.client.extended.leaderelection.resourcelock
io.fabric8.kubernetes.client.extended.run
io.fabric8.kubernetes.client.extension
io.fabric8.kubernetes.client.http
io.fabric8.kubernetes.client.informers
io.fabric8.kubernetes.client.informers.cache
io.fabric8.kubernetes.client.internal
io.fabric8.kubernetes.client.lib
io.fabric8.kubernetes.client.readiness
io.fabric8.kubernetes.client.utils
13 changes: 13 additions & 0 deletions doc/javadoc-links/kubernetes-client/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
io.fabric8.kubernetes.client.dsl.internal
io.fabric8.kubernetes.client.dsl.internal.apps.v1
io.fabric8.kubernetes.client.dsl.internal.batch.v1
io.fabric8.kubernetes.client.dsl.internal.certificates.v1
io.fabric8.kubernetes.client.dsl.internal.certificates.v1beta1
io.fabric8.kubernetes.client.dsl.internal.core.v1
io.fabric8.kubernetes.client.dsl.internal.extensions.v1beta1
io.fabric8.kubernetes.client.dsl.internal.uploadable
io.fabric8.kubernetes.client.impl
io.fabric8.kubernetes.client.informers.impl
io.fabric8.kubernetes.client.informers.impl.cache
io.fabric8.kubernetes.client.osgi
io.fabric8.kubernetes.client.utils.internal
5 changes: 5 additions & 0 deletions doc/javadoc-links/kubernetes-model-common/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
io.fabric8.kubernetes.api.builder
io.fabric8.kubernetes.model
io.fabric8.kubernetes.model.annotation
io.fabric8.kubernetes.model.jackson
io.fabric8.kubernetes.model.util
6 changes: 6 additions & 0 deletions doc/javadoc-links/kubernetes-model-core/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
io.fabric8.kubernetes.api
io.fabric8.kubernetes.api.model
io.fabric8.kubernetes.api.model.clusterapi.v1beta1
io.fabric8.kubernetes.api.model.runtime
io.fabric8.kubernetes.api.model.version
io.fabric8.kubernetes.internal
4 changes: 4 additions & 0 deletions doc/javadoc-links/openshift-client-api/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
io.fabric8.openshift.client
io.fabric8.openshift.client.dsl
io.fabric8.openshift.client.dsl.buildconfig
io.fabric8.openshift.client.readiness
9 changes: 9 additions & 0 deletions doc/javadoc-links/openshift-client/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
io.fabric8.openshift.client.dsl.internal
io.fabric8.openshift.client.dsl.internal.apps
io.fabric8.openshift.client.dsl.internal.authorization
io.fabric8.openshift.client.dsl.internal.build
io.fabric8.openshift.client.dsl.internal.core
io.fabric8.openshift.client.dsl.internal.project
io.fabric8.openshift.client.impl
io.fabric8.openshift.client.internal
io.fabric8.openshift.client.osgi
4 changes: 4 additions & 0 deletions doc/javadoc-links/slf4j-api/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
org.slf4j
org.slf4j.event
org.slf4j.helpers
org.slf4j.spi
81 changes: 81 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@
${project.build.sourceDirectory};
${project.build.directory}/generated-sources/annotations;
</javadoc.sourcepath>
<javadoc.links>https://javadoc.io/doc</javadoc.links>

<osgi.import />
<osgi.export />
Expand Down Expand Up @@ -1399,6 +1400,46 @@
</dependencySourceIncludes>
<excludePackageNames>${javadoc.package.excludes}</excludePackageNames>
<sourcepath>${javadoc.sourcepath}</sourcepath>
<additionalJOption>-J-Dhttp.agent=maven-javadoc-plugin</additionalJOption>
<detectOfflineLinks>false</detectOfflineLinks>
<offlineLinks>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-model-core/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-model-core</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-model-common/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-model-common</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-client-api/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-client-api</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-client/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-client</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/openshift-client-api/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/openshift-client-api</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/openshift-client/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/openshift-client</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/com.fasterxml.jackson.core/jackson-databind/${jackson.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/jackson-databind</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/com.fasterxml.jackson.core/jackson-core/${jackson.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/jackson-core</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/org.slf4j/slf4j-api/${slf4j.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/slf4j-api</location>
</offlineLink>
</offlineLinks>
</configuration>
<executions>
<execution>
Expand Down Expand Up @@ -1502,6 +1543,46 @@
</dependencySourceIncludes>
<excludePackageNames>${javadoc.package.excludes}</excludePackageNames>
<sourcepath>${javadoc.sourcepath}</sourcepath>
<additionalJOption>-J-Dhttp.agent=maven-javadoc-plugin</additionalJOption>
<detectOfflineLinks>false</detectOfflineLinks>
<offlineLinks>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-model-core/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-model-core</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-model-common/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-model-common</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-client-api/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-client-api</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/kubernetes-client/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/kubernetes-client</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/openshift-client-api/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/openshift-client-api</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/${project.groupId}/openshift-client/${project.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/openshift-client</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/com.fasterxml.jackson.core/jackson-databind/${jackson.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/jackson-databind</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/com.fasterxml.jackson.core/jackson-core/${jackson.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/jackson-core</location>
</offlineLink>
<offlineLink>
<url>${javadoc.links}/org.slf4j/slf4j-api/${slf4j.version}</url>
<location>${maven.multiModuleProjectDirectory}/doc/javadoc-links/slf4j-api</location>
</offlineLink>
</offlineLinks>
</configuration>
<executions>
<execution>
Expand Down
Loading