|
1 | 1 | #!/bin/sh |
2 | 2 |
|
3 | 3 | # Handle closing application on signal interrupt (ctrl + c) |
4 | | -trap 'kill $CONTINUOUS_INSTALL_PID $SERVER_PID; gradle --stop; exit' INT |
| 4 | +trap 'kill $CONTINUOUS_INSTALL_PID $SERVER_PID $BACKEND_SERVER_PID; exit' INT |
5 | 5 |
|
6 | 6 | mkdir logs |
| 7 | +touch ./logs/frontend_installer.log |
| 8 | +touch ./logs/frontend_runner.log |
| 9 | +touch ./logs/backend_installer.log |
| 10 | +touch ./logs/backend_runner.log |
| 11 | + |
7 | 12 | # Reset log file content for new application boot |
8 | | -echo "*** Logs for continuous installer ***" > ./logs/installer.log |
9 | | -echo "*** Logs for 'npm run start' ***" > ./logs/runner.log |
| 13 | +echo "*** Logs for continuous frontend installer ***" > ./logs/frontend_installer.log |
| 14 | +echo "*** Logs for frontend 'npm run start' ***" > ./logs/frontend_runner.log |
| 15 | + |
| 16 | +echo "*** Logs for continuous backend installer ***" > ./logs/backend_installer.log |
| 17 | +echo "*** Logs for backend 'npm run start' ***" > ./logs/backend_runner.log |
10 | 18 |
|
11 | 19 | # Print that the application is starting in watch mode |
12 | 20 | echo "starting application in watch mode..." |
13 | 21 |
|
14 | 22 | # Start the continious build listener process |
15 | | -echo "starting continuous installer..." |
16 | | -npm install |
| 23 | +echo "starting continuous installers..." |
| 24 | + |
| 25 | +cd frontend |
| 26 | +npm install | tee ./logs/frontend_installer.log |
| 27 | +cd .. |
| 28 | +npm install | tee ./logs/backend_installer.log |
17 | 29 |
|
18 | | -( package_modify_time=$(stat -c %Y package.json) |
19 | | -package_lock_modify_time=$(stat -c %Y package-lock.json) |
| 30 | +( package_modify_time=$(stat -c %Y frontend/package.json) |
| 31 | +package_lock_modify_time=$(stat -c %Y frontend/package-lock.json) |
| 32 | +backend_modify_time=$(stat -c %Y package.json) |
| 33 | +backend_lock_modify_time=$(stat -c %Y package-lock.json) |
20 | 34 | while sleep 1 |
21 | 35 | do |
22 | | - new_package_modify_time=$(stat -c %Y package.json) |
23 | | - new_package_lock_modify_time=$(stat -c %Y package-lock.json) |
| 36 | + new_package_modify_time=$(stat -c %Y frontend/package.json) |
| 37 | + new_package_lock_modify_time=$(stat -c %Y frontend/package-lock.json) |
| 38 | + new_backend_modify_time=$(stat -c %Y package.json) |
| 39 | + new_backend_lock_modify_time=$(stat -c %Y package-lock.json) |
24 | 40 |
|
25 | | - if [[ "$package_modify_time" != "$new_package_modify_time" ]] || [[ "$package_lock_modify_time" != "$new_package_lock_modify_time" ]] |
| 41 | + if [[ "$package_modify_time" != "$new_package_modify_time" ]] || [[ "$package_lock_modify_time" != "$new_package_lock_modify_time" ]] || [[ "$backend_lock_modify_time" != "$new_backend_lock_modify_time" ]]|| [[ "$backend_modify_time" != "$new_backend_modify_time" ]] |
26 | 42 | then |
27 | | - echo "running npm install..." |
28 | | - npm install | tee ./logs/installer.log |
| 43 | + echo "running frontent npm install..." |
| 44 | + cd frontend |
| 45 | + npm install | tee ./logs/frontend_installer.log |
| 46 | + cd .. |
| 47 | + elif [[ "$backend_lock_modify_time" != "$new_backend_lock_modify_time" ]]|| [[ "$backend_modify_time" != "$new_backend_modify_time" ]] |
| 48 | + then |
| 49 | + echo "running backend npm install..." |
| 50 | + npm install | tee ./logs/backend_installer.log |
29 | 51 | fi |
30 | 52 |
|
31 | 53 | package_modify_time=$new_package_modify_time |
32 | 54 | package_lock_modify_time=$new_package_lock_modify_time |
| 55 | + backend_modify_time=$new_backend_modify_time |
| 56 | + backend_lock_modify_time=$new_backend_lock_modify_time |
33 | 57 |
|
34 | 58 | done ) & CONTINUOUS_INSTALL_PID=$! |
35 | 59 |
|
36 | 60 | # Start server process once initial build finishes |
37 | | -( npm run start | tee ./logs/runner.log ) & SERVER_PID=$! |
| 61 | +cd frontend |
| 62 | +( npm run start | tee ./logs/frontend_runner.log ) & SERVER_PID=$! |
| 63 | + |
| 64 | +cd .. |
| 65 | +( npm run start | tee ./logs/backend_runner.log ) & BACKEND_SERVER_PID=$! |
38 | 66 |
|
39 | 67 | # Handle application background process exiting |
40 | | -wait $CONTINUOUS_INSTALL_PID $SERVER_PID |
| 68 | +wait $CONTINUOUS_INSTALL_PID $SERVER_PID $BACKEND_SERVER_PID |
41 | 69 | EXIT_CODE=$? |
42 | 70 | echo "application exited with exit code $EXIT_CODE..." |
43 | 71 |
|
44 | | - |
|
0 commit comments