Skip to content
Open
Show file tree
Hide file tree
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
7 changes: 4 additions & 3 deletions ci/ga_merge.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,17 @@ echo "Using upstream: ... ${upstream##https:}"
git remote add upstream $upstream
git fetch upstream $GITHUB_REF:base_branch

tools/ocpn-metadata generate --userdir metadata --destfile ocpn-plugins.new
tools/ocpn-metadata generate --userdir metadata --frozendir frozen-metadata \
--destfile ocpn-plugins.new
sed -ie '/<date>/d' ocpn-plugins.new ocpn-plugins.xml
if git diff -b --quiet --no-index ocpn-plugins.xml ocpn-plugins.new; then
echo "ocpn-plugins.xml is already up do date -- exiting"
exit 0
fi

echo "Re-generating ocpn-plugins.xml to match metadata."
tools/ocpn-metadata generate \
--userdir metadata --destfile ocpn-plugins.xml --force
tools/ocpn-metadata generate --userdir metadata --frozendir frozen-metadata \
--destfile ocpn-plugins.xmlö --force
git config --local user.email "action@github.com"
git config --local user.name "$GITHUB_ACTOR"
git add ocpn-plugins.xml
Expand Down
Empty file added frozen-metadata/.gitkeep
Empty file.
13 changes: 9 additions & 4 deletions tools/ocpn-metadata
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,10 @@ def get_args(paths):
help='Overwrite possibly existing source files.')
generate_parser.add_argument(
'--userdir', metavar='dir', default=paths["userdir"],
help='source directory [%s]' % paths["userdir"])
help='regular source directory [%s]' % paths["userdir"])
generate_parser.add_argument(
'--frozendir', metavar='dir', default='',
help='frozen source directory [""]')
generate_parser.add_argument(
'--destfile', metavar='path', default=paths["destfile"],
help='destination path [%s]' % paths["destfile"])
Expand All @@ -86,15 +89,17 @@ def get_args(paths):
return args


def generate(sourcedir, destfile, version, date):
def generate(sourcedir, frozendir, destfile, version, date):
"""Generate a new ocpn-plugins.xml."""
tree = ET.Element('plugins')
version_elem = ET.SubElement(tree, "version")
version_elem.text = version
date_elem = ET.SubElement(tree, "date")
date_elem.text = \
date if date else datetime.datetime.now().strftime('%Y-%m-%d %H:%M')
for path in sorted(Path(sourcedir).glob("*.xml")):
paths = sorted(Path(sourcedir).glob("*.xml"))
if bool(frozendir): paths.extend(sorted(Path(frozendir).glob("*.xml")))
for path in paths:
try:
subtree = ET.parse(str(path))
except ET.ParseError as ex:
Expand Down Expand Up @@ -142,7 +147,7 @@ def main():
errprint("The file %s is in the way" % args.destfile)
errprint("Please remove or use --force")
sys.exit(1)
generate(args.userdir, args.destfile, args.version, args.date)
generate(args.userdir, args.frozendir, args.destfile, args.version, args.date)
print("Generated new ocpn-plugins.xml at " + args.destfile)


Expand Down