Description:
update to 3.1.0, update rdoc
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r821:7ceba92b053f - - 4 files changed: 10 inserted, 6 deleted

@@ -1,52 +1,52
1 source 'https://rubygems.org'
1 source 'https://rubygems.org'
2 git_source(:github) { |repo| "https://github.com/#{repo}.git" }
2 git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
3
4 - ruby '3.0.2'
4 + ruby '3.1.0'
5
5
6 #rails
6 #rails
7 gem 'rails', '~>7.0'
7 gem 'rails', '~>7.0'
8
8
9 # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
9 # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
10 gem "sprockets-rails"
10 gem "sprockets-rails"
11
11
12 gem 'activerecord-session_store'
12 gem 'activerecord-session_store'
13 gem 'puma'
13 gem 'puma'
14
14
15 # Reduces boot times through caching; required in config/boot.rb
15 # Reduces boot times through caching; required in config/boot.rb
16 gem 'bootsnap', require: false
16 gem 'bootsnap', require: false
17
17
18 # Bundle edge Rails instead:
18 # Bundle edge Rails instead:
19 # gem 'rails', :git => 'git://github.com/rails/rails.git'
19 # gem 'rails', :git => 'git://github.com/rails/rails.git'
20
20
21 #---------------- database ---------------------
21 #---------------- database ---------------------
22 #the database
22 #the database
23 gem 'mysql2'
23 gem 'mysql2'
24 #for testing
24 #for testing
25 gem 'sqlite3'
25 gem 'sqlite3'
26 gem 'rails-controller-testing'
26 gem 'rails-controller-testing'
27 #for dumping database into yaml
27 #for dumping database into yaml
28 gem 'yaml_db'
28 gem 'yaml_db'
29
29
30
30
31 #------------- assset pipeline -----------------
31 #------------- assset pipeline -----------------
32 # Gems used only for assets and not required
32 # Gems used only for assets and not required
33 # in production environments by default.
33 # in production environments by default.
34 #sass-rails is depricated
34 #sass-rails is depricated
35 #gem 'sass-rails'
35 #gem 'sass-rails'
36 gem 'sassc-rails'
36 gem 'sassc-rails'
37 gem 'coffee-rails'
37 gem 'coffee-rails'
38
38
39 # See https://github.com/sstephenson/execjs#readme for more supported runtimes
39 # See https://github.com/sstephenson/execjs#readme for more supported runtimes
40 # gem 'therubyracer', :platforms => :ruby
40 # gem 'therubyracer', :platforms => :ruby
41
41
42 gem 'uglifier'
42 gem 'uglifier'
43
43
44 gem 'haml'
44 gem 'haml'
45 gem 'haml-rails'
45 gem 'haml-rails'
46
46
47 # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
47 # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
48 #gem 'turbolinks', '~> 5'
48 #gem 'turbolinks', '~> 5'
49 # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
49 # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
50 gem 'jbuilder'
50 gem 'jbuilder'
51
51
52
52
@@ -133,97 +133,97
133 globalid (1.0.0)
133 globalid (1.0.0)
134 activesupport (>= 5.0)
134 activesupport (>= 5.0)
135 haml (5.2.2)
135 haml (5.2.2)
136 temple (>= 0.8.0)
136 temple (>= 0.8.0)
137 tilt
137 tilt
138 haml-rails (2.0.1)
138 haml-rails (2.0.1)
139 actionpack (>= 5.1)
139 actionpack (>= 5.1)
140 activesupport (>= 5.1)
140 activesupport (>= 5.1)
141 haml (>= 4.0.6, < 6.0)
141 haml (>= 4.0.6, < 6.0)
142 html2haml (>= 1.0.1)
142 html2haml (>= 1.0.1)
143 railties (>= 5.1)
143 railties (>= 5.1)
144 html2haml (2.2.0)
144 html2haml (2.2.0)
145 erubis (~> 2.7.0)
145 erubis (~> 2.7.0)
146 haml (>= 4.0, < 6)
146 haml (>= 4.0, < 6)
147 nokogiri (>= 1.6.0)
147 nokogiri (>= 1.6.0)
148 ruby_parser (~> 3.5)
148 ruby_parser (~> 3.5)
149 i18n (1.8.11)
149 i18n (1.8.11)
150 concurrent-ruby (~> 1.0)
150 concurrent-ruby (~> 1.0)
151 in_place_editing (1.2.0)
151 in_place_editing (1.2.0)
152 io-console (0.5.11)
152 io-console (0.5.11)
153 io-wait (0.2.1)
153 io-wait (0.2.1)
154 irb (1.4.1)
154 irb (1.4.1)
155 reline (>= 0.3.0)
155 reline (>= 0.3.0)
156 jbuilder (2.11.5)
156 jbuilder (2.11.5)
157 actionview (>= 5.0.0)
157 actionview (>= 5.0.0)
158 activesupport (>= 5.0.0)
158 activesupport (>= 5.0.0)
159 jquery-countdown-rails (2.0.2)
159 jquery-countdown-rails (2.0.2)
160 jquery-rails (4.4.0)
160 jquery-rails (4.4.0)
161 rails-dom-testing (>= 1, < 3)
161 rails-dom-testing (>= 1, < 3)
162 railties (>= 4.2.0)
162 railties (>= 4.2.0)
163 thor (>= 0.14, < 2.0)
163 thor (>= 0.14, < 2.0)
164 jquery-tablesorter (1.27.2)
164 jquery-tablesorter (1.27.2)
165 railties (>= 3.2)
165 railties (>= 3.2)
166 jquery-ui-rails (6.0.1)
166 jquery-ui-rails (6.0.1)
167 railties (>= 3.2.16)
167 railties (>= 3.2.16)
168 listen (3.0.8)
168 listen (3.0.8)
169 rb-fsevent (~> 0.9, >= 0.9.4)
169 rb-fsevent (~> 0.9, >= 0.9.4)
170 rb-inotify (~> 0.9, >= 0.9.7)
170 rb-inotify (~> 0.9, >= 0.9.7)
171 loofah (2.13.0)
171 loofah (2.13.0)
172 crass (~> 1.0.2)
172 crass (~> 1.0.2)
173 nokogiri (>= 1.5.9)
173 nokogiri (>= 1.5.9)
174 mail (2.7.1)
174 mail (2.7.1)
175 mini_mime (>= 0.1.1)
175 mini_mime (>= 0.1.1)
176 marcel (1.0.2)
176 marcel (1.0.2)
177 matrix (0.4.2)
177 matrix (0.4.2)
178 method_source (1.0.0)
178 method_source (1.0.0)
179 mini_mime (1.1.2)
179 mini_mime (1.1.2)
180 minitest (5.15.0)
180 minitest (5.15.0)
181 - minitest-reporters (1.4.3)
181 + minitest-reporters (1.5.0)
182 ansi
182 ansi
183 builder
183 builder
184 minitest (>= 5.0)
184 minitest (>= 5.0)
185 ruby-progressbar
185 ruby-progressbar
186 momentjs-rails (2.29.1.1)
186 momentjs-rails (2.29.1.1)
187 railties (>= 3.1)
187 railties (>= 3.1)
188 msgpack (1.4.2)
188 msgpack (1.4.2)
189 multi_json (1.15.0)
189 multi_json (1.15.0)
190 mysql2 (0.5.3)
190 mysql2 (0.5.3)
191 net-imap (0.2.3)
191 net-imap (0.2.3)
192 digest
192 digest
193 net-protocol
193 net-protocol
194 strscan
194 strscan
195 net-pop (0.1.1)
195 net-pop (0.1.1)
196 digest
196 digest
197 net-protocol
197 net-protocol
198 timeout
198 timeout
199 net-protocol (0.1.2)
199 net-protocol (0.1.2)
200 io-wait
200 io-wait
201 timeout
201 timeout
202 net-smtp (0.3.1)
202 net-smtp (0.3.1)
203 digest
203 digest
204 net-protocol
204 net-protocol
205 timeout
205 timeout
206 nio4r (2.5.8)
206 nio4r (2.5.8)
207 nokogiri (1.13.1-x86_64-linux)
207 nokogiri (1.13.1-x86_64-linux)
208 racc (~> 1.4)
208 racc (~> 1.4)
209 public_suffix (4.0.6)
209 public_suffix (4.0.6)
210 puma (5.5.2)
210 puma (5.5.2)
211 nio4r (~> 2.0)
211 nio4r (~> 2.0)
212 racc (1.6.0)
212 racc (1.6.0)
213 rack (2.2.3)
213 rack (2.2.3)
214 rack-test (1.1.0)
214 rack-test (1.1.0)
215 rack (>= 1.0, < 3)
215 rack (>= 1.0, < 3)
216 rails (7.0.1)
216 rails (7.0.1)
217 actioncable (= 7.0.1)
217 actioncable (= 7.0.1)
218 actionmailbox (= 7.0.1)
218 actionmailbox (= 7.0.1)
219 actionmailer (= 7.0.1)
219 actionmailer (= 7.0.1)
220 actionpack (= 7.0.1)
220 actionpack (= 7.0.1)
221 actiontext (= 7.0.1)
221 actiontext (= 7.0.1)
222 actionview (= 7.0.1)
222 actionview (= 7.0.1)
223 activejob (= 7.0.1)
223 activejob (= 7.0.1)
224 activemodel (= 7.0.1)
224 activemodel (= 7.0.1)
225 activerecord (= 7.0.1)
225 activerecord (= 7.0.1)
226 activestorage (= 7.0.1)
226 activestorage (= 7.0.1)
227 activesupport (= 7.0.1)
227 activesupport (= 7.0.1)
228 bundler (>= 1.15.0)
228 bundler (>= 1.15.0)
229 railties (= 7.0.1)
229 railties (= 7.0.1)
@@ -322,52 +322,52
322 DEPENDENCIES
322 DEPENDENCIES
323 ace-rails-ap
323 ace-rails-ap
324 activerecord-session_store
324 activerecord-session_store
325 autoprefixer-rails
325 autoprefixer-rails
326 best_in_place!
326 best_in_place!
327 bootsnap
327 bootsnap
328 bootstrap-sass (~> 3.4.1)
328 bootstrap-sass (~> 3.4.1)
329 bootstrap-switch-rails
329 bootstrap-switch-rails
330 bootstrap-toggle-rails
330 bootstrap-toggle-rails
331 bootstrap3-datetimepicker-rails (~> 4.17.47)
331 bootstrap3-datetimepicker-rails (~> 4.17.47)
332 capybara
332 capybara
333 coffee-rails
333 coffee-rails
334 debug
334 debug
335 dynamic_form
335 dynamic_form
336 fuzzy-string-match
336 fuzzy-string-match
337 haml
337 haml
338 haml-rails
338 haml-rails
339 in_place_editing
339 in_place_editing
340 jbuilder
340 jbuilder
341 jquery-countdown-rails
341 jquery-countdown-rails
342 jquery-rails
342 jquery-rails
343 jquery-tablesorter
343 jquery-tablesorter
344 jquery-ui-rails
344 jquery-ui-rails
345 listen (>= 3.0.5, < 3.2)
345 listen (>= 3.0.5, < 3.2)
346 mail
346 mail
347 minitest-reporters
347 minitest-reporters
348 momentjs-rails (>= 2.9.0)
348 momentjs-rails (>= 2.9.0)
349 mysql2
349 mysql2
350 puma
350 puma
351 rails (~> 7.0)
351 rails (~> 7.0)
352 rails-controller-testing
352 rails-controller-testing
353 rails_bootstrap_sortable
353 rails_bootstrap_sortable
354 rdiscount
354 rdiscount
355 rouge
355 rouge
356 sassc-rails
356 sassc-rails
357 select2-rails
357 select2-rails
358 selenium-webdriver
358 selenium-webdriver
359 simple_form
359 simple_form
360 spring
360 spring
361 spring-watcher-listen (~> 2.0.0)
361 spring-watcher-listen (~> 2.0.0)
362 sprockets-rails
362 sprockets-rails
363 sqlite3
363 sqlite3
364 uglifier
364 uglifier
365 web-console (>= 3.3.0)
365 web-console (>= 3.3.0)
366 webdrivers
366 webdrivers
367 yaml_db
367 yaml_db
368
368
369 RUBY VERSION
369 RUBY VERSION
370 - ruby 3.0.2p107
370 + ruby 3.1.0p0
371
371
372 BUNDLED WITH
372 BUNDLED WITH
373 2.3.5
373 2.3.5
@@ -1,98 +1,102
1 == Installation
1 == Installation
2
2
3 Installing cafe-grader can be done in the following steps.
3 Installing cafe-grader can be done in the following steps.
4
4
5 1. Set up database. We need MySQL 5 database name, username and password.
5 1. Set up database. We need MySQL 5 database name, username and password.
6 2. Install RVM. cafe-grader runs on Ruby on Rails and the best way to install it is to use RVM.
6 2. Install RVM. cafe-grader runs on Ruby on Rails and the best way to install it is to use RVM.
7 3. Install necessary package for the system
7 3. Install necessary package for the system
8 4. Install cafe-grader from github
8 4. Install cafe-grader from github
9 5. Deploy cafe-grader on apache with Phusion Passenger
9 5. Deploy cafe-grader on apache with Phusion Passenger
10
10
11 Very important!!! All commands should be run from a normal user.
11 Very important!!! All commands should be run from a normal user.
12
12
13 The detail of each step are provided as follows.
13 The detail of each step are provided as follows.
14
14
15 === 1. Install MySQL 5
15 === 1. Install MySQL 5
16
16
17 Install MySQL server for the server.
17 Install MySQL server for the server.
18
18
19 cafe@grader:~$ sudo apt install mysql-server
19 cafe@grader:~$ sudo apt install mysql-server
20
20
21 Next, we will connect to mysql as root and set up the database. You can choose your DATABASENAME, USERNAME and PASSWORD as you wish.
21 Next, we will connect to mysql as root and set up the database. You can choose your DATABASENAME, USERNAME and PASSWORD as you wish.
22
22
23 cafe@grader:~$ sudo mysql -u root
23 cafe@grader:~$ sudo mysql -u root
24
24
25 mysql> create database DATABASENAME;
25 mysql> create database DATABASENAME;
26 Query OK, 1 row affected (0.00 sec)
26 Query OK, 1 row affected (0.00 sec)
27
27
28 mysql> grant all privileges on DATABASENAME.* to USERNAME@localhost identified by 'PASSWORD';
28 mysql> grant all privileges on DATABASENAME.* to USERNAME@localhost identified by 'PASSWORD';
29 Query OK, 0 rows affected, 1 warning (0.00 sec)
29 Query OK, 0 rows affected, 1 warning (0.00 sec)
30
30
31 mysql> flush privileges;
31 mysql> flush privileges;
32 Query OK, 0 rows affected (0.00 sec)
32 Query OK, 0 rows affected (0.00 sec)
33
33
34 === 2. Install RVM
34 === 2. Install RVM
35
35
36 Since Ubuntu has dedicated package for RVM we will use that. Just follow instruction given in https://github.com/rvm/ubuntu_rvm. For your convenience, the step are reproduced here.
36 Since Ubuntu has dedicated package for RVM we will use that. Just follow instruction given in https://github.com/rvm/ubuntu_rvm. For your convenience, the step are reproduced here.
37
37
38 First, we install necessary package for installing RVM.
38 First, we install necessary package for installing RVM.
39
39
40 cafe@grader:~$ sudo apt install software-properties-common
40 cafe@grader:~$ sudo apt install software-properties-common
41
41
42 Second, we add the custom PPA, update the system and install RVM.
42 Second, we add the custom PPA, update the system and install RVM.
43
43
44 cafe@grader:~$ sudo apt-add-repository -y ppa:rael-gc/rvm
44 cafe@grader:~$ sudo apt-add-repository -y ppa:rael-gc/rvm
45 cafe@grader:~$ sudo apt-get update
45 cafe@grader:~$ sudo apt-get update
46 cafe@grader:~$ sudo apt-get install rvm
46 cafe@grader:~$ sudo apt-get install rvm
47
47
48 - This is very important. You have to logout and login again since RVM change a lots of system.
48 + We also need to add our user to the rvm group
49 +
50 + sudo usermod -a -G rvm $USER
49
51
50 - If you are using GUI version of Ubuntu, be sure to have Gnome Terminal (or any other terminal you are using) perform login every time. This can be done by mark the check box "Run command as a login shell" in Gnome terminal or by adding --login to bash.
52 + This is very important.
53 + 1. You have to reboot since RVM change a lots of system.
54 + 2. If you are using GUI version of Ubuntu, be sure to have Gnome Terminal (or any other terminal you are using) perform login every time. This can be done by mark the check box "Run command as a login shell" in Gnome terminal or by adding --login to bash.
51
55
52 === 3. Install necessary package
56 === 3. Install necessary package
53
57
54 cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php-cli apache2 dirmngr gnupg apache2-dev
58 cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php-cli apache2 dirmngr gnupg apache2-dev
55
59
56 === 4. Install cafe-grader
60 === 4. Install cafe-grader
57
61
58 First, ensure that RVM is installed correctly.
62 First, ensure that RVM is installed correctly.
59
63
60 cafe@grader:~$ rvm
64 cafe@grader:~$ rvm
61
65
62 If you get a result similar to this.
66 If you get a result similar to this.
63
67
64 Command 'rvm' not found, but there are 21 similar ones.
68 Command 'rvm' not found, but there are 21 similar ones.
65
69
66 It is very likely that you have not re-login or you are using bash without --login. Please do so and re-read the installation of RVM on Ubuntu https://github.com/rvm/ubuntu_rvm again.
70 It is very likely that you have not re-login or you are using bash without --login. Please do so and re-read the installation of RVM on Ubuntu https://github.com/rvm/ubuntu_rvm again.
67
71
68 Next, we will let the install script do the work of installing cafe-grader. Please prepare the DATABASENAME, USERNAME and PASSWORD as the script will ask for that. Make sure that you run the script from the home directory of the user.
72 Next, we will let the install script do the work of installing cafe-grader. Please prepare the DATABASENAME, USERNAME and PASSWORD as the script will ask for that. Make sure that you run the script from the home directory of the user.
69
73
70 cafe@grader:~$ wget https://github.com/cafe-grader-team/cafe-grader-judge-scripts/raw/master/installer/install.sh
74 cafe@grader:~$ wget https://github.com/cafe-grader-team/cafe-grader-judge-scripts/raw/master/installer/install.sh
71 cafe@grader:~$ . ./install.sh
75 cafe@grader:~$ . ./install.sh
72
76
73 After installation is finished, grader is ready to run in development mode via WEBrick. We will try that by the following command which will start a grader accessible via http://localhost:3000/. You can try logging in to the system and verify that it is actually work.
77 After installation is finished, grader is ready to run in development mode via WEBrick. We will try that by the following command which will start a grader accessible via http://localhost:3000/. You can try logging in to the system and verify that it is actually work.
74
78
75 cafe@grader:~/cafe_grader/web$ rails s
79 cafe@grader:~/cafe_grader/web$ rails s
76
80
77 If Everything is OK, stop the WEBrick by Ctrl-C.
81 If Everything is OK, stop the WEBrick by Ctrl-C.
78
82
79 We are almost done. The last step is to set up apache and Phusion so that cafe-grader is served by apache.
83 We are almost done. The last step is to set up apache and Phusion so that cafe-grader is served by apache.
80
84
81 === 5. Deploy cafe-grader on Phusion passenger via apache
85 === 5. Deploy cafe-grader on Phusion passenger via apache
82
86
83 This will install a Passenger mod for apache. You can start by visiting https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/apache/oss/install_passenger_main.html and fllow through the guide. We have reproduce the step here for Ubuntu 18.04. For other version, please select the appropriate one on the previous link.
87 This will install a Passenger mod for apache. You can start by visiting https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/apache/oss/install_passenger_main.html and fllow through the guide. We have reproduce the step here for Ubuntu 18.04. For other version, please select the appropriate one on the previous link.
84
88
85 The deploy is divided into two parts: Installing Passenger and deploying the app.
89 The deploy is divided into two parts: Installing Passenger and deploying the app.
86
90
87 ==== 5.1. Installing Passenger as a mod for apache via PPA and enable it.
91 ==== 5.1. Installing Passenger as a mod for apache via PPA and enable it.
88
92
89 cafe@grader:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
93 cafe@grader:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
90 cafe@grader:~$ sudo apt-get install -y apt-transport-https ca-certificates
94 cafe@grader:~$ sudo apt-get install -y apt-transport-https ca-certificates
91 cafe@grader:~$ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main > /etc/apt/sources.list.d/passenger.list'
95 cafe@grader:~$ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main > /etc/apt/sources.list.d/passenger.list'
92 cafe@grader:~$ sudo apt-get update
96 cafe@grader:~$ sudo apt-get update
93 cafe@grader:~$ sudo apt-get install -y libapache2-mod-passenger
97 cafe@grader:~$ sudo apt-get install -y libapache2-mod-passenger
94 cafe@grader:~$ sudo a2enmod passenger
98 cafe@grader:~$ sudo a2enmod passenger
95
99
96
100
97 cafe@grader:~$ sudo apache2ctl restart
101 cafe@grader:~$ sudo apache2ctl restart
98
102
You need to be logged in to leave comments. Login now