| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  | #! /bin/bash
 | 
					
						
							| 
									
										
										
										
											2022-01-08 19:15:56 +01:00
										 |  |  | echo "Starting build" | 
					
						
							| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  | # The build script; we build the application step by step as building everything at once takes too much RAM | 
					
						
							|  |  |  | # Should be run from the repository root | 
					
						
							| 
									
										
										
										
											2022-01-08 19:15:56 +01:00
										 |  |  | # This is the main deployment script | 
					
						
							| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  | rm -rf dist/* | 
					
						
							|  |  |  | rm -rf .cache | 
					
						
							|  |  |  | mkdir dist 2> /dev/null | 
					
						
							| 
									
										
										
										
											2021-12-22 02:10:02 +01:00
										 |  |  | mkdir dist/assets 2> /dev/null | 
					
						
							| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-08 22:11:24 +01:00
										 |  |  | # This script ends every line with '&&' to chain everything. A failure will thus stop the build | 
					
						
							| 
									
										
										
										
											2021-12-22 23:50:43 +01:00
										 |  |  | npm run generate:editor-layer-index  | 
					
						
							| 
									
										
										
										
											2022-01-08 22:11:24 +01:00
										 |  |  | npm run generate && | 
					
						
							| 
									
										
										
										
											2022-02-23 16:51:32 +01:00
										 |  |  | npm run generate:layeroverview && # generate:layeroverview has to be run twice: the personal theme won't pick up all the layers otherwise | 
					
						
							| 
									
										
										
										
											2022-01-08 22:11:24 +01:00
										 |  |  | npm run test && | 
					
						
							| 
									
										
										
										
											2022-02-23 16:51:32 +01:00
										 |  |  | npm run generate:layouts  | 
					
						
							| 
									
										
										
										
											2021-12-22 23:50:43 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-11 10:55:17 +01:00
										 |  |  | if [ $? -ne 0 ]; then | 
					
						
							| 
									
										
										
										
											2022-01-18 18:12:24 +01:00
										 |  |  |     echo "ERROR - stopping the build" | 
					
						
							| 
									
										
										
										
											2022-01-08 22:11:24 +01:00
										 |  |  |     exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2022-01-08 19:15:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  | # Copy the layer files, as these might contain assets (e.g. svgs) | 
					
						
							|  |  |  | cp -r assets/layers/ dist/assets/layers/ | 
					
						
							|  |  |  | cp -r assets/themes/ dist/assets/themes/ | 
					
						
							|  |  |  | cp -r assets/svg/ dist/assets/svg/ | 
					
						
							| 
									
										
										
										
											2022-01-18 18:12:24 +01:00
										 |  |  | cp assets/*.png dist/assets/ | 
					
						
							|  |  |  | cp assets/*.svg dist/assets/ | 
					
						
							| 
									
										
										
										
											2022-02-14 22:48:07 +01:00
										 |  |  | cp assets/generated/*.png dist/assets/generated/ | 
					
						
							|  |  |  | cp assets/generated/*.svg dist/assets/generated/ | 
					
						
							| 
									
										
										
										
											2022-01-14 02:24:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-14 02:34:43 +01:00
										 |  |  | SRC_MAPS="--no-source-maps" | 
					
						
							|  |  |  | BRANCH=`git rev-parse --abbrev-ref HEAD` | 
					
						
							| 
									
										
										
										
											2022-01-14 02:24:04 +01:00
										 |  |  | echo "The branch name is $BRANCH" | 
					
						
							| 
									
										
										
										
											2022-01-14 02:34:43 +01:00
										 |  |  | if [ $BRANCH = "develop" ] | 
					
						
							| 
									
										
										
										
											2022-01-14 02:24:04 +01:00
										 |  |  | then | 
					
						
							|  |  |  |     SRC_MAPS="" | 
					
						
							|  |  |  |     echo "Source maps are enabled" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-22 23:50:43 +01:00
										 |  |  | echo -e "\n\n   Building non-theme pages" | 
					
						
							|  |  |  | echo -e "  ==========================\n\n" | 
					
						
							| 
									
										
										
										
											2022-02-06 18:22:01 +01:00
										 |  |  | parcel build --public-url "./" $SRC_MAPS "index.html" "404.html" "professional.html" "automaton.html" "import_helper.html" "import_viewer.html" "land.html" "customGenerator.html" "theme.html" vendor | 
					
						
							| 
									
										
										
										
											2022-02-06 12:31:58 +01:00
										 |  |  | if [ $? -ne 0 ]; then | 
					
						
							|  |  |  |     echo "ERROR - stopping the build" | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2021-12-22 23:50:43 +01:00
										 |  |  | echo -e "\n\n   Building theme pages" | 
					
						
							|  |  |  | echo -e "  ======================\n\n" | 
					
						
							| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | for file in $(ls index_*.ts) | 
					
						
							|  |  |  | do | 
					
						
							|  |  |  |     theme=${file:6:-3} | 
					
						
							| 
									
										
										
										
											2021-12-22 23:50:43 +01:00
										 |  |  |     echo -e "\n\n  $theme" | 
					
						
							|  |  |  |     echo -e " ------------ \n\n" | 
					
						
							| 
									
										
										
										
											2021-12-22 01:53:58 +01:00
										 |  |  |     # Builds the necessary files for just one theme, e.g. 'bookcases.html' + 'index_bookcases.ts' + supporting file | 
					
						
							| 
									
										
										
										
											2022-02-06 12:31:58 +01:00
										 |  |  |     parcel build --public-url './' $SRC_MAPS "$theme.html" | 
					
						
							|  |  |  |     if [ $? -ne 0 ]; then | 
					
						
							|  |  |  |         echo "ERROR - stopping the build" | 
					
						
							|  |  |  |         exit 1 | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2021-12-23 14:37:17 +01:00
										 |  |  | done |