Fixes #73 Now the latest version of PlantUML is downloaded as part of the CI script. This has two consequences: we always test against the latest and greatest PlantUML version. PlantUML evolves at a much higher pace than plantuml-mode. This allows for some sanity check of our code with the upstream project. builds are not reproducible As a side effect of always downloading a (potentially) new PlantUML version, re-running the build for an old commit can lead to different outcomes. This is usually a big no-no but given the limited efforts currently spent on plantuml-mode I find it more convenient to immediately raise a flag if a new version of PlantUML causes issues.
21 lines
858 B
Bash
21 lines
858 B
Bash
#!/bin/sh
|
|
|
|
# Where the script is executed
|
|
CURRENT_PATH="$(dirname "$(readlink -f "$0")")"
|
|
|
|
# Where to download the file
|
|
OUTPUT_PATH="${CURRENT_PATH}/plantuml.jar"
|
|
|
|
# Retrieve the list of versions, in XML format, only one result (the latest)
|
|
VERSIONS_URL='https://search.maven.org/solrsearch/select?q=g:net.sourceforge.plantuml+AND+a:plantuml&core=gav&start=0&rows=1&wt=xml'
|
|
|
|
# Only match the contents of the version (name="v") XML tag
|
|
LATEST_VERSION="$(curl -s "${VERSIONS_URL}" | grep -oP '(?<=<str name="v">).*(?=</str>)')"
|
|
|
|
# Compose the download link
|
|
DOWNLOAD_URL="https://search.maven.org/remotecontent?filepath=net/sourceforge/plantuml/plantuml/${LATEST_VERSION}/plantuml-${LATEST_VERSION}.jar"
|
|
|
|
# finally, download the JAR file
|
|
echo "Downloading PlantUML v${LATEST_VERSION} into ${OUTPUT_PATH}"
|
|
curl -so "${OUTPUT_PATH}" "${DOWNLOAD_URL}" 2>/dev/null
|