Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kotlin API generation expects the Javadoc to be available [SPR-16687] #21228

Closed
spring-projects-issues opened this issue Apr 3, 2018 · 1 comment
Assignees
Labels
type: task
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

@spring-projects-issues spring-projects-issues commented Apr 3, 2018

Stéphane Nicoll opened SPR-16687 and commented

The dokka plugin configuration has the following section

externalDocumentationLink {
    url = new URL("http://docs.spring.io/spring-framework/docs/${version}/javadoc-api/")
}

When the release is performed, this points to a location where the Javadoc hasn't been published yet (as publication of the Javadoc happens after the staging phase). Whatever is intended here, it cannot work as the package-list file can't be there.

This is interesting as this change was introduced in [5.0 RC4|SPR-15659] but only started to fail recently due to an upgrade of the dokka plugin.

It looks like others are affected

Looking at the Kotlin API doc for the previous release I don't think this ever worked.


Affects: 5.0.4

Referenced from: commits 2fa060f, c7c7438, 3fb8d16

@spring-projects-issues
Copy link
Collaborator Author

@spring-projects-issues spring-projects-issues commented Apr 4, 2018

Sébastien Deleuze commented

Indeed, previous configuration was working only when the configured Spring Framework's Javadoc was deployed (typically snapshot builds) but not during releases, and it seems Dokka 0.9.16 enforces availability of the configured Javadoc unlike Dokka 0.9.15.

The Dokka configuration has been updated via this commit (backported to 5.0.x branch) in order to specify a local packageListUrl and defines that dokka task must be executed after the api task in order to be able to build KDoc during the release process when the Spring Framework's Javadoc is not published yet.

I have validated that locally by executing successfully the docsZip with version=5.1.0.RELEASE defined in the gradle.properties file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: task
Projects
None yet
Development

No branches or pull requests

2 participants