From c72f7f8a46a66c38f18f2acbac9773f6e5fde11c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Wed, 4 Sep 2019 13:02:26 +0200 Subject: [PATCH] Improve the script for creating download links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit — factorize the two scripts into a single one — various safety and style improvements --- .gitlab-ci.yml | 5 ++--- setup-download-links.sh | 37 +++++++++++++++++++++++++++++++++++++ setup-release.sh | 33 --------------------------------- setup-snapshots.sh | 33 --------------------------------- 4 files changed, 39 insertions(+), 69 deletions(-) create mode 100755 setup-download-links.sh delete mode 100755 setup-release.sh delete mode 100755 setup-snapshots.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3bb1bca..36710b4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,9 +16,8 @@ build: GEM_HOME: "$CI_PROJECT_DIR/.gem" before_script: - gem install jekyll - - (cd _data && wget https://www.dynare.org/RePEc/cpm/dynare/wp.yml) - - ./setup-release.sh - - ./setup-snapshots.sh + - (cd _data && wget --no-verbose https://www.dynare.org/RePEc/cpm/dynare/wp.yml) + - ./setup-download-links.sh - bundle install script: - (cd assets/images/logo && make) diff --git a/setup-download-links.sh b/setup-download-links.sh new file mode 100755 index 0000000..8f51dc9 --- /dev/null +++ b/setup-download-links.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +set -e + +for branch in release snapshot +do + mkdir -p "assets/$branch" + cd "assets/$branch" + + wget --no-verbose "https://www.dynare.org/$branch/macosx.json" + wget --no-verbose "https://www.dynare.org/$branch/source.json" + wget --no-verbose "https://www.dynare.org/$branch/windows.json" + wget --no-verbose "https://www.dynare.org/$branch/windows-zip.json" + + arr=("macosx" "source" "windows" "windows-zip") + + for dir in "${arr[@]}" + do + mkdir -p "$dir" + mapfile -t filenames < <(jq .[].filename "$dir.json") + mapfile -t timestamps < <(jq .[].date "$dir.json") + n=$(jq length "$dir.json") + cd "$dir" + for ((i = 0; i < n; i++)) + do + filename="${filenames[i]%\"}" + filename="${filename#\"}" + timestamp="${timestamps[i]%\"}" + timestamp="${timestamp#\"}" + echo "$filename $timestamp" + touch -amt "$timestamp" "$filename" + done + cd - + done + rm -- *.json + cd - +done diff --git a/setup-release.sh b/setup-release.sh deleted file mode 100755 index 9d81ef5..0000000 --- a/setup-release.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -mkdir -p assets/release -cd assets/release - -wget http://www.dynare.org/release/macosx.json -wget http://www.dynare.org/release/source.json -wget http://www.dynare.org/release/windows.json -wget http://www.dynare.org/release/windows-zip.json - -declare -a arr=("macosx" "source" "windows" "windows-zip") - -for dir in "${arr[@]}" -do - mkdir $dir - filenames=(`jq .[].filename $dir.json`) - timestamps=(`jq .[].date $dir.json`) - n=`jq length $dir.json` - n=`expr $n - 1` - cd $dir - for i in `seq 0 $n`; - do - filename="${filenames[i]%\"}" - filename="${filename#\"}" - timestamp="${timestamps[i]%\"}" - timestamp="${timestamp#\"}" - echo $filename $timestamp - touch -amt $timestamp $filename - done - cd .. -done -rm *.json -cd ../.. diff --git a/setup-snapshots.sh b/setup-snapshots.sh deleted file mode 100755 index 0fc7633..0000000 --- a/setup-snapshots.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -mkdir -p assets/snapshot -cd assets/snapshot - -wget http://www.dynare.org/snapshot/macosx.json -wget http://www.dynare.org/snapshot/source.json -wget http://www.dynare.org/snapshot/windows.json -wget http://www.dynare.org/snapshot/windows-zip.json - -declare -a arr=("macosx" "source" "windows" "windows-zip") - -for dir in "${arr[@]}" -do - mkdir $dir - filenames=(`jq .[].filename $dir.json`) - timestamps=(`jq .[].date $dir.json`) - n=`jq length $dir.json` - n=`expr $n - 1` - cd $dir - for i in `seq 0 $n`; - do - filename="${filenames[i]%\"}" - filename="${filename#\"}" - timestamp="${timestamps[i]%\"}" - timestamp="${timestamp#\"}" - echo $filename $timestamp - touch -amt $timestamp $filename - done - cd .. -done -rm *.json -cd ../.. -- GitLab