@ -22,8 +22,13 @@ import (
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					"github.com/pkg/errors" 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				var  httpPrefix  =  regexp . MustCompile ( ` ^https?:// ` ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				var  gitURLPathWithFragmentSuffix  =  regexp . MustCompile ( ` \.git(?:#.+)?$ ` ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				var  ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					httpPrefix                    =  regexp . MustCompile ( ` ^https?:// ` ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					gitURLPathWithFragmentSuffix  =  regexp . MustCompile ( ` \.git(?:#.+)?$ ` ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					validTargetNameChars  =  ` [a-zA-Z0-9_-]+ ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					targetNamePattern     =  regexp . MustCompile ( ` ^ `  +  validTargetNameChars  +  ` $ ` ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				type  File  struct  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					Name  string 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -176,8 +181,9 @@ func ParseFiles(files []File, defaults map[string]string) (_ *Config, err error)
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					if  len ( fs )  >  0  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
						if  err  :=  hclparser . Parse ( hcl . MergeFiles ( fs ) ,  hclparser . Opt { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
							LookupVar :  os . LookupEnv , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
							Vars :       defaults , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
							LookupVar :      os . LookupEnv , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
							Vars :           defaults , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
							ValidateLabel :  validateTargetName , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
						} ,  & c ) ;  err . HasErrors ( )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
							return  nil ,  err 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
						} 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -798,3 +804,10 @@ func parseOutputType(str string) string {
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					} 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					return  "" 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				} 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				func  validateTargetName ( name  string )  error  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					if  ! targetNamePattern . MatchString ( name )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
						return  errors . Errorf ( "only %q are allowed" ,  validTargetNameChars ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					} 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
					return  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				}