mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-07-07 01:29:26 -04:00
main: Skip unchanged blp files in batch-compile
Don't invalidate everything every time, otherwise we rebuild everything even when no file has changed at all. With e.g. Vala this means more or less rebuilding the entire project with no incremental builds.
This commit is contained in:
parent
0dc27cd01d
commit
60e704ee9a
1 changed files with 12 additions and 6 deletions
|
@ -170,6 +170,18 @@ class BlueprintApp:
|
|||
add_typelib_search_path(typelib_path)
|
||||
|
||||
for file in opts.inputs:
|
||||
path = os.path.join(
|
||||
opts.output_dir,
|
||||
os.path.relpath(os.path.splitext(file.name)[0] + ".ui", opts.input_dir),
|
||||
)
|
||||
|
||||
if os.path.isfile(path):
|
||||
in_time = os.path.getmtime(file.name)
|
||||
out_time = os.path.getmtime(path)
|
||||
|
||||
if out_time >= in_time:
|
||||
continue
|
||||
|
||||
data = file.read()
|
||||
file_abs = os.path.abspath(file.name)
|
||||
input_dir_abs = os.path.abspath(opts.input_dir)
|
||||
|
@ -186,12 +198,6 @@ class BlueprintApp:
|
|||
for warning in warnings:
|
||||
warning.pretty_print(file.name, data, stream=sys.stderr)
|
||||
|
||||
path = os.path.join(
|
||||
opts.output_dir,
|
||||
os.path.relpath(
|
||||
os.path.splitext(file.name)[0] + ".ui", opts.input_dir
|
||||
),
|
||||
)
|
||||
os.makedirs(os.path.dirname(path), exist_ok=True)
|
||||
with open(path, "w") as file:
|
||||
file.write(xml)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue