Implement viewing files at any revision.
[anjuta-git-plugin.git] / scripts / anjuta_import.sh.in
blob9bff5ac6d81903c503555ed2ae21cbe0a66c2052
1 #!/bin/sh
3 # Shell script to automatically create an Anjuta 1.x project file
4 # Copyright: Biswapesh Chattopadhyay (biswapesh_chatterjee@tcscal.co.in) 2001-2002
5 # This file can be freely copied for any purpose. There are NO guarantees.
8 # Template file is in data dir, so:
9 # TEMPLATE="$(dirname $0)/anjuta_project.template"
10 TEMPLATE="@PACKAGE_DATA_DIR@/anjuta_project.template"
11 AN_SKIP_DIRS=${AN_SKIP_DIRS:-"intl"}
12 AN_SOURCE_EXTN=${AN_SOURCE_EXTN:-"c pc sc C cpp cxx cc java"}
13 AN_HEADER_EXTN=${AN_HEADER_EXTN:-"h H hxx hpp hh"}
14 AN_PIXMAP_EXTN=${AN_IMAGE_EXTN:-"jpeg jpg png gif xpm bmp ico tiff"}
15 AN_DOC_EXTN=${AN_DOC_EXTN:-"html sgml sgml README INSTALL ChangeLog NEWS COPYING CREDITS AUTHORS THANKS TODO HACKING FUTURE"}
16 AN_PO_EXTN=${AN_PO_EXTN:-"po"}
17 AN_PO_DIR="po"
19 PROGRAM=anjuta
20 DIR=${1:-"."}
21 TMPFILE=/tmp/$PROGRAM.$$.tmp
23 if [ ! -s "${TEMPLATE}" ]; then
24 echo "Template file ${TEMPLATE} does not exist!" >&2
25 exit 1
28 if [ "$DIR" != '.' ]; then
29 if [ ! -d "$DIR" ]; then
30 echo "Directory $1 does not exist !" >&2
31 \rm -f ${TMPFILE}
32 exit 1
34 if ! \cd $1; then
35 echo "Unable to chdir to $1" >&2
36 \rm -f ${TMPFILE}
37 exit 1
41 if [ -f "configure.in" ]; then
42 package_line=$(grep AM_INIT_AUTOMAKE configure.in)
43 if [ ! -z "${package_line}" ]; then
44 AN_PROJECT_NAME=$(echo ${package_line} | awk -F'[(),]' '{print $2}')
45 AN_PROJECT_VERSION=$(echo ${package_line} | awk -F'[(),]' '{print $3}')
49 if [ -z "${AN_PROJECT_NAME}" ]; then
50 AN_PROJECT_NAME=$(pwd | awk -F'/' '{print $NF}' | sed 's/-[0-9][^-]*$//')
51 AN_PROJECT_VERSION=$(pwd | awk -F'/' '{print $NF}' | awk -F'-' '{if ((NF > 1) && ($NF ~ /^[0-9]/)) print $NF}')
54 AN_PROJECT_NAME=$(echo ${AN_PROJECT_NAME} | sed 's/[ ]//g' | sed 's/[^0-9a-zA-Z_]/_/g')
55 AN_PROJECT_VERSION=$(echo ${AN_PROJECT_VERSION} | sed 's/[ ]//g')
57 if [ -z "${AN_PROJECT_NAME}" ]; then
58 echo "WARNING!! Unable to derive project name. Using default value.." >&2
59 AN_PROJECT_NAME="template"
61 if [ -z "${AN_PROJECT_VERSION}" ]; then
62 echo "WARNING!! Unable to derive project version. Using default value.." >&2
63 AN_PROJECT_VERSION="0.99"
66 PRJ_FILE="${AN_PROJECT_NAME}.prj"
68 if [ -f "${PRJ_FILE}" ]; then
69 if ! mv ${PRJ_FILE} ${PRJ_FILE}.$$; then
70 echo "Unable to backup existing project file! Exiting." >&2
71 \rm -f ${TMPFILE}
72 exit 1
74 echo "WARNING!! Existing project file ${PRJ_FILE} backed up as ${PRJ_FILE}.$$" >&2
77 AN_SOURCE_FILES=""
78 AN_HEADER_FILES=""
79 AN_PIXMAP_FILES=""
80 AN_DOC_FILES=""
81 AN_PO_FILES=""
82 for file in `find . -type f -print`; do
83 name=`echo $file | cut -c3-`
84 top_dir=`echo $name | awk -F'/' '{if (NF > 1) print $1; else print "."}'`
85 skip=0
86 for dir in $AN_SKIP_DIRS; do
87 if [ "$dir" = "${top_dir}" ]; then
88 skip=1
89 break
91 done
92 if [ $skip -eq 0 ]; then
93 found=0
94 file_extn="`echo $name | awk -F'[/.]' '{print $NF}'`"
95 for extn in $AN_SOURCE_EXTN; do
96 if [ "$extn" = "$file_extn" ]; then
97 AN_SOURCE_FILES="$AN_SOURCE_FILES $name"
98 echo "Adding source file $name.."
99 found=1
100 break
102 done
103 if [ $found -eq 0 ]; then
104 for extn in $AN_HEADER_EXTN; do
105 if [ "$extn" = "$file_extn" ]; then
106 AN_HEADER_FILES="$AN_HEADER_FILES $name"
107 echo "Adding header file $name.."
108 found=1
109 break
111 done
113 if [ $found -eq 0 ]; then
114 for extn in $AN_PIXMAP_EXTN; do
115 if [ "$extn" = "$file_extn" ]; then
116 AN_PIXMAP_FILES="$AN_PIXMAP_FILES $name"
117 echo "Adding pixmap file $name.."
118 found=1
119 break
121 done
123 if [ $found -eq 0 ]; then
124 for extn in $AN_DOC_EXTN; do
125 if [ "$extn" = "$file_extn" ]; then
126 AN_DOC_FILES="$AN_DOC_FILES $name"
127 echo "Adding doc file $name.."
128 found=1
129 break
131 done
133 if [ $found -eq 0 ]; then
134 if [ "$AN_PO_EXTN" = "$file_extn" -a "$AN_PO_DIR" = "$top_dir" ]; then
135 name="`echo $name | cut -c4-`"
136 AN_PO_FILES="$AN_PO_FILES $name"
137 echo "Adding PO file $name.."
138 found=1
141 if [ $found -eq 0 ]; then
142 echo "Skipping $name.."
144 else
145 echo "Ignoring $name.."
147 done
149 cat ${TEMPLATE} | while read line; do
150 eval "echo ${line}" >>${PRJ_FILE}
151 done
153 echo "Created project file ${PRJ_FILE} successfully."
155 \rm -f ${TMPFILE}
156 exit 0