Continued:
[jprojects-scripts.git] / .jprojects.sh
1 #!/bin/bash
2
3 # Tools repository (this)
4 THIS="jprojects-scripts"
5
6 # Libraries and EJBs
7 LIBRARIES="jcore-utils jcore jcoreee \
8         jcore-logger-lib jcore-logger-ejb \
9         jcountry-core jcountry-lib \
10         jphone-core jphone-lib \
11         jcontacts-core jcontacts-lib \
12         jcontacts-business-core jcontacts-business-lib \
13         juser-core juser-lib \
14         juser-login-core juser-login-lib \
15         juser-activity-core juser-activity-lib \
16         jletter-core jletter-lib \
17         jaddressbook-core jaddressbook-lib \
18         jaddressbook-share-core jaddressbook-share-lib \
19         jmailer-ee \
20         jcore-swing \
21         jcustomer-core jcustomer-lib \
22         jbonuscard-core jbonuscard-lib \
23         jproduct-core jproduct-lib \
24         jshop-core jshop-lib \
25         jshop-receipt-core jshop-receipt-lib"
26
27 # Base application names (all)
28 BASE_APPLICATION_NAMES="addressbook jfinancials jjobs jjobboards pizzaservice"
29
30 # Applications and their special libs/EJBs
31 APPLICATIONS="pizzaservice-core pizzaservice-lib pizzaservice-mailer-ejb pizzaservice-mailer-lib pizzaservice-ejb pizzaservice-swing \
32         jjobs-core jjobs-lib jjobs-mailer-ejb jjobs-mailer-lib jjobs-ejb jjobs-war jjobs \
33         jfinancials-core jfinancials-lib jfinancials-mailer-ejb jfinancials-mailer-lib jfinancials-ejb jfinancials-war jfinancials
34         addressbook-core addressbook-lib addressbook-mailer-ejb addressbook-mailer-lib addressbook-uml"
35
36 # Unmaintained, but maybe not broken
37 UNMAINTAINED="addressbook-ejb addressbook-war addressbook "
38
39 # Company-specific projects
40 COMPANY_PROJECTS="jjobboards-core jjobboards-lib jjobboards-mailer-ejb jjobboards-mailer-lib jjobboards-ejb jjobboards-war jjobboards"
41
42 # Broken (needs fixing)
43 BROKEN="addressbook-swing jfinancials-swing jjobboards-swing pizzaservice-war pizzaservice"
44
45 # Compile list
46 ALL_PROJECTS="${THIS} ${LIBRARIES} ${APPLICATIONS} ${COMPANY_PROJECTS} ${UNMAINTAINED} ${BROKEN}"
47
48 # Own home directory
49 declare -r JPROJECTS_HOME="${PWD}"
50
51 # All programs
52 ANT_BIN=$(which ant 2>/dev/null)
53 SCP_BIN=$(which scp 2>/dev/null)
54 SSH_BIN=$(which ssh 2>/dev/null)
55
56 # Check binary
57 if [ -z "${ANT_BIN}" ]
58 then
59         echo "$0: Cannot find ANT binary."
60         exit 1
61 elif [ -z "${SCP_BIN}" ]
62 then
63         echo "$0: Cannot find SCP binary."
64         exit 1
65 elif [ -z "${SSH_BIN}" ]
66 then
67         echo "$0: Cannot find SSH binary."
68         exit 1
69 fi
70
71 # Test on .git availability"
72 LIST=""
73 for project in ${ALL_PROJECTS}; do
74         if [ ! -d "${project}" ]
75         then
76                 echo "$0: Project '${project}' not created."
77         elif [ ! -f "${project}/.git/config" ]
78         then
79                 echo "$0: Project '${project}' is no GIT project."
80                 exit 1
81         fi
82
83         # Add it as available
84         LIST="${LIST} ${project}"
85 done