Update Copyright + Do not generate files if propertiesMap not changed
[scilab.git] / scilab / modules / graphic_objects / src / scripts / genPropertiesName.sh
1 #! /bin/sh
2 ##  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 ##  Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
4 ##  Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET
5 ##
6 ##  This file must be used under the terms of the CeCILL.
7 ##  This source file is licensed as described in the file COPYING, which
8 ##  you should have received as part of this distribution.  The terms
9 ##  are also available at
10 ##  http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11 ##
12 ##
13
14 main()
15 {
16     if [ $# -ne 3 ]; then
17         echo "Usage: $0 --java|--C <PropertiesFile> <OuputFile>"
18         exit 1
19     fi
20
21     OutFile=$3
22     PropertiesFile=$2
23     Mode=$1
24
25     case "$Mode" in
26         --java)
27             generateJavaFile;;
28         --C)
29             generateCFile;;
30     esac
31 }
32
33 generateJavaFile()
34 {
35     if test $PropertiesFile -nt $OutFile; then
36         echo "-- Building GraphicObjectProperties.java --"
37         generateHeader
38         echo "package org.scilab.modules.graphic_objects.graphicObject;" >> $OutFile
39         echo ""  >> $OutFile
40         echo "public class GraphicObjectProperties {" >> $OutFile
41         echo ""  >> $OutFile
42
43         awk 'BEGIN {num=0} (NF > 0) {printf "    public static final int %s = %d;\n", $1, num; num++}' < $PropertiesFile >> $OutFile
44
45         echo ""  >> $OutFile
46         echo "}"  >> $OutFile
47     else
48         echo "-- GraphicObjectProperties.java already up-to-date --"
49     fi
50 }
51
52 generateCFile()
53 {
54     if test $PropertiesFile -nt $OutFile; then
55         echo "-- Building GraphicObjectProperties.h --"
56         generateHeader
57         echo "#ifndef  __GRAPHIC_OBJECT_PROPERTIES_H__" >> $OutFile
58         echo "#define __GRAPHIC_OBJECT_PROPERTIES_H__" >> $OutFile
59         echo ""  >> $OutFile
60
61         awk 'BEGIN {num=0} (NF > 0) {printf "#define %s %d\n", $1, num; num++}' < $PropertiesFile >> $OutFile
62
63         echo ""  >> $OutFile
64         echo "#endif /* !__GRAPHIC_OBJECT_PROPERTIES_H__ */" >> $OutFile
65     else
66         echo "-- GraphicObjectProperties.h already up-to-date --"
67     fi
68 }
69
70 generateHeader()
71 {
72     echo "/*" > $OutFile
73     echo " *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab" >> $OutFile
74     echo " *  Copyright (C) 2010-2012 - DIGITEO - Bruno JOFRET" >> $OutFile
75     echo " *  Copyright (C) 2012-2014 - Scilab-Enterprises - Bruno JOFRET" >> $OutFile
76     echo " *" >> $OutFile
77     echo " *  This file must be used under the terms of the CeCILL." >> $OutFile
78     echo " *  This source file is licensed as described in the file COPYING, which" >> $OutFile
79     echo " *  you should have received as part of this distribution.  The terms" >> $OutFile
80     echo " *  are also available at" >> $OutFile
81     echo " *  http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt" >> $OutFile
82     echo " *" >> $OutFile
83     echo " */" >> $OutFile
84
85     echo ""  >> $OutFile
86
87     echo "/*" >> $OutFile
88     echo " * -=- This is a generated file, please do not edit by hand             -=-" >> $OutFile
89     echo " * -=- Please see properties definitions in                             -=-" >> $OutFile
90     echo " * -=- SCI/modules/graphic_objects/src/scripts/propertiesMap.properties -=-" >> $OutFile
91     echo " */" >> $OutFile
92
93     echo "" >> $OutFile
94 }
95
96 main $@