@@ -94,37 +94,55 @@ interface Injected {
9494}
9595
9696tasks. named(" test" ). configure {
97- if (buildParams. ci == false ) {
98- systemProperty ' generateDocs' , true
99- def injected = project. objects. newInstance(Injected )
100- // Define the folder to delete and recreate
101- def tempDir = file(" build/testrun/test/temp/esql" )
102- def commandsExamplesFile = new File (tempDir, " commands.examples" )
103- // Find all matching .md files for commands examples
104- def mdFiles = fileTree(" ${ rootDir} /docs/reference/query-languages/esql/_snippets/commands/examples/" ) {
105- include(" **/*.csv-spec/*.md" )
97+ def injected = project. objects. newInstance(Injected )
98+ // Define the folder to delete and recreate
99+ def tempDir = file(" build/testrun/test/temp/esql" )
100+ def commandsExamplesFile = new File (tempDir, " commands.examples" )
101+ // Find all matching .md files for commands examples
102+ def mdFiles = fileTree(" ${ rootDir} /docs/reference/query-languages/esql/_snippets/commands/examples/" ) {
103+ include(" **/*.csv-spec/*.md" )
104+ }
105+ def esqlDocFolder = file(" ${ rootDir} /docs/reference/query-languages/esql" ). toPath()
106+ def imagesDocFolder = file(" ${ esqlDocFolder} /images" )
107+ def snippetsDocFolder = file(" ${ esqlDocFolder} /_snippets" )
108+ def kibanaDocFolder = file(" ${ esqlDocFolder} /kibana" )
109+ File imagesFolder = file(" build/testrun/test/temp/esql/images" )
110+ File snippetsFolder = file(" build/testrun/test/temp/esql/_snippets" )
111+ File kibanaFolder = file(" build/testrun/test/temp/esql/kibana" )
112+
113+ doFirst {
114+ injected. fs. delete {
115+ it. delete(tempDir)
106116 }
107- doFirst {
108- injected. fs. delete {
109- it. delete(tempDir)
110- }
111- // Re-create this folder so we can save a table of generated examples to extract from csv-spec tests
112- tempDir. mkdirs() // Recreate the folder
117+ // Re-create this folder so we can save a table of generated examples to extract from csv-spec tests
118+ tempDir. mkdirs() // Recreate the folder
113119
114- // Write directory name and filename of each .md file to the output file
115- commandsExamplesFile. withWriter { writer ->
116- mdFiles. each { file ->
117- writer. writeLine(" ${ file.parentFile.name} /${ file.name} " )
118- }
120+ // Write directory name and filename of each .md file to the output file
121+ commandsExamplesFile. withWriter { writer ->
122+ mdFiles. each { file ->
123+ writer. writeLine(" ${ file.parentFile.name} /${ file.name} " )
119124 }
120- println " File 'commands.examples' created with ${ mdFiles.size()} example specifications from csv-spec files."
121125 }
122- File imagesFolder = file(" build/testrun/test/temp/esql/images" )
123- File snippetsFolder = file(" build/testrun/test/temp/esql/_snippets" )
124- File kibanaFolder = file(" build/testrun/test/temp/esql/kibana" )
125- def imagesDocFolder = file(" ${ rootDir} /docs/reference/query-languages/esql/images" )
126- def snippetsDocFolder = file(" ${ rootDir} /docs/reference/query-languages/esql/_snippets" )
127- def kibanaDocFolder = file(" ${ rootDir} /docs/reference/query-languages/esql/kibana" )
126+ println " File 'commands.examples' created with ${ mdFiles.size()} example specifications from csv-spec files."
127+ if (buildParams. ci) {
128+ injected. fs. sync {
129+ from snippetsDocFolder
130+ into snippetsFolder
131+ }
132+ injected. fs. sync {
133+ from imagesDocFolder
134+ into imagesFolder
135+ }
136+ injected. fs. sync {
137+ from kibanaDocFolder
138+ into kibanaFolder
139+ }
140+ }
141+ }
142+ if (buildParams. ci) {
143+ systemProperty ' generateDocs' , ' assert'
144+ } else {
145+ systemProperty ' generateDocs' , ' write'
128146 def snippetsTree = fileTree(snippetsFolder). matching {
129147 include " **/types/*.md" // Recursively include all types/*.md files (effectively counting functions and operators)
130148 }
@@ -229,9 +247,19 @@ tasks.named("test").configure {
229247// This is similar to the test task above, but needed for the LookupJoinTypesIT which runs in the internalClusterTest task
230248// and generates a types table for the LOOKUP JOIN command. It is possible in future we might have move tests that do this.
231249tasks. named(" internalClusterTest" ). configure {
232- if (buildParams. ci == false ) {
233- systemProperty ' generateDocs' , true
234- def injected = project. objects. newInstance(Injected )
250+ def injected = project. objects. newInstance(Injected )
251+ File snippetsFolder = file(" build/testrun/internalClusterTest/temp/esql/_snippets" )
252+ def snippetsDocFolder = file(" ${ rootDir} /docs/reference/query-languages/esql/_snippets" )
253+ if (buildParams. ci) {
254+ systemProperty ' generateDocs' , ' assert'
255+ doFirst {
256+ injected. fs. sync {
257+ from snippetsDocFolder
258+ into snippetsFolder
259+ }
260+ }
261+ } else {
262+ systemProperty ' generateDocs' , ' write'
235263 // Define the folder to delete and recreate
236264 def tempDir = file(" build/testrun/internalClusterTest/temp/esql" )
237265 doFirst {
@@ -241,8 +269,6 @@ tasks.named("internalClusterTest").configure {
241269 // Re-create this folder so we can save a table of generated examples to extract from csv-spec tests
242270 tempDir. mkdirs() // Recreate the folder
243271 }
244- File snippetsFolder = file(" build/testrun/internalClusterTest/temp/esql/_snippets" )
245- def snippetsDocFolder = file(" ${ rootDir} /docs/reference/query-languages/esql/_snippets" )
246272 def snippetsTree = fileTree(snippetsFolder). matching {
247273 include " **/types/*.md" // Recursively include all types/*.md files (effectively counting functions and operators)
248274 }
0 commit comments