23 lines
		
	
	
	
		
			702 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
	
		
			702 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								possible dependencies:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    - unix pattern __foo/*
							 | 
						||
| 
								 | 
							
								    - object: __foo//bar, __foo/bar
							 | 
						||
| 
								 | 
							
								    - singleton with object_id: __foo/singleton
							 | 
						||
| 
								 | 
							
								    - singleton without object_id: __foo/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								solving dependencies:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    solve_dep(object, run_list):
							 | 
						||
| 
								 | 
							
								        - list = [me]
							 | 
						||
| 
								 | 
							
								        - if status == IN_DEPENDENCY:
							 | 
						||
| 
								 | 
							
								            fail: circular dependency
							 | 
						||
| 
								 | 
							
								        - status = IN_DEPENDENCY
							 | 
						||
| 
								 | 
							
								        - create_list_of_deps(object)
							 | 
						||
| 
								 | 
							
								            - try pattern expansion
							 | 
						||
| 
								 | 
							
								        - for each dependency:
							 | 
						||
| 
								 | 
							
								            if object does not exist:
							 | 
						||
| 
								 | 
							
								                fail
							 | 
						||
| 
								 | 
							
								            else:
							 | 
						||
| 
								 | 
							
								                list.append(solve_dep(object, run_list)):
							 | 
						||
| 
								 | 
							
								        - status == IN_LIST
							 | 
						||
| 
								 | 
							
								        - return [me, dependencies [, dependencies of dependencies]]
							 |