mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-06-21 23:19:24 -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
6e010148b2
commit
fd1a928475
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