Ich folgte der getting started guide für Spring Rest Doc Wort für Wort, aber ich kann nicht HTML aus den generierten Schnipsel bekommen.Spring Rest Doc nicht produziert HTML
Die Snippets sind in dem Verzeichnis, das ich konfiguriere (build/generated-snippets), gut erzeugt, aber ich kann kein html5/Verzeichnis mit html-Dateien sehen, die aus den Snippets generiert werden.
Die Doc at some point sagt, was die Dokumentation in dem Glas tun zu verpacken, und es ist klar, dass es einige Dateien in einem html5/Verzeichnis erwartet, aber dies wird nicht erstellt, wenn der Build läuft:
dependsOn asciidoctor
from("${asciidoctor.outputDir}/html5") {
into 'static/docs'
}
Was vermisse ich?
Meine Projektdateien, build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.3.5.RELEASE'
}
}
plugins {
id 'org.asciidoctor.convert' version '1.5.2'
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'war'
sourceCompatibility = 1.8
targetCompatibility = 1.8
ext {
snippetsDir = file('build/generated-snippets')
}
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web:1.3.5.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-logging:1.3.5.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-data-jpa:1.3.5.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-data-rest:1.3.5.RELEASE'
compile 'org.springframework.cloud:spring-cloud-starter-aws:1.1.0.RELEASE'
compile 'org.postgresql:postgresql:9.4.1208'
compile 'commons-io:commons-io:2.5'
testCompile 'org.springframework.restdocs:spring-restdocs-mockmvc:1.1.0.RELEASE'
testCompile 'org.springframework.restdocs:spring-restdocs-core:1.1.0.RELEASE'
testCompile 'org.springframework.boot:spring-boot-starter-test:1.3.5.RELEASE'
}
jacoco {
toolVersion = "0.7.6.201602180812"
reportsDir = file("$buildDir/customJacocoReportDir")
}
test {
outputs.dir snippetsDir
jacoco {
append = false
destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
classDumpFile = file("$buildDir/jacoco/classpathdumps")
}
}
asciidoctor {
attributes 'snippets': snippetsDir
inputs.dir snippetsDir
dependsOn test
}
war {
dependsOn asciidoctor
from("${asciidoctor.outputDir}/html5") {
into 'static/docs'
}
baseName = project_name
version = version
manifest {
attributes(
'Implementation-Title': project_name,
'Implementation-Version': version
)
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.13'
}
und eine einfache Testdatei I Test verwenden:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
public class ApiDocumentation
{
@Rule
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/generated-snippets");
@Autowired
private WebApplicationContext context;
private MockMvc mockMvc;
@Before
public void setUp()
{
mockMvc = MockMvcBuilders.webAppContextSetup(context)
.apply(documentationConfiguration(restDocumentation))
.build();
}
@Test
public void testIndex() throws Exception
{
mockMvc.perform(get("/").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andDo(document("index"));
}
}
Haben Sie eine handgeschriebene '.adoc'-Datei, die die generierten Snippets enthält? Wie läuft dein Build? Sie müssen die Asciidoctor-Task ausführen, um den HTML-Code aus den .adoc-Dateien und Snippets zu erzeugen. –
Ich habe keine handschriftliche Adoc. Ich dachte, ich brauche einen, aber ich bin mir nicht sicher, wo ich das hinstellen soll, um abgeholt zu werden? Die [Dokumentation] (http://docs.spring.io/spring-restdocs/docs/1.0.x/reference/html5/#getting-started-using-the-snippets) ist dabei etwas unklar. Nachdem ich den Asciidoc Gradle Plugin-Code gegraben habe, habe ich versucht, [was die Dokumentation sagt] (http://docs.spring.io/spring-restdocs/docs/1.0.x/reference/html5/#getting-started-build- Konfiguration-Gradle) an Punkt 4 (geändert Inputs.dir zu SourceDir) und ich kann HTML-Dateien jetzt in Build/Asciidoc/HTML sehen, ist dies ein Fehler doc? – Francesco
Nein, es ist kein Fehler. Wenn Sie das generierte Snippets-Verzeichnis als Ausgabe der Testaufgabe und eine Eingabe der asciidoctor-Aufgabe festlegen, kann Gradle Aufgabenabhängigkeiten ermitteln und genaue aktuelle Prüfungen durchführen. –