@@ -189,14 +189,19 @@ func findProjectDir(projectDirFlag string) string {
189189
190190// Loads the settings for controlling codegen.
191191// Uses a Pkl evaluator that is separate from what's used for actually running codegen.
192- func loadGeneratorSettings (generatorSettingsPath string , projectDirFlag string ) (* generatorsettings.GeneratorSettings , error ) {
192+ func loadGeneratorSettings (generatorSettingsPath string , projectDirFlag string , cacheDirFlag string ) (* generatorsettings.GeneratorSettings , error ) {
193193 projectDir := findProjectDir (projectDirFlag )
194194 var evaluator pkl.Evaluator
195195 var err error
196+ opts := func (opts * pkl.EvaluatorOptions ) {
197+ if cacheDirFlag != "" {
198+ opts .CacheDir = cacheDirFlag
199+ }
200+ }
196201 if projectDir != "" {
197- evaluator , err = pkl .NewProjectEvaluator (context .Background (), projectDir , pkl .PreconfiguredOptions )
202+ evaluator , err = pkl .NewProjectEvaluator (context .Background (), projectDir , pkl .PreconfiguredOptions , opts )
198203 } else {
199- evaluator , err = pkl .NewEvaluator (context .Background (), pkl .PreconfiguredOptions )
204+ evaluator , err = pkl .NewEvaluator (context .Background (), pkl .PreconfiguredOptions , opts )
200205 }
201206 if err != nil {
202207 panic (err )
@@ -258,7 +263,7 @@ func init() {
258263 panic (err )
259264 }
260265 }
261- settings , err = loadGeneratorSettings (generatorSettingsPath , projectDir )
266+ settings , err = loadGeneratorSettings (generatorSettingsPath , projectDir , cacheDir )
262267 if err != nil {
263268 panic (err )
264269 }
0 commit comments