uploadArchives is not part of the maven-publish plugin. That’s the old upload infrastructure. You’re not actually using maven-publish. Please have a look at the documentation
I’ve converted the repository to use maven-publishhere on the gradle-maven-publish branch. The root build.gradle and docs build.gradle seem mostly OK, but I have a couple of questions:
gradle assemble is signing the artifacts, but the poms are not signed, and no signatures are uploaded either for artifacts or poms. I’ve followed the instructions, but is something obviously missing? gradle publish uploads everything except the signatures, so it’s mostly working, but missing an essential part.
The root pom defines default pom metadata with mavenJava(MavenPublication). However, the docs use docs(MavenPublication) in the publishing block while the Java components all use mavenJava(MavenPublication). Seems to work, but I’m not sure it’s strictly correct. Is there any way to define the common pom as being suitable for all publication types, to avoid duplication?
You’re signing the wrong thing, see the doc page I linked above for how to sign a publication. Also make sure to remove the old maven plugin to avoid confusion.
If you don’t want the same publication for docs, exclude it in the subprojects block, otherwise Gradle will try to publish both. For simplicity I’d just use the mavenJava publication there and not bother having a differently named one in the docs project.