package Ġorg . jon ny zz z . team city . dsl . generating Ċ Ċ import Ġorg . jon ny zz z . team city . dsl . api . template Mixin Ċ import Ġorg . jon ny zz z . team city . dsl . div Ċ import Ġorg . jon ny zz z . team city . dsl . model . TC Build Template Ċ import Ġorg . jon ny zz z . team city . dsl . model . TC Project Ċ import Ġorg . jon ny zz z . team city . dsl . write UTF Ċ import Ġjava . io . File ĊĊ Ċ val ĠTC Build Template . className : ĠString ĊĠ Ġget () Ġ= Ġ" Template _" Ġ+ Ġid Ċ Ċ val ĠTC Build Template . variable Name : ĠString ĊĠ Ġget () Ġ= ĠclassName Ġ+ Ġ". id " Ċ Ċ fun Ġgenerate Template ( context : ĠGeneration Context , Ġhome : ĠFile , Ġproject Ġ: ĠTC Project , Ġtemplate : ĠTC Build Template ) Ġ{ ĊĠ Ġval Ġtemplate Id Ġ= Ġtemplate . id ĊĊĠ Ġval Ġmain File Ġ= Ġhome Ġ/ Ġ" template _$ template Id . t cd sl . kt " ĊĊĠ Ġmain File . write UTF Ġ{ ĊĠĠĠ Ġgenerate Kotlin DSL ( context . options . packageName , Ġ" template _$ template Id ") Ġ{ ĊĊĠĠĠĠĠ Ġblock (" object Ġ${ template . className }") Ġ{ ĊĠĠĠĠĠĠĠ Ġappend ln (" val Ġid Ġ= Ġ${ project . name Or Ref ( context )}. template (${ template . id . quote () }) ") ĊĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠ Ġblock (" val Ġmixin Ġ= Ġ${ :: template Mixin . name }") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġsetter (" name ", Ġtemplate . name ) ĊĠĠĠĠĠĠĠĠĠ Ġsetter (" description ", Ġtemplate . description ) ĊĊĠĠĠĠĠĠĠĠĠ Ġblock (" parameters ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams With Spec ( template . parameters ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠ Ġgenerate Settings ( context , Ġtemplate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgenerate Runner Ġ= Ġgenerate Run ners ( context , Ġtemplate . runners ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate . runners ?. forEach Ġ{ Ġgenerate Runner ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠ Ġblock (" init ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġappend ln (" id Ġ+= Ġmixin ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ