41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/bin/zsh | ||
|  | ##################################################################### | ||
|  | DEPENDENCIES+=() | ||
|  | REQUIRED_ENV+=() | ||
|  | ##################################################################### | ||
|  | 
 | ||
|  | MAIN() { | ||
|  | 	cd "$SCWRYPTS_ROOT__scwrypts/" | ||
|  | 
 | ||
|  | 	DEPENDENCIES+=() | ||
|  | 	for group in ${SCWRYPTS_GROUPS[@]} | ||
|  | 	do | ||
|  | 		[[ $group =~ ^ci$ ]] && continue | ||
|  | 
 | ||
|  | 		GROUP_HOME="$(eval 'echo $SCWRYPTS_ROOT__'$group)" | ||
|  | 		[ $GROUP_HOME ] && [ -d "$GROUP_HOME" ] || continue | ||
|  | 
 | ||
|  | 		STATUS "checking dependencies for $group" | ||
|  | 		DEPENDENCIES+=($( | ||
|  | 			for file in $( | ||
|  | 				{ | ||
|  | 					cd "$GROUP_HOME" | ||
|  | 					rg -l '^DEPENDENCIES\+=\($' | ||
|  | 					rg -l '^DEPENDENCIES\+=\([^)]\+\)' | ||
|  | 				} | grep -v '\.md$' | grep -v 'check-all-dependencies$') | ||
|  | 			do | ||
|  | 				sed -z 's/.*DEPENDENCIES+=(\([^)]*\)).*/\1\n/; s/#.*\n//g; s/\s\+/\n/g' "$GROUP_HOME/$file" | ||
|  | 			done  | ||
|  | 		)) | ||
|  | 	done | ||
|  | 
 | ||
|  | 	DEPENDENCIES=(zsh $(echo $DEPENDENCIES | sed 's/ /\n/g' | sort -u | grep '^[-_a-zA-Z]\+$')) | ||
|  | 
 | ||
|  | 	STATUS "discovered dependencies: ($DEPENDENCIES)" | ||
|  | 	echo $DEPENDENCIES | sed 's/ /\n/g' | ||
|  | 	CHECK_ENVIRONMENT && SUCCESS "all dependencies satisfied" | ||
|  | } | ||
|  | 
 | ||
|  | ##################################################################### | ||
|  | MAIN $@ |