#gradle #build #javadoc #sequence-diagram
Вопрос:
Я пытаюсь сгенерировать свой Javadoc с помощью моих диаграмм последовательностей, интегрированных с использованием Gradle 8.0 (7.2).
мой build.gradle :
apply plugin: "java"
apply plugin: "application"
mainClassName = 'com.twu.calculator.CalculatorApp'
group = 'calculator'
version = '1.0-SNAPSHOT'
description = "Calculator Console App"
repositories {
mavenCentral()
}
dependencies {
testImplementation 'junit:junit:4.12'
testImplementation 'com.github.stefanbirkner:system-rules:1.16.1'
}
task renderPlantUml(type: RenderPlantUmlTask) {
}
javadoc {
source = sourceSets.main.allJava
options.overview = "src/main/javadoc/overview.html" // relative to source root
options.addStringOption("sourcepath","${projectDir}/src/main/javadoc")
}
javadoc.dependsOn renderPlantUml
// To execute the app
task runApp (type: JavaExec, dependsOn: classes){
/* Can pass all the properties: */
systemProperties System.getProperties()
standardInput = System.in
description = "Running the Calculator"
main = "com.twu.calculator.CalculatorApp"
classpath = sourceSets.main.runtimeClasspath
}
Прямо сейчас ожидаемый результат достигается только при втором запуске gradle javadoc
, представляющем собой последовательность шагов, следующую :
gradle renderPlantUml
gradle javadoc
Это приводит к overview.html не удается найти диаграммы , как на рисунке ниже .
Затем мне нужно повторить приведенные выше команды, чтобы ожидаемый результат был правильным. Смотрите рисунок ниже для справки .
Что мне нужно изменить в моем build.gradle?
Ответ №1:
Вам необходимо настроить задачу Javadoc для копирования файлов, которые вы хотите включить, например, изображений.
javadoc {
doLast {
copy {
from('src/main/java')
into("$buildDir/docs/javadoc/")
include("**/doc-files/**/*")
}
}
}
Помещает ваши изображения в тот же пакет, в котором находится ваш класс, в папку с именем doc-files/
Затем просто включите их в свой Javadoc:
/**
* <img src="doc-files/path/to/image.jpg">
*/