Description:
add java package
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r192:bb5ce2d65aeb - - 1 file changed: 1 inserted, 1 deleted

@@ -1,170 +1,170
1 1 #!/bin/sh
2 2
3 3 echo "This script will install and configure Cafe grader."
4 4
5 5 echo "This will install Ruby 1.9.2 under rvm"
6 6
7 7 echo "Installing required apts"
8 8
9 9 sudo apt-get update
10 10 sudo apt-get install mysql-server mysql-client \
11 11 g++ gcc apache2 libmysqlclient15-dev build-essential \
12 12 git-core openssl libreadline6 libreadline6-dev \
13 13 zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \
14 14 sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev \
15 15 ncurses-dev automake libtool bison subversion \
16 - pkg-config curl nodejs unzip pyflakes ruby
16 + pkg-config curl nodejs unzip pyflakes ruby default-jdk
17 17
18 18 echo "Installing RVM"
19 19 curl -k -L https://get.rvm.io | bash -s stable
20 20 source ~/.rvm/scripts/rvm
21 21
22 22 echo "Installing Ruby 2.1.2 in RVM"
23 23
24 24 rvm install 2.1.2
25 25 rvm use 2.1.2
26 26
27 27 echo "Fetching Cafe Grader from Git repositories"
28 28
29 29 echo "Fetching web interface"
30 30
31 31 mkdir cafe_grader
32 32 cd cafe_grader
33 33 git clone -q git://github.com/jittat/cafe-grader-web.git web
34 34
35 35 echo "Configuring rails app"
36 36
37 37 cp web/config/application.rb.SAMPLE web/config/application.rb
38 38 cp web/config/initializers/cafe_grader_config.rb.SAMPLE web/config/initializers/cafe_grader_config.rb
39 39
40 40 #replace UTC in application.rb with the system timezone
41 41 timezone='UTC'
42 42 if [ -f '/etc/timezone' ]; then
43 43 timezone=\"`cat /etc/timezone`\"
44 44 else
45 45 if [ -f '/etc/sysconfig/clock' ]; then
46 46 timezone=`grep -e '^TIMEZONE' /etc/sysconfig/clock | grep -o -e '\".*\"'`
47 47 fi
48 48 fi
49 49 replace="s!'UTC'!$timezone!g"
50 50 sed -i $replace web/config/application.rb
51 51
52 52 echo "At this point we will need MySQL user and database."
53 53 echo "Have you created MySQL user and database for Cafe grader? (Y/N) "
54 54 read ch
55 55
56 56 if [ "$ch" = "n" -o "$ch" = "N" ]
57 57 then
58 58 echo "Please open another terminal and create the user and database for Cafe grader."
59 59 echo "Don't forget to grant access to that database for the user."
60 60 echo "Please have username, password, and database name ready before continue."
61 61 echo
62 62 echo "The following are instructions:"
63 63 echo "1. Run mysql:"
64 64 echo
65 65 echo " mysql -u root -p"
66 66 echo
67 67 echo " if you have just installed mysql, the root password is the one that you have just entered"
68 68 echo "2. Create a new database, a new user, and grant access to grader database:"
69 69 echo
70 70 echo " create user 'USERNAME'@'localhost' identified by 'PASSWORD';"
71 71 echo " create database \`DATABASENEME\`;"
72 72 echo " grant all on \`DATABASENAME\`.* to 'USERNAME'@'localhost';"
73 73 echo
74 74 echo " Replace USERNAME, PASSWORD, and DATABASENAME accordingly."
75 75 echo
76 76 echo "Hit enter when ready..."
77 77 read dummy
78 78 fi
79 79
80 80 CAFE_PATH=`pwd`
81 81
82 82 cd web
83 83
84 84 echo "Please provide grader database:"
85 85 read database
86 86
87 87 echo "Please provide grader username:"
88 88 read username
89 89
90 90 echo "Please provide $username password:"
91 91 read password
92 92
93 93 echo "development:" > config/database.yml
94 94 echo " adapter: mysql2" >> config/database.yml
95 95 echo " encoding: utf8" >> config/database.yml
96 96 echo " reconnect: false" >> config/database.yml
97 97 echo " database: $database" >> config/database.yml
98 98 echo " pool: 5" >> config/database.yml
99 99 echo " username: $username" >> config/database.yml
100 100 echo " password: $password" >> config/database.yml
101 101 echo " host: localhost" >> config/database.yml
102 102 echo " socket: /var/run/mysqld/mysqld.sock" >> config/database.yml
103 103 echo "" >> config/database.yml
104 104 echo "production:" >> config/database.yml
105 105 echo " adapter: mysql2" >> config/database.yml
106 106 echo " encoding: utf8" >> config/database.yml
107 107 echo " reconnect: false" >> config/database.yml
108 108 echo " database: $database" >> config/database.yml
109 109 echo " pool: 5" >> config/database.yml
110 110 echo " username: $username" >> config/database.yml
111 111 echo " password: $password" >> config/database.yml
112 112 echo " host: localhost" >> config/database.yml
113 113 echo " socket: /var/run/mysqld/mysqld.sock" >> config/database.yml
114 114
115 115 echo "Object.instance_eval{remove_const :GRADER_ROOT_DIR}" >> config/initializers/cafe_grader_config.rb
116 116 echo "Object.instance_eval{remove_const :GRADING_RESULT_DIR}" >> config/initializers/cafe_grader_config.rb
117 117 echo "GRADER_ROOT_DIR = '$CAFE_PATH/judge'" >> config/initializers/cafe_grader_config.rb
118 118 echo "GRADING_RESULT_DIR = '$CAFE_PATH/judge/result'" >> config/initializers/cafe_grader_config.rb
119 119
120 120 echo "Installing required gems"
121 121 gem install bundler
122 122 bundle install
123 123
124 124 echo "Running rake tasks to initialize database"
125 125
126 126 rake db:migrate
127 127 rake db:seed
128 128
129 129 echo "Running rake tasks to precompile the assets"
130 130
131 131 rake assets:precompile
132 132
133 133 echo "Intalling web interface complete..."
134 134 echo
135 135 echo "Fetching grader"
136 136
137 137 cd ..
138 138
139 139 mkdir judge
140 140 cd judge
141 141 git clone -q git://github.com/jittat/cafe-grader-judge-scripts.git scripts
142 142 mkdir raw
143 143 mkdir ev-exam
144 144 mkdir ev
145 145 mkdir result
146 146 mkdir log
147 147
148 148 echo "Configuring grader"
149 149
150 150 cp scripts/config/env_exam.rb.SAMPLE scripts/config/env_exam.rb
151 151 cp scripts/config/env_grading.rb.SAMPLE scripts/config/env_grading.rb
152 152
153 153 # create new environment.rb file
154 154 echo "RAILS_ROOT = '$CAFE_PATH/web'" > scripts/config/environment.rb
155 155 echo "GRADER_ROOT = '$CAFE_PATH/judge/scripts'" >> scripts/config/environment.rb
156 156 echo "require File.join(File.dirname(__FILE__),'../lib/boot')" >> scripts/config/environment.rb
157 157 echo "require File.dirname(__FILE__) + \"/env_#{GRADER_ENV}.rb\"" >> scripts/config/environment.rb
158 158
159 159 cd ..
160 160
161 161 echo "Now you are ready to run cafe grader...."
162 162 echo
163 163 echo "Try:"
164 164 echo
165 165 echo " cd web"
166 166 echo " rails s"
167 167 echo
168 168 echo "and access web at http://localhost:3000/"
169 169 echo "The root username is 'root', its password is 'ioionrails'."
170 170
You need to be logged in to leave comments. Login now