mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	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:
		
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
								
							@@ -155,6 +155,7 @@ help:
 | 
			
		||||
	@echo " - build                            build everything"
 | 
			
		||||
	@echo " - frontend                         build frontend files"
 | 
			
		||||
	@echo " - backend                          build backend files"
 | 
			
		||||
	@echo " - watch                            watch everything and continuously rebuild"
 | 
			
		||||
	@echo " - watch-frontend                   watch frontend files and continuously rebuild"
 | 
			
		||||
	@echo " - watch-backend                    watch backend files and continuously rebuild"
 | 
			
		||||
	@echo " - clean                            delete backend and integration files"
 | 
			
		||||
@@ -316,6 +317,10 @@ lint-frontend: node_modules
 | 
			
		||||
.PHONY: lint-backend
 | 
			
		||||
lint-backend: golangci-lint revive vet
 | 
			
		||||
 | 
			
		||||
.PHONY: watch
 | 
			
		||||
watch:
 | 
			
		||||
	bash tools/watch.sh
 | 
			
		||||
 | 
			
		||||
.PHONY: watch-frontend
 | 
			
		||||
watch-frontend: node-check $(FOMANTIC_DEST) node_modules
 | 
			
		||||
	rm -rf $(WEBPACK_DEST_ENTRIES)
 | 
			
		||||
 
 | 
			
		||||
@@ -94,14 +94,10 @@ See `make help` for all available `make` targets. Also see [`.drone.yml`](https:
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
# in your first terminal
 | 
			
		||||
make watch-backend
 | 
			
		||||
 | 
			
		||||
# in your second terminal
 | 
			
		||||
make watch-frontend
 | 
			
		||||
make watch
 | 
			
		||||
````
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
		Reference in New Issue
	
	Block a user