Skip to content

Commit baba6cd

Browse files
committed
updated PR conflict resolver script to match updates in metadata generation script
1 parent 85d89de commit baba6cd

5 files changed

+62
-1
lines changed

scripts/.resolve_pr_conflict.sh.swp

12 KB
Binary file not shown.

scripts/app_ver_diffs.py

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import json
2+
import sys
3+
4+
from pathlib import Path
5+
6+
import deepdiff
7+
8+
app_directory = sys.argv[1]
9+
vers = Path(app_directory).glob("v*")
10+
metadata_by_vers = {}
11+
for ver in vers:
12+
metadata_by_vers[ver.name] = json.load(open(ver / "metadata.json"))
13+
14+
15+
print('###', app_directory)
16+
vs = sorted(metadata_by_vers.keys(), reverse=True)
17+
if len(vs) > 1:
18+
for nv, ov in zip(vs[:-1], vs[1:]):
19+
print('####', nv, ov)
20+
print(deepdiff.DeepDiff(metadata_by_vers[nv], metadata_by_vers[ov], ignore_order=True).to_json(indent=2))

scripts/regenerate_all_markdowns.sh

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
for app in $(dirname $BASH_SOURCE)/../docs/_apps/*; do
2+
if [ -d "$app" ] && [[ ! $(basename "$app") = _* ]]; then
3+
for v in "$app"/*; do
4+
if [ -d "$v" ]; then
5+
echo "Regenerating markdown for $(basename "$app"):$(basename "$v")"
6+
python $(dirname $BASH_SOURCE)/metadata_markdown.py "$v"
7+
fi
8+
done
9+
fi
10+
done

scripts/resolve_pr_conflict.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ git checkout origin/main -- docs/_data
1313
# make an intermediate commit with semi-"merge" with main
1414
git commit --no-edit
1515
# regenerate submission files
16-
python3 scripts/index_page_data.py docs/_apps/$app_name_ver
16+
python3 scripts/index_page_data.py $(dirname $app_name_ver)
1717
git add docs/_data
1818
git commit -m 'regenerated aggregated metadata json files after conflict resolution'
1919

scripts/validate-fp-app.py

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import json
2+
import sys
3+
4+
from pathlib import Path
5+
6+
app_directory = sys.argv[1]
7+
app_metadata_json = Path(app_directory) / "metadata.json"
8+
app_metadata = json.load(open(app_metadata_json))
9+
10+
11+
def validate_app_license(license_string):
12+
if license_string in ["MIT", "GPLv3", "Apache 2.0"]:
13+
return True
14+
else:
15+
print("Invalid license string: {}".format(license_string))
16+
return False
17+
18+
19+
def validate_codebase_url(codebase_url, identifier_string):
20+
gho_prefix = "https://github.com/clamsproject/"
21+
apps_pref = "http://apps.clams.ai/"
22+
if not codebase_url.startswith(gho_prefix):
23+
print("Invalid GH org: {}".format(codebase_url))
24+
return False
25+
if codebase_url[len(gho_prefix):] != f'app-{identifier_string[len(apps_pref):].split("/")[0]}':
26+
print(f"Invalid GH repo: {codebase_url} vs {identifier_string}")
27+
return False
28+
29+
print('===', app_metadata["name"])
30+
validate_codebase_url(app_metadata["url"], app_metadata["identifier"])
31+
validate_app_license(app_metadata["app_license"])

0 commit comments

Comments
 (0)