Scaffolding 플러그인 

Giter8는 scaffolding 용 sbt 플러그인도 제공하고 있습니다.

scaffold 플러그인의 사용 

아래내용을 project/scaffold.sbt 파일에 적용:

addSbtPlugin("org.foundweekends.giter8" % "sbt-giter8-scaffold" % "0.16.2")

이제 sbt 쉘에서 g8Scaffold 명령을 사용할 수있게 되었습니다. 또한 탭 완성을 사용하여 사용 가능한 템플릿을 확인 해볼 수있습니다.

> g8Scaffold <TAB>
controller   global       model

템플릿 마찬가지로 scaffold 처리에 필요한 필드는 순서대로 프롬프트됩니다 :

> g8Scaffold controller
className [Application]:

scaffold 를 만드는 방법 

g8 런타임은 GitHub 프로젝트가 있을 때, src/main/scaffolds 이하의 scaffold 를 찾습니다. src/main/scaffolds 안의 각 디렉토리는 각개의 scaffold 로서, 디렉토리명에 따라, sbt 쉘에서 엑세스 가능합니다. 일반적으로 템플릿과 마찬가지로, scaffold 디렉토리에, default.properties파일을 두고 필드값을 정의하는것이 가능합니다. 여기에서도 name 은 특별한 필드명으로서, 혹시 name 필드가 있다면, scaffold 는 name 을 기반으로 디렉토리가 생성되고, 그 아래에, scaffold 의 소스 디렉토리를 복제하는 방식으로 하위디렉토리 구조가 형성됩니다.

템플릿으로 사용된 scaffold는 <project_root>/.g8에 저장됩니다.

$ ls sample/.g8
total 0
drwxr-xr-x   5 jtournay  staff   170B Aug  6 03:21 .
drwxr-xr-x  11 jtournay  staff   374B Aug  6 05:29 ..
drwxr-xr-x   4 jtournay  staff   136B Aug  6 03:21 controller
drwxr-xr-x   4 jtournay  staff   136B Aug  6 03:21 global
drwxr-xr-x   4 jtournay  staff   136B Aug  6 03:21 model

이를 이용하여 임의의 sbt 프로젝트가있을 때 .g8디렉토리를 만들기위한 자신의 scaffold를 만드는 것도 가능합니다.