mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #26423 from wojtek-t/speedup_update_codecget
Speedup update_codecgen by precomputing dependencies.
This commit is contained in:
		@@ -56,11 +56,14 @@ function cleanup {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
trap cleanup EXIT
 | 
					trap cleanup EXIT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sort all files in the dependency order.
 | 
					# Precompute dependencies for all directories.
 | 
				
			||||||
 | 
					# Then sort all files in the dependency order.
 | 
				
			||||||
number=${#generated_files[@]}
 | 
					number=${#generated_files[@]}
 | 
				
			||||||
result=""
 | 
					result=""
 | 
				
			||||||
for (( i=0; i<number; i++ )); do
 | 
					for (( i=0; i<number; i++ )); do
 | 
				
			||||||
  visited[${i}]=false
 | 
					  visited[${i}]=false
 | 
				
			||||||
 | 
					  file="${generated_files[${i}]/\.generated\.go/.go}"
 | 
				
			||||||
 | 
					  deps[${i}]=$(go list -f '{{range .Deps}}{{.}}{{"\n"}}{{end}}' ${file} | grep "^${my_prefix}")
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
###echo "DBG: found $number generated files"
 | 
					###echo "DBG: found $number generated files"
 | 
				
			||||||
###for f in $(echo "${generated_files[@]}" | sort); do
 | 
					###for f in $(echo "${generated_files[@]}" | sort); do
 | 
				
			||||||
@@ -70,11 +73,9 @@ done
 | 
				
			|||||||
# NOTE: depends function assumes that the whole repository is under
 | 
					# NOTE: depends function assumes that the whole repository is under
 | 
				
			||||||
# $my_prefix - it will NOT work if that is not true.
 | 
					# $my_prefix - it will NOT work if that is not true.
 | 
				
			||||||
function depends {
 | 
					function depends {
 | 
				
			||||||
  file="${generated_files[$1]/\.generated\.go/.go}"
 | 
					 | 
				
			||||||
  rhs="$(dirname ${generated_files[$2]/#./${my_prefix}})"
 | 
					  rhs="$(dirname ${generated_files[$2]/#./${my_prefix}})"
 | 
				
			||||||
  ###echo "DBG: does ${file} depend on ${rhs}?"
 | 
					  ###echo "DBG: does ${file} depend on ${rhs}?"
 | 
				
			||||||
  deps=$(go list -f '{{range .Deps}}{{.}}{{"\n"}}{{end}}' ${file} | grep "^${my_prefix}")
 | 
					  for dep in ${deps[$1]}; do
 | 
				
			||||||
  for dep in ${deps}; do
 | 
					 | 
				
			||||||
    ###echo "DBG:   checking against $dep"
 | 
					    ###echo "DBG:   checking against $dep"
 | 
				
			||||||
    if [[ "${dep}" == "${rhs}" ]]; then
 | 
					    if [[ "${dep}" == "${rhs}" ]]; then
 | 
				
			||||||
      ###echo "DBG: = yes"
 | 
					      ###echo "DBG: = yes"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user