Skip to content

Commit 22804ad

Browse files
committed
feat: javadoc
1 parent c581fd2 commit 22804ad

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,4 +271,8 @@ export SUMUP_MERCHANT_CODE="your_merchant_code"
271271
./gradlew :examples:card-reader-checkout:run
272272
```
273273

274+
## Generating Javadoc
275+
276+
Build the aggregated API reference locally with `just javadoc` (or `./gradlew aggregateJavadoc`). The HTML output is placed under `build/docs/javadoc/index.html`.
277+
274278
[docs-badge]: https://img.shields.io/badge/SumUp-documentation-white.svg?logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgY29sb3I9IndoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPHBhdGggZD0iTTIyLjI5IDBIMS43Qy43NyAwIDAgLjc3IDAgMS43MVYyMi4zYzAgLjkzLjc3IDEuNyAxLjcxIDEuN0gyMi4zYy45NCAwIDEuNzEtLjc3IDEuNzEtMS43MVYxLjdDMjQgLjc3IDIzLjIzIDAgMjIuMjkgMFptLTcuMjIgMTguMDdhNS42MiA1LjYyIDAgMCAxLTcuNjguMjQuMzYuMzYgMCAwIDEtLjAxLS40OWw3LjQ0LTcuNDRhLjM1LjM1IDAgMCAxIC40OSAwIDUuNiA1LjYgMCAwIDEtLjI0IDcuNjlabTEuNTUtMTEuOS03LjQ0IDcuNDVhLjM1LjM1IDAgMCAxLS41IDAgNS42MSA1LjYxIDAgMCAxIDcuOS03Ljk2bC4wMy4wM2MuMTMuMTMuMTQuMzUuMDEuNDlaIiBmaWxsPSJjdXJyZW50Q29sb3IiLz4KPC9zdmc+

build.gradle

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import com.diffplug.gradle.spotless.SpotlessExtension
22
import org.gradle.api.GradleException
3+
import org.gradle.api.plugins.JavaPlugin
4+
import org.gradle.api.tasks.SourceSetContainer
5+
import org.gradle.api.tasks.javadoc.Javadoc
36
import org.gradle.jvm.toolchain.JavaToolchainService
47

58
plugins {
@@ -77,6 +80,30 @@ tasks.register('codegen') {
7780
}
7881
}
7982

83+
def aggregateJavadocTask = tasks.register('aggregateJavadoc', Javadoc) { task ->
84+
group = 'documentation'
85+
description = 'Generates Javadoc for all Java subprojects.'
86+
destinationDir = layout.buildDirectory.dir('docs/javadoc').get().asFile
87+
options.addBooleanOption('Xdoclint:none', true)
88+
options.quiet()
89+
}
90+
91+
gradle.projectsEvaluated {
92+
aggregateJavadocTask.configure { task ->
93+
def javaProjects = subprojects.findAll { project ->
94+
project.plugins.hasPlugin(JavaPlugin)
95+
}
96+
97+
def mainSourceSets = javaProjects.collect { project ->
98+
project.extensions.getByType(SourceSetContainer).named('main').get()
99+
}
100+
101+
task.dependsOn(javaProjects.collect { project -> project.tasks.named('javadoc') })
102+
task.setSource(mainSourceSets.collect { sourceSet -> sourceSet.allJava })
103+
task.setClasspath(task.project.files(mainSourceSets.collect { sourceSet -> sourceSet.compileClasspath }))
104+
}
105+
}
106+
80107
nexusPublishing {
81108
packageGroup.set('com.sumup')
82109
repositories {

justfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ go-test:
1616
build:
1717
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home -v 21)}" ./gradlew build
1818

19+
# Generate aggregated Javadocs for all modules.
20+
javadoc:
21+
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home -v 21)}" ./gradlew aggregateJavadoc
22+
1923
# Run the basic example (uses the same Java toolchain helper as build).
2024
example-basic:
2125
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home -v 21)}" ./gradlew :examples:basic:run

0 commit comments

Comments
 (0)