summaryrefslogtreecommitdiffstats
path: root/kapptemplate/existing.module
blob: 500f5adfe03c6fac124fb65fde704619734dd277 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
function GetCurrentSource
{
    # First, get the location of the existing source code
    unset SOURCE_LOCATION;
    while [ ! "$SOURCE_LOCATION" ];
    do
        $ECHO "What directory contains the existing files? [no default]";
        $ECHO ": \c";
        read SOURCE_LOCATION;

        if [ ! -d $SOURCE_LOCATION ];
        then
            $ECHO "Directory does not exist.  Try again.";
            $ECHO;
            unset SOURCE_LOCATION;
        fi
    done
    $ECHO;

    # Now, find C++ source and header files
    CUR_PWD=$PWD;
    cd $SOURCE_LOCATION;
    EXISTING_SOURCE=`/bin/ls -x *.cpp`;
    EXISTING_HEADER=`/bin/ls -x *.h`;
    cd $CUR_PWD;

    # Sanity check
    if [ "$EXISTING_SOURCE" -o "$EXISTING_HEADER" ];
    then
        $ECHO "Found these files: $EXISTING_SOURCE $EXISTING_HEADER";
    else
        $ECHO "Could not find any source files in that directory";
        exit 1;
    fi
}

###########################################################################
#
# STEP 1: GET USER INFORMATION
#
###########################################################################
# Get the application name
APPTYPE="existing application";
unset APPDEFAULT;
GetProperName

# Get the application version
GetVersion

# Get where the sources currently are
GetCurrentSource

# Get the root where this framework will be installed
GetLocationRoot

# Get the author's name
GetAuthorName

# Get the author's email
GetAuthorEmail

# Verify that everything is grand
$ECHO;
$ECHO "Here is what I have:";
$ECHO "The application: $APP_NAME v$APP_VERSION";
$ECHO "Installed in: $LOCATION_ROOT";
$ECHO "Source from: $SOURCE_LOCATION";
$ECHO "Author: $AUTHOR <$EMAIL>";
$ECHO;
$ECHO "Is this correct (Y/n)? ";
$ECHO ": \c";
read Y_N;
if [ $Y_N -a $Y_N = 'n' ];
then
	$ECHO "AUGH!  Well, try again.";
	exit 0;
fi
$ECHO;

$ECHO "OK, Here we go!!";

###########################################################################
#
# STEP 2: CREATE APPLICATION FRAMEWORK
#
###########################################################################
CreateAppFramework

###########################################################################
#
# STEP 3: HANDLE EXISTING FILES
#
###########################################################################
for FILE in $EXISTING_SOURCE;
do
    cp -f $SOURCE_LOCATION/$FILE $LOCATION_ROOT/$APP_NAME_LC/$FILE
done
for FILE in $EXISTING_HEADER;
do
    cp -f $SOURCE_LOCATION/$FILE $LOCATION_ROOT/$APP_NAME_LC/$FILE
done

for EXE_FILE in $EXISTING_FILES;
do
    . $SHARE_DIR/existing/$EXE_FILE || exit 1;
done

###########################################################################
#
# STEP 4: FINAL STEPS
#
###########################################################################

if [ ! $NOINIT ]; then
    cd $LOCATION_ROOT && $MAKE -f Makefile.cvs
fi

$ECHO "DONE!";