Skip to content

Commit e496b80

Browse files
authored
Evaluate generate-settings.pkl with same CLI settings (#84)
1 parent 715935e commit e496b80

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

cmd/pkl-gen-go/pkl-gen-go.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

pkl/evaluator_exec.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func NewProjectEvaluator(ctx context.Context, projectDir string, opts ...func(op
5151
// because it lessens the overhead of each successive evaluator.
5252
func NewProjectEvaluatorWithCommand(ctx context.Context, projectDir string, pklCmd []string, opts ...func(options *EvaluatorOptions)) (Evaluator, error) {
5353
manager := NewEvaluatorManagerWithCommand(pklCmd)
54-
projectEvaluator, err := manager.NewEvaluator(ctx, PreconfiguredOptions)
54+
projectEvaluator, err := manager.NewEvaluator(ctx, opts...)
5555
if err != nil {
5656
return nil, err
5757
}

pkl/evaluator_manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func (m *evaluatorManager) NewEvaluator(ctx context.Context, opts ...func(option
142142
}
143143

144144
func (m *evaluatorManager) NewProjectEvaluator(ctx context.Context, projectDir string, opts ...func(options *EvaluatorOptions)) (Evaluator, error) {
145-
projectEvaluator, err := NewEvaluator(ctx, PreconfiguredOptions)
145+
projectEvaluator, err := NewEvaluator(ctx, opts...)
146146
if err != nil {
147147
return nil, err
148148
}

0 commit comments

Comments
 (0)