From 1f039ab3100a72dc88004bdc82a71bb7ebaa2fae Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Mon, 31 May 2021 19:36:08 +0300 Subject: [PATCH] Check web tutorials as well --- tutorials/checker/build.gradle.kts | 57 ++++++++++++++++-------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/tutorials/checker/build.gradle.kts b/tutorials/checker/build.gradle.kts index b4a6ca9300..57c12778f9 100644 --- a/tutorials/checker/build.gradle.kts +++ b/tutorials/checker/build.gradle.kts @@ -8,27 +8,28 @@ data class SnippetData( fun findSnippets(dirs: List): List { val snippets = mutableListOf() dirs.forEach { dirName -> - rootProject + val dir = rootProject .projectDir .parentFile .resolve(dirName) - .listFiles() - .filter { it.name.endsWith(".md") } - .forEach { file -> - val currentSnippet = kotlin.text.StringBuilder() - var snippetStart = 0 - var lineNumber = 0 - file.forEachLine { line -> - lineNumber++ - if (line == "```kotlin") - snippetStart = lineNumber + 1 - else if (line == "```" && snippetStart != 0) { - snippets.add(SnippetData(file, snippetStart, currentSnippet.toString())) - snippetStart = 0 - currentSnippet.clear() - } else { - if (snippetStart != 0) { - currentSnippet.appendln(line) + .listFiles()?.let { + it.filter { it.name.endsWith(".md") } + .forEach { file -> + val currentSnippet = kotlin.text.StringBuilder() + var snippetStart = 0 + var lineNumber = 0 + file.forEachLine { line -> + lineNumber++ + if (line == "```kotlin") + snippetStart = lineNumber + 1 + else if (line == "```" && snippetStart != 0) { + snippets.add(SnippetData(file, snippetStart, currentSnippet.toString())) + snippetStart = 0 + currentSnippet.clear() + } else { + if (snippetStart != 0) { + currentSnippet.appendln(line) + } } } } @@ -78,13 +79,17 @@ fun checkDirs(dirs: List) { // with whitespace marks code that shall not be checked. tasks.register("check") { doLast { - val dirs = project - .projectDir - .parentFile - .listFiles() - .filter { - it.isDirectory && it.name[0].isUpperCase() } - .map { it.name } - checkDirs(dirs) + for (dir in listOf(".", "Web")) { + val subdirs = project + .projectDir + .parentFile + .resolve(dir) + .listFiles() + .filter { + it.isDirectory && it.name[0].isUpperCase() + } + .map { it.name } + checkDirs(subdirs.map { "$dir/$it" }) + } } }