Skip to content

Commit 5c506a3

Browse files
committed
refactor: evalJsonnet -> eval
1 parent 993c559 commit 5c506a3

File tree

2 files changed

+10
-20
lines changed

2 files changed

+10
-20
lines changed

pkg/tanka/parse.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const DEFAULT_DEV_VERSION = "dev"
2626
var CURRENT_VERSION = DEFAULT_DEV_VERSION
2727

2828
// loaded is the final result of all processing stages:
29+
// TODO: remove or update this summary
2930
// 1. jpath.Resolve: Consruct import paths
3031
// 2. parseSpec: load spec.json
3132
// 3. evalJsonnet: evaluate Jsonnet to JSON
@@ -88,18 +89,7 @@ func load(path string, opts Opts) (*loaded, error) {
8889
}, nil
8990
}
9091

91-
// eval runs all processing stages describe at the Processed type apart from
92-
// post-processing, thus returning the raw Jsonnet result.
93-
func eval(path string, opts jsonnet.Opts) (raw interface{}, env *v1alpha1.Config, err error) {
94-
raw, env, err = evalJsonnet(path, opts)
95-
if err != nil {
96-
return nil, nil, errors.Wrap(err, "evaluating jsonnet")
97-
}
98-
99-
return raw, env, nil
100-
}
101-
102-
// parseEnv parses the `spec.json` of the environment and returns a
92+
// parseSpec parses the `spec.json` of the environment and returns a
10393
// *kubernetes.Kubernetes from it
10494
func parseSpec(path string) (*v1alpha1.Config, error) {
10595
_, baseDir, rootDir, err := jpath.Resolve(path)
@@ -128,8 +118,8 @@ func parseSpec(path string) (*v1alpha1.Config, error) {
128118
return config, nil
129119
}
130120

131-
// evalJsonnet evaluates the jsonnet environment at the given path
132-
func evalJsonnet(path string, opts jsonnet.Opts) (interface{}, *v1alpha1.Config, error) {
121+
// eval evaluates the jsonnet environment at the given path
122+
func eval(path string, opts jsonnet.Opts) (interface{}, *v1alpha1.Config, error) {
133123
var hasSpec bool
134124
specEnv, err := parseSpec(path)
135125
if err != nil {
@@ -162,23 +152,23 @@ func evalJsonnet(path string, opts jsonnet.Opts) (interface{}, *v1alpha1.Config,
162152
evalScript := fmt.Sprintf("(import '%s').%s", entrypoint, opts.EvalPattern)
163153
raw, err = jsonnet.Evaluate(entrypoint, evalScript, opts)
164154
if err != nil {
165-
return nil, nil, err
155+
return nil, nil, errors.Wrap(err, "evaluating jsonnet")
166156
}
167157
} else {
168158
raw, err = jsonnet.EvaluateFile(entrypoint, opts)
169159
if err != nil {
170-
return nil, nil, err
160+
return nil, nil, errors.Wrap(err, "evaluating jsonnet")
171161
}
172162
}
173163

174164
var data interface{}
175165
if err := json.Unmarshal([]byte(raw), &data); err != nil {
176-
return nil, nil, err
166+
return nil, nil, errors.Wrap(err, "unmarshalling data")
177167
}
178168

179169
if opts.EvalPattern != "" {
180170
// EvalPattern has no affinity with an environment, behave as jsonnet interpreter
181-
return data, nil, err
171+
return data, nil, nil
182172
}
183173

184174
var env *v1alpha1.Config
@@ -189,7 +179,7 @@ func evalJsonnet(path string, opts jsonnet.Opts) (interface{}, *v1alpha1.Config,
189179
// multiple envs currently unsupported
190180
default:
191181
if err := json.Unmarshal([]byte(raw), &env); err != nil {
192-
return nil, nil, err
182+
return nil, nil, errors.Wrap(err, "unmarshalling into v1alpha1.Config")
193183
}
194184
}
195185

pkg/tanka/parse_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func TestEvalJsonnet(t *testing.T) {
111111
}
112112

113113
for _, test := range cases {
114-
data, env, e := evalJsonnet(test.baseDir, jsonnet.Opts{})
114+
data, env, e := eval(test.baseDir, jsonnet.Opts{})
115115
assert.NoError(t, e)
116116
assert.Equal(t, test.expected, data)
117117
assert.Equal(t, test.env, env)

0 commit comments

Comments
 (0)