Git
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApiimport me.tbsten.katachi.dsl.architecture
val projectArchitecture = architecture { "Tools".group { git() }}
// roles/Git.kt@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApiimport me.tbsten.katachi.dsl.DeclarationContainerScope
fun DeclarationContainerScope.git() = "Git".group { "GitIgnore" { title = "Git 無視設定" summary = "Git に渡さないファイルの一覧(.gitignore)" layout { "**/.gitignore".file() } }
"GitKeep" { title = "Git 空ディレクトリ保持" summary = "ディレクトリを残すための空ファイル(.gitkeep)" layout { "**/.gitkeep".file() } }
"GitAttributes" { title = "Git 属性" summary = "改行コードや diff の扱いなど、パスごとの属性(.gitattributes)" layout { "**/.gitattributes".file() } } }サンプルでは .gitignore だけを1つの Role で宣言しています(sample/jvm の GitRole.kt)。