add update-codebase.sh to automatically update build outputs

This commit is contained in:
yushijinhun 2018-02-12 14:35:33 +08:00
parent 17955c18dd
commit d0ebc87c1d
No known key found for this signature in database
GPG Key ID: 5BC167F73EA558E4
3 changed files with 39 additions and 1 deletions

2
.gitignore vendored
View File

@ -61,3 +61,5 @@ build/
_ignore/ _ignore/
package.json.lock package.json.lock
!js/build/

View File

@ -57,7 +57,7 @@
</p> </p>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/89/three.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/89/three.min.js"></script>
<script type="text/javascript" src="js/skinview3d.min.js"></script> <script type="text/javascript" src="js/build/skinview3d.min.js"></script>
<script type="text/javascript" src="js/example.js"></script> <script type="text/javascript" src="js/example.js"></script>
<script> <script>
initSkinViewer(); initSkinViewer();

36
update-codebase.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/bash
set -e
if [ ! -d ".git" ];then
echo "Please run this command in the root directory of the repository."
exit 1
fi
checkout_dir="_ignore/master"
output_dir="js/build"
revision_file="$output_dir/revision"
if [ -f "$revision_file" ];then
last_revision=$(cat $revision_file)
echo "> Current revison of build outputs: $last_revision"
fi
original_dir=$(pwd)
master_revision=$(git show-ref --hash -- refs/heads/master)
echo "> Checking out $master_revision"
echo "> Commit summary:"
git show --summary $master_revision
rm -rf -- $checkout_dir
mkdir -p -- $checkout_dir
git --work-tree=$checkout_dir checkout $master_revision -- .
cd -- $checkout_dir
echo "> Building"
npm install
echo "> Copying build outputs"
cd -- $original_dir
rm -rf -- $output_dir
cp -r -- "$checkout_dir/build" $output_dir
echo "$master_revision" > $revision_file
echo "> New revison of build outputs: $master_revision"