summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2014-12-05 13:32:54 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2014-12-05 13:32:54 +0000
commit425b462d361286822ee0ed7b5fe00881ba312ea3 (patch)
treee8f641a8604418882b916573cf32c87b78d33472 /scripts
parent952b77f3b1e2415602d5d9ffc2fb7ff45cc3edc4 (diff)
Moved into trunk
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@341 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Diffstat (limited to 'scripts')
-rw-r--r--scripts/generate_version.sh106
1 files changed, 106 insertions, 0 deletions
diff --git a/scripts/generate_version.sh b/scripts/generate_version.sh
new file mode 100644
index 00000000..4b5d08f4
--- /dev/null
+++ b/scripts/generate_version.sh
@@ -0,0 +1,106 @@
+#!/bin/bash
+#usage bash generate_version.sh : dont generate if svn st non empty
+#usage bash generate_version.sh -f : generate even if svn is empty
+#usage bash generate_version.sh -f DIR : generate even if svn is empty and save library in dir
+# VERSION CHECK
+ROOT_DIR=..
+VERSION_FILE="$ROOT_DIR/Version.txt"
+
+if [ ! -f $VERSION_FILE ]; then
+ echo "File not found! : $VERSION_FILE"
+ exit 1
+fi
+
+# SVN STATUS CHECK OR IF FORCED BY USER
+if [ "$1" != "-f" ]
+then
+ SVN_STATUS=`svn status $ROOT_DIR`
+ echo $SVN_STATUS
+fi
+
+
+TARGET_DIR=""
+if [ "$2" != "-f" ]
+then
+ TARGET_DIR=$2
+ echo "Install folder : $TARGET_DIR"
+fi
+
+if [ "$SVN_STATUS" != "" ]
+then
+ echo "Svn status must be empty to create a version!"
+ exit 1
+fi
+
+# TEMPORARY FOLDER CREATION
+VERSION_DATE=`date +"%Y-%m-%d-%H-%M-%S"`
+GUDHI="_GUDHI_"
+VERSION_REVISION=`cat $VERSION_FILE`
+VERSION_DIR="$VERSION_DATE$GUDHI$VERSION_REVISION"
+echo $VERSION_DIR
+mkdir "$VERSION_DIR"
+
+# TOP LEVEL FILE COPY
+cp $VERSION_FILE $VERSION_DIR
+cp $ROOT_DIR/README $VERSION_DIR
+cp $ROOT_DIR/Conventions.txt $VERSION_DIR
+cp $ROOT_DIR/COPYING $VERSION_DIR
+cp -R $ROOT_DIR/data $VERSION_DIR
+cp $ROOT_DIR/src/CMakeLists.txt $VERSION_DIR
+
+# PACKAGE LEVEL COPY
+PACKAGE_INC_DIR="/include"
+PACKAGE_SRC_DIR="/source"
+PACKAGE_EX_DIR="/example"
+for package in `ls $ROOT_DIR/src/`
+do
+ echo $package
+ if [ -d "$ROOT_DIR/src/$package" ]
+ then
+ if [ "$package" == "cmake" ]
+ then
+ # SPECIFIC FOR CMAKE MODULES
+ cp -R $ROOT_DIR/src/$package $VERSION_DIR
+ else
+ # PACKAGE COPY
+ if [ -d "$ROOT_DIR/src/$package$PACKAGE_INC_DIR" ]
+ then
+ if [ ! -d "$VERSION_DIR$PACKAGE_INC_DIR" ]
+ then
+ # MUST CREATE DIRECTORY ON FIRST LOOP
+ mkdir $VERSION_DIR$PACKAGE_INC_DIR
+ fi
+ cp -R $ROOT_DIR/src/$package$PACKAGE_INC_DIR/* $VERSION_DIR$PACKAGE_INC_DIR/
+ fi
+ if [ -d "$ROOT_DIR/src/$package$PACKAGE_SRC_DIR" ]
+ then
+ if [ ! -d "$VERSION_DIR$PACKAGE_SRC_DIR" ]
+ then
+ # MUST CREATE DIRECTORY ON FIRST LOOP
+ mkdir $VERSION_DIR$PACKAGE_INC_DIR
+ fi
+ cp -R $ROOT_DIR/src/$package$PACKAGE_SRC_DIR/* $VERSION_DIR$PACKAGE_SRC_DIR/
+ fi
+ if [ -d "$ROOT_DIR/src/$package$PACKAGE_EX_DIR" ]
+ then
+ mkdir -p $VERSION_DIR$PACKAGE_EX_DIR/$package
+ cp -R $ROOT_DIR/src/$package$PACKAGE_EX_DIR/* $VERSION_DIR$PACKAGE_EX_DIR/$package
+ fi
+ fi
+ fi
+done
+
+
+#INSTALL to some directory
+if [ "$TARGET_DIR" != "" ]; then
+ echo "Install in dir $TARGET_DIR"
+ mv "$VERSION_DIR" "$TARGET_DIR"
+else
+ # ZIP DIR AND REMOVE IT
+ tar -zcf "$VERSION_DIR.tar.gz" "$VERSION_DIR"
+ rm -rf "$VERSION_DIR"
+fi
+
+
+
+