mirror of https://github.com/databricks/cli.git
Compare commits
No commits in common. "2ff5775ae5fdf6d8836700c53b5e80289ca3200c" and "7545a1421ac05964a479df4a45cdf76ba99c5bd3" have entirely different histories.
2ff5775ae5
...
7545a1421a
|
@ -84,14 +84,9 @@ class Job:
|
||||||
permission["level"] = permission["permission_level"]
|
permission["level"] = permission["permission_level"]
|
||||||
permission.pop("permission_level")
|
permission.pop("permission_level")
|
||||||
|
|
||||||
# Filter out keys that are not in the base configuration
|
|
||||||
filtered_ordered_keys = [k for k in ordered_keys if k in obj]
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"resources": {
|
"resources": {
|
||||||
"jobs": {
|
"jobs": {self.normalized_key(): {k: obj[k] for k in ordered_keys}}
|
||||||
self.normalized_key(): {k: obj[k] for k in filtered_ordered_keys}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,40 +236,6 @@ class LookupRewriter:
|
||||||
return variables
|
return variables
|
||||||
|
|
||||||
|
|
||||||
class FileRefRewriter:
|
|
||||||
_prefixes = [
|
|
||||||
"file://",
|
|
||||||
"file:fuse://",
|
|
||||||
]
|
|
||||||
|
|
||||||
def __init__(self, job: Job) -> None:
|
|
||||||
self.job = job
|
|
||||||
|
|
||||||
def rewrite(self):
|
|
||||||
# Now rewrite the job configuration
|
|
||||||
def cb(path, obj):
|
|
||||||
if not isinstance(obj, str):
|
|
||||||
return obj
|
|
||||||
|
|
||||||
for prefix in self._prefixes:
|
|
||||||
if not obj.startswith(prefix):
|
|
||||||
continue
|
|
||||||
|
|
||||||
# DBX anchors paths at the root of the project.
|
|
||||||
# DABs anchors paths relative to the location of the configuration file.
|
|
||||||
# Below we write configuration to the "./resources" directory.
|
|
||||||
# We need to go up one level to get to the root of the project.
|
|
||||||
payload = obj.replace(prefix, "")
|
|
||||||
return f"../{payload}"
|
|
||||||
|
|
||||||
return obj
|
|
||||||
|
|
||||||
for env in self.job.configs.keys():
|
|
||||||
self.job.configs[env] = walk(copy.deepcopy(self.job.configs[env]), cb)
|
|
||||||
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
def dedup_variables(variables):
|
def dedup_variables(variables):
|
||||||
deduped = dict()
|
deduped = dict()
|
||||||
for v in variables:
|
for v in variables:
|
||||||
|
@ -354,11 +315,6 @@ def main():
|
||||||
lr.add(env)
|
lr.add(env)
|
||||||
var_lookup_variables.extend(lr.rewrite())
|
var_lookup_variables.extend(lr.rewrite())
|
||||||
|
|
||||||
# Rewrite file references
|
|
||||||
for job in jobs.values():
|
|
||||||
fr = FileRefRewriter(job)
|
|
||||||
fr.rewrite()
|
|
||||||
|
|
||||||
for job in jobs.values():
|
for job in jobs.values():
|
||||||
base_job = job.compute_base()
|
base_job = job.compute_base()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue