diff --git a/.gitignore b/.gitignore index fffa8a730..86e416678 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules dist dist-electron .vscode +storage/**/*.zip diff --git a/package.json b/package.json index d55b94ce7..f087f6a8f 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "electron:install": "electron-builder install-app-deps", "electron:clean": "rm -rf ./dist-electron", "electron:build": "npm run electron:clean && npm run electron:install && npm run build && electron-builder -mwl --x64 --config electron-builder.json", - "upload-storage": "gsutil rsync -r -x \".DS_Store\" ./storage gs://esa-cfs-storage/$npm_package_version && gsutil -m setmeta -r -h \"Cache-Control: no-cache\" gs://esa-cfs-storage/$npm_package_version/" + "story-packages": "./scripts/create-story-packages.sh", + "upload-storage": "npm run story-packages && gsutil rsync -r -x \".DS_Store\" ./storage gs://esa-cfs-storage/$npm_package_version && gsutil -m setmeta -r -h \"Cache-Control: no-cache\" gs://esa-cfs-storage/$npm_package_version/" }, "repository": { "type": "git", diff --git a/scripts/create-story-packages.sh b/scripts/create-story-packages.sh new file mode 100755 index 000000000..43ed47258 --- /dev/null +++ b/scripts/create-story-packages.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Zip each story into a package in ./storage/stories/{storyId}package.zip +# The story content inside the package must be wrapped in a "story-{storyId}" folder +# Usage: Just run './scripts/create-story-package.sh' from the project's root directory + +cd storage/stories + +for storyId in */; do + tmpDir=/tmp/story-$storyId + mkdir $tmpDir + + cp -r ./$storyId/* $tmpDir + lastDir=(`pwd`) + + cd /tmp + zip -r $lastDir/$storyId/package.zip ./story-$storyId + cd $lastDir + + rm -r $tmpDir +done