mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-29 19:52:24 -05:00 
			
		
		
		
	
		
			
	
	
		
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash -e
 | ||
|  | # | ||
|  | # This script rebuilds the generated code for the protocol buffers. | ||
|  | # To run this you will need protoc and goprotobuf installed; | ||
|  | # see https://github.com/golang/protobuf for instructions. | ||
|  | 
 | ||
|  | PKG=google.golang.org/appengine | ||
|  | 
 | ||
|  | function die() { | ||
|  | 	echo 1>&2 $* | ||
|  | 	exit 1 | ||
|  | } | ||
|  | 
 | ||
|  | # Sanity check that the right tools are accessible. | ||
|  | for tool in go protoc protoc-gen-go; do | ||
|  | 	q=$(which $tool) || die "didn't find $tool" | ||
|  | 	echo 1>&2 "$tool: $q" | ||
|  | done | ||
|  | 
 | ||
|  | echo -n 1>&2 "finding package dir... " | ||
|  | pkgdir=$(go list -f '{{.Dir}}' $PKG) | ||
|  | echo 1>&2 $pkgdir | ||
|  | base=$(echo $pkgdir | sed "s,/$PKG\$,,") | ||
|  | echo 1>&2 "base: $base" | ||
|  | cd $base | ||
|  | 
 | ||
|  | # Run protoc once per package. | ||
|  | for dir in $(find $PKG/internal -name '*.proto' | xargs dirname | sort | uniq); do | ||
|  | 	echo 1>&2 "* $dir" | ||
|  | 	protoc --go_out=. $dir/*.proto | ||
|  | done | ||
|  | 
 | ||
|  | for f in $(find $PKG/internal -name '*.pb.go'); do | ||
|  |   # Remove proto.RegisterEnum calls. | ||
|  |   # These cause duplicate registration panics when these packages | ||
|  |   # are used on classic App Engine. proto.RegisterEnum only affects | ||
|  |   # parsing the text format; we don't care about that. | ||
|  |   # https://code.google.com/p/googleappengine/issues/detail?id=11670#c17 | ||
|  |   sed -i '/proto.RegisterEnum/d' $f | ||
|  | done |