From a3939fb5f1403b72ff2133abf32f6323b6a43099 Mon Sep 17 00:00:00 2001
From: Sebastien Dinot <sebastien.dinot@free.fr>
Date: Fri, 29 Oct 2021 14:28:39 +0200
Subject: [PATCH] Automatically generated product version files to avoid
 oversights

---
 .gitlab-ci.yml          |  8 ++++++--
 bin/gen_versions_yml.sh | 23 +++++++++++++++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)
 create mode 100755 bin/gen_versions_yml.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f08a3b9..9bd636f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,9 +9,13 @@ variables:
   variables:
     JEKYLL_OPTS: ""
   script:
+  # Generate YAML files that provide the list of versions whose technical
+  # documentation is available on the website.
+  - bin/gen_versions_yml.sh
+  # Generate the static website
   - jekyll build $JEKYLL_OPTS
   # Add symbolic links for website
-  - sh bin/links.sh
+  - bin/links.sh
   artifacts:
     paths:
     - _site
@@ -58,7 +62,7 @@ www:
   ##
   - mkdir -p ~/.ssh
   - chmod 700 ~/.ssh
-  
+
   ##
   ## Add known hosts
   ##
diff --git a/bin/gen_versions_yml.sh b/bin/gen_versions_yml.sh
new file mode 100755
index 0000000..55c153d
--- /dev/null
+++ b/bin/gen_versions_yml.sh
@@ -0,0 +1,23 @@
+#/bin/bash
+
+# Extract Orekit versions from the changes.xml file provided in the Orekit
+# repository and ignore versions prior to 6.1 (they are no longer managed).
+
+curl -sSL https://gitlab.orekit.org/orekit/orekit/-/raw/master/src/changes/changes.xml \
+     | xmlstarlet sel -T -t -m '//document/body/release/@version' -v 'concat("- ",.)' -n \
+     | grep -vE '^- ([0-5]\.|6\.0)' \
+     > _data/orekit/versions.yml
+
+# Extract Rugged versions from the changes.xml file provided in the Rugged
+# repository
+
+curl -sSL https://gitlab.orekit.org/orekit/rugged/-/raw/master/src/changes/changes.xml \
+     | xmlstarlet sel -T -t -m '//document/body/release/@version' -v 'concat("- ",.)' -n \
+     > _data/rugged/versions.yml
+
+# Extract Orekit Tutorials versions from the changes.xml file provided in the
+# Orekit Tutorials repository
+
+curl -sSL https://gitlab.orekit.org/orekit/orekit-tutorials/-/raw/master/src/changes/changes.xml \
+     | xmlstarlet sel -T -t -m '//document/body/release/@version' -v 'concat("- ",.)' -n \
+     > _data/orekit-tutorials/versions.yml
-- 
GitLab