File tree Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -184,6 +184,19 @@ func (release *PlatformRelease) GetOrCreateBoard(boardID string) *Board {
184184	return  board 
185185}
186186
187+ // RequiresToolRelease returns true if the PlatformRelease requires the 
188+ // toolReleased passed as parameter 
189+ func  (release  * PlatformRelease ) RequiresToolRelease (toolRelease  * ToolRelease ) bool  {
190+ 	for  _ , toolDep  :=  range  release .Dependencies  {
191+ 		if  toolDep .ToolName  ==  toolRelease .Tool .Name  && 
192+ 			toolDep .ToolPackager  ==  toolRelease .Tool .Package .Name  && 
193+ 			toolDep .ToolVersion  ==  toolRelease .Version  {
194+ 			return  true 
195+ 		}
196+ 	}
197+ 	return  false 
198+ }
199+ 
187200// RuntimeProperties returns the runtime properties for this PlatformRelease 
188201func  (release  * PlatformRelease ) RuntimeProperties () properties.Map  {
189202	return  properties.Map {
Original file line number Diff line number Diff line change @@ -46,3 +46,19 @@ func (pm *PackageManager) InstallTool(toolRelease *cores.ToolRelease) error {
4646		toolRelease .Version .String ())
4747	return  toolResource .Install (pm .DownloadDir , pm .TempDir , destDir )
4848}
49+ 
50+ // IsToolRequired returns true if any of the installed platforms requires the toolRelease 
51+ // passed as parameter 
52+ func  (pm  * PackageManager ) IsToolRequired (toolRelease  * cores.ToolRelease ) bool  {
53+ 	// Search in all installed platforms 
54+ 	for  _ , targetPackage  :=  range  pm .packages .Packages  {
55+ 		for  _ , platform  :=  range  targetPackage .Platforms  {
56+ 			if  platformRelease  :=  platform .GetInstalled (); platformRelease  !=  nil  {
57+ 				if  platformRelease .RequiresToolRelease (toolRelease ) {
58+ 					return  true 
59+ 				}
60+ 			}
61+ 		}
62+ 	}
63+ 	return  false 
64+ }
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments