Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions lfric_macros/release_lfric.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,20 +99,18 @@ def set_dependency_path(args):
f.write("".join(x for x in lines))


def find_meta_dirs(paths):
def find_meta_dirs(paths, exclude_dirs=()):
"""
Return a set of rose-metadata directories that can be found in the apps and
core sources. Done by seaching for rose-meta.conf files. Records the parent
directory of the current one, as rose-meta.conf files end up in HEAD/vnX.Y
directories.
"""

print("[INFO] Finding rose metadata directories")

dirs = set()
for path in paths:
print("[INFO] Finding rose metadata directories in", path)
for dirpath, dirnames, filenames in os.walk(path):
exclude_dirs = [".svn", "rose-stem", "integration-test"]
dirnames[:] = [d for d in dirnames if d not in exclude_dirs]
if "rose-meta.conf" in filenames:
dirs.add(os.path.dirname(dirpath))
Expand Down Expand Up @@ -407,7 +405,22 @@ def main():

set_dependency_path(args)

meta_dirs = find_meta_dirs([args.apps, args.core])
# Find all metadata directories, excluing jules shared and lfric inputs as these have metadata but no macros.
exclude_dirs = (
".svn",
"rose-stem",
"integration-test",
"lfric-jules-shared",
"lfricinputs",
)
meta_dirs = find_meta_dirs([args.apps, args.core], exclude_dirs)

# Find JULES shared metadata directories and combine with all other metadirs for where they are handled differently
jules_meta_path = os.path.join(
args.apps, "interfaces", "jules_interface", "rose-meta", "lfric-jules-shared"
)
jules_shared_meta_dirs = find_meta_dirs([jules_meta_path])
meta_dirs_plus_jules = meta_dirs.union(jules_shared_meta_dirs)

update_version_number(args)

Expand All @@ -426,7 +439,7 @@ def main():
)
print("\n[INFO] Successfully upgraded apps")

copy_head_meta(meta_dirs, args)
copy_head_meta(meta_dirs_plus_jules, args)

update_meta_import_path(meta_dirs, args)

Expand Down