Initial commit

This commit is contained in:
2021-04-01 23:18:28 +02:00
commit 2bd6362268
27 changed files with 732 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
package scaffold.commands
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.ProgramResult
import com.github.ajalt.clikt.parameters.arguments.argument
import scaffold.Generators
import java.nio.file.Files
class NewCommand(private val generators: Generators) : CliktCommand("new") {
private val name by argument()
override fun run() {
val root = generators.configDirectory.resolve(name)
if (Files.exists(root)) {
echo("Generator already exists")
throw ProgramResult(1)
}
Files.createDirectories(root)
val configFile = """
templates = [
"README.md"
]
files = [
".gitignore"
]
[prompt]
[[prompt.project]]
type = "String"
name = "name"
info = "Project name"
""".trimIndent()
Files.writeString(root.resolve("config.toml"), configFile)
val tree = root.resolve("tree")
Files.createDirectory(tree)
Files.writeString(tree.resolve("README.md"), "# {{ project.name }}")
Files.writeString(tree.resolve(".gitignore"), "# https://git-scm.com/docs/gitignore")
echo("Generator created in $root")
}
}