Skip to content

Commit

Permalink
Merge pull request #15 from dinkelk/persistant-model-cache
Browse files Browse the repository at this point in the history
Persistant model cache support in example repository
  • Loading branch information
dinkelk authored Jan 26, 2024
2 parents 6375f58 + f86ae4c commit 28f54af
Show file tree
Hide file tree
Showing 9 changed files with 104 additions and 104 deletions.
14 changes: 7 additions & 7 deletions clean.do
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ import glob
# Special clean that removes b~main files before
# doing the normal clean.
if __name__ == "__main__":
assert len(sys.argv) == 4
for hgx in glob.glob("b~*"):
os.remove(hgx)
from rules.build_clean import build_clean
rule = build_clean()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
for hgx in glob.glob("b~*"):
os.remove(hgx)
from rules.build_clean import build_clean
rule = build_clean()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
138 changes: 69 additions & 69 deletions default.do
Original file line number Diff line number Diff line change
Expand Up @@ -16,75 +16,75 @@ from util import redo_arg
# as those built by a generator.

if __name__ == "__main__":
assert len(sys.argv) == 4
directory, base = redo_arg.split_redo_arg(sys.argv[2])
rule_cls = None
# Is the file a product of the metric generator:
if redo_arg.in_build_metric_dir(sys.argv[2]):
from rules.build_metric import build_metric as rule_cls
# Is the file a type range yaml file?
elif base.endswith(".type_ranges.yaml"):
from rules.build_type_ranges_yaml import build_type_ranges_yaml as rule_cls
elif base.endswith("_h.ads") or base.endswith("_hpp.ads"):
from rules.build_bindings import build_bindings as rule_cls
# Is the file a product of a generator?
elif redo_arg.in_build_dir(sys.argv[2]):
from rules.build_via_generator import build_via_generator as rule_cls
# Special redo directives:
elif base == "clean":
from rules.build_clean import build_clean as rule_cls
elif base == "clean_all":
from rules.build_clean_all import build_clean_all as rule_cls
elif base == "what":
from rules.build_what import build_what as rule_cls
elif base == "prove":
from rules.build_prove import build_prove as rule_cls
elif base == "analyze":
from rules.build_analyze import build_analyze as rule_cls
elif base == "style":
from rules.build_style import build_style as rule_cls
elif base == "style_all":
from rules.build_style_all import build_style_all as rule_cls
elif base == "pretty":
from rules.build_pretty import build_pretty as rule_cls
elif base == "targets":
from rules.build_targets import build_targets as rule_cls
elif base == "templates":
from rules.build_templates import build_templates as rule_cls
elif base == "all":
from rules.build_all import build_all as rule_cls
elif base == "recursive":
from rules.build_recursive import build_recursive as rule_cls
elif base == "path":
from rules.build_path import build_path as rule_cls
elif base == "print_path":
from rules.build_print_path import build_print_path as rule_cls
elif base == "test":
from rules.build_test import build_test as rule_cls
elif base == "coverage":
from rules.build_coverage import build_coverage as rule_cls
from util import target as tgt
tgt.set_default_coverage_target()
elif base == "run":
from rules.build_run import build_run as rule_cls
elif base == "test_all":
from rules.build_test_all import build_test_all as rule_cls
elif base == "coverage_all":
from rules.build_coverage_all import build_coverage_all as rule_cls
elif base == "publish":
from rules.build_publish import build_publish as rule_cls
elif base == "codepeer_server":
from rules.build_codepeer_server import build_codepeer_server as rule_cls
elif base == "yaml_sloc":
from rules.build_yaml_sloc import build_yaml_sloc as rule_cls
assert len(sys.argv) == 4
directory, base = redo_arg.split_redo_arg(sys.argv[2])
rule_cls = None
# Is the file a product of the metric generator:
if redo_arg.in_build_metric_dir(sys.argv[2]):
from rules.build_metric import build_metric as rule_cls
# Is the file a type range yaml file?
elif base.endswith(".type_ranges.yaml"):
from rules.build_type_ranges_yaml import build_type_ranges_yaml as rule_cls
elif base.endswith("_h.ads") or base.endswith("_hpp.ads"):
from rules.build_bindings import build_bindings as rule_cls
# Is the file a product of a generator?
elif redo_arg.in_build_dir(sys.argv[2]):
from rules.build_via_generator import build_via_generator as rule_cls
# Special redo directives:
elif base == "clean":
from rules.build_clean import build_clean as rule_cls
elif base == "clean_all":
from rules.build_clean_all import build_clean_all as rule_cls
elif base == "what":
from rules.build_what import build_what as rule_cls
elif base == "prove":
from rules.build_prove import build_prove as rule_cls
elif base == "analyze":
from rules.build_analyze import build_analyze as rule_cls
elif base == "style":
from rules.build_style import build_style as rule_cls
elif base == "style_all":
from rules.build_style_all import build_style_all as rule_cls
elif base == "pretty":
from rules.build_pretty import build_pretty as rule_cls
elif base == "targets":
from rules.build_targets import build_targets as rule_cls
elif base == "templates":
from rules.build_templates import build_templates as rule_cls
elif base == "all":
from rules.build_all import build_all as rule_cls
elif base == "recursive":
from rules.build_recursive import build_recursive as rule_cls
elif base == "path":
from rules.build_path import build_path as rule_cls
elif base == "print_path":
from rules.build_print_path import build_print_path as rule_cls
elif base == "test":
from rules.build_test import build_test as rule_cls
elif base == "coverage":
from rules.build_coverage import build_coverage as rule_cls
from util import target as tgt
tgt.set_default_coverage_target()
elif base == "run":
from rules.build_run import build_run as rule_cls
elif base == "test_all":
from rules.build_test_all import build_test_all as rule_cls
elif base == "coverage_all":
from rules.build_coverage_all import build_coverage_all as rule_cls
elif base == "publish":
from rules.build_publish import build_publish as rule_cls
elif base == "codepeer_server":
from rules.build_codepeer_server import build_codepeer_server as rule_cls
elif base == "yaml_sloc":
from rules.build_yaml_sloc import build_yaml_sloc as rule_cls

# Run the rule
if rule_cls:
rule = rule_cls()
rule.build(*sys.argv[1:])
else:
from util import error
error.error_abort("default.do: No rule to build '" + sys.argv[1] + "'.")
# Run the rule
if rule_cls:
rule = rule_cls()
rule.build(*sys.argv[1:])
else:
from util import error
error.error_abort("default.do: No rule to build '" + sys.argv[1] + "'.")

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.elf.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_executable import build_executable
# This .do file builds .elf (executable binary) files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_executable()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_executable()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.eps.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_eps import build_eps
# This .do file builds .eps (PostScript) files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_eps()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_eps()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.gpr.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_gpr import build_gpr
# This .do file builds .gpr files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_gpr()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_gpr()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.o.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_object import build_object
# This .do file builds .o (object) files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_object()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_object()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.pdf.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_pdf import build_pdf
# This .do file builds .pdf files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_pdf()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_pdf()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.png.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_png import build_png
# This .do file builds .png files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_png()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_png()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])
8 changes: 4 additions & 4 deletions default.svg.do
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ from rules.build_svg import build_svg
# This .do file builds .svg (vector graphics) files.

if __name__ == "__main__":
assert len(sys.argv) == 4
rule = build_svg()
rule.build(*sys.argv[1:])
assert len(sys.argv) == 4
rule = build_svg()
rule.build(*sys.argv[1:])

# Exit fast:
performance.exit()
performance.exit(sys.argv[2])

0 comments on commit 28f54af

Please sign in to comment.