You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			45 lines
		
	
	
		
			932 B
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			45 lines
		
	
	
		
			932 B
		
	
	
	
		
			Bash
		
	
#!/usr/bin/env bash
 | 
						|
. "$GVM_ROOT/scripts/functions"
 | 
						|
 | 
						|
function show_usage() {
 | 
						|
	echo "Usage: gvm linkthis [package-name] [options]"
 | 
						|
	echo "    -h, --help     Display this message."
 | 
						|
	echo
 | 
						|
	echo "If the [package-name] is provided, it will be used in the path based"
 | 
						|
	echo "at \${GOPATH%%:*}/src, e.g.:"
 | 
						|
	echo
 | 
						|
	echo "    gvm linkthis github.com/moovweb/gpkg"
 | 
						|
	echo
 | 
						|
	echo "If omitted, the [package-name] will be the basename of the current"
 | 
						|
	echo "directory, e.g. '$package_name_basename'."
 | 
						|
}
 | 
						|
 | 
						|
function read_command_line() {
 | 
						|
	for i in "$@"; do
 | 
						|
		case $i in
 | 
						|
			-h|--help*)
 | 
						|
				show_usage
 | 
						|
				exit 0
 | 
						|
			;;
 | 
						|
			-*|--*)
 | 
						|
				echo "Invalid option $i"
 | 
						|
				show_usage
 | 
						|
				exit 65 # Bad arguments
 | 
						|
			;;
 | 
						|
			*)
 | 
						|
				package_name="$i"
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
	done
 | 
						|
}
 | 
						|
 | 
						|
package_name="$(basename "$PWD")"
 | 
						|
package_name_basename="$package_name"
 | 
						|
 | 
						|
read_command_line "$@"
 | 
						|
 | 
						|
target="${GOPATH%%:*}/src/$package_name"
 | 
						|
 | 
						|
mkdir -p "$(dirname "$target")"
 | 
						|
ln -sv "$PWD" "$target"
 |