From b40bc24c54f32d5f7654572d97f29842c770281e Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 7 Mar 2023 00:59:58 +0100 Subject: [PATCH] Add g8ScaffoldForce command to overwrite files --- docs/04/00.md | 6 ++++++ scaffold/src/main/scala/ScaffoldPlugin.scala | 13 +++++++------ .../app/controllers/$className$.scala | 14 ++++++++++++++ .../.g8/controller-forcing/default.properties | 1 + .../scaffold/simple/Application_forced.scala | 14 ++++++++++++++ scaffold/src/sbt-test/scaffold/simple/test | 5 +++++ 6 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 scaffold/src/sbt-test/scaffold/simple/.g8/controller-forcing/app/controllers/$className$.scala create mode 100644 scaffold/src/sbt-test/scaffold/simple/.g8/controller-forcing/default.properties create mode 100644 scaffold/src/sbt-test/scaffold/simple/Application_forced.scala diff --git a/docs/04/00.md b/docs/04/00.md index a6dbf62c..f8be2301 100644 --- a/docs/04/00.md +++ b/docs/04/00.md @@ -23,6 +23,12 @@ Use TAB completion to discover available templates. controller global model ``` +To overwrite existing files pass the `--force` flag after the template: + +``` +> g8Scaffold model --force +``` + The template plugin will prompt each property that needed to complete the scaffolding process: ``` diff --git a/scaffold/src/main/scala/ScaffoldPlugin.scala b/scaffold/src/main/scala/ScaffoldPlugin.scala index e7351272..eaeb70b9 100644 --- a/scaffold/src/main/scala/ScaffoldPlugin.scala +++ b/scaffold/src/main/scala/ScaffoldPlugin.scala @@ -33,7 +33,7 @@ object ScaffoldPlugin extends sbt.AutoPlugin { import complete._ import complete.DefaultParsers._ - val parser: Def.Initialize[State => Parser[(String, List[String])]] = + val parser: Def.Initialize[State => Parser[(String, Boolean, List[String])]] = Def.setting { val dir = g8ScaffoldTemplatesDirectory.value (state: State) => @@ -41,16 +41,17 @@ object ScaffoldPlugin extends sbt.AutoPlugin { .filter(f => f.isDirectory && !f.isHidden) .map(_.getName: Parser[String]) (Space) ~> token(templates.foldLeft(" ": Parser[String])(_ | _)).examples("