Add 'make watch' (#12636)
* Add 'make watch' This combines frontend and backend watch into a single command that runs them in parallel on on SIGINT terminates both. Termination is not super-clean but I guess it does not have to. * move to tools/, trap more signals, remove gnu-specific flag * simplify Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		
							parent
							
								
									9837b598fc
								
							
						
					
					
						commit
						e1535c74cc
					
				
					 3 changed files with 15 additions and 6 deletions
				
			
		
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
								
							|  | @ -155,6 +155,7 @@ help: | ||||||
| 	@echo " - build                            build everything" | 	@echo " - build                            build everything" | ||||||
| 	@echo " - frontend                         build frontend files" | 	@echo " - frontend                         build frontend files" | ||||||
| 	@echo " - backend                          build backend files" | 	@echo " - backend                          build backend files" | ||||||
|  | 	@echo " - watch                            watch everything and continuously rebuild" | ||||||
| 	@echo " - watch-frontend                   watch frontend files and continuously rebuild" | 	@echo " - watch-frontend                   watch frontend files and continuously rebuild" | ||||||
| 	@echo " - watch-backend                    watch backend files and continuously rebuild" | 	@echo " - watch-backend                    watch backend files and continuously rebuild" | ||||||
| 	@echo " - clean                            delete backend and integration files" | 	@echo " - clean                            delete backend and integration files" | ||||||
|  | @ -316,6 +317,10 @@ lint-frontend: node_modules | ||||||
| .PHONY: lint-backend | .PHONY: lint-backend | ||||||
| lint-backend: golangci-lint revive vet | lint-backend: golangci-lint revive vet | ||||||
| 
 | 
 | ||||||
|  | .PHONY: watch | ||||||
|  | watch: | ||||||
|  | 	bash tools/watch.sh | ||||||
|  | 
 | ||||||
| .PHONY: watch-frontend | .PHONY: watch-frontend | ||||||
| watch-frontend: node-check $(FOMANTIC_DEST) node_modules | watch-frontend: node-check $(FOMANTIC_DEST) node_modules | ||||||
| 	rm -rf $(WEBPACK_DEST_ENTRIES) | 	rm -rf $(WEBPACK_DEST_ENTRIES) | ||||||
|  |  | ||||||
|  | @ -94,14 +94,10 @@ See `make help` for all available `make` targets. Also see [`.drone.yml`](https: | ||||||
| 
 | 
 | ||||||
| ## Building continuously | ## Building continuously | ||||||
| 
 | 
 | ||||||
| Both the `frontend` and `backend` targets can be ran continuously when source files change: | To run and continously rebuild when source files change: | ||||||
| 
 | 
 | ||||||
| ````bash | ````bash | ||||||
| # in your first terminal | make watch | ||||||
| make watch-backend |  | ||||||
| 
 |  | ||||||
| # in your second terminal |  | ||||||
| make watch-frontend |  | ||||||
| ```` | ```` | ||||||
| 
 | 
 | ||||||
| On macOS, watching all backend source files may hit the default open files limit which can be increased via `ulimit -n 12288` for the current shell or in your shell startup file for all future shells. | On macOS, watching all backend source files may hit the default open files limit which can be increased via `ulimit -n 12288` for the current shell or in your shell startup file for all future shells. | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								tools/watch.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								tools/watch.sh
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | set -euo pipefail | ||||||
|  | 
 | ||||||
|  | make watch-frontend & | ||||||
|  | make watch-backend & | ||||||
|  | 
 | ||||||
|  | trap 'kill $(jobs -p)' EXIT | ||||||
|  | wait | ||||||
		Loading…
	
		Reference in a new issue