43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\tools\compctl;
 | |
| 
 | |
| use nur\msg;
 | |
| 
 | |
| class IdeaProject {
 | |
|   const PROJECT_PREFIX = <<<EOT
 | |
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| <project version="4">
 | |
|   <component name="PhpServers">
 | |
|     <servers>
 | |
|       <server host="localhost" name="localhost" port="7081" use_path_mappings="true">
 | |
|         <path_mappings>
 | |
|           <mapping local-root="\$PROJECT_DIR\$" remote-root="/var/www/app" />
 | |
| EOT;
 | |
|   const PROJECT_SUFFIX = <<<EOT
 | |
|         </path_mappings>
 | |
|       </server>
 | |
|     </servers>
 | |
|   </component>
 | |
| </project>
 | |
| EOT;
 | |
| 
 | |
| 
 | |
|   function sync(ConfigFile $config, string $branch, bool $inplace=false): bool {
 | |
|     if ($inplace) return false;
 | |
|     [$deps, $isUrls, $notFoundUrls,
 | |
|     ] = $config->getDeps($branch);
 | |
|     if ($deps !== null) {
 | |
|       msg::info("A reporter dans .idea/workspace.xml");
 | |
|       echo self::PROJECT_PREFIX."\n";
 | |
|       foreach ($deps as $dep) {
 | |
|         echo <<<EOT
 | |
|           <mapping local-root="\$PROJECT_DIR$/vendor/$dep[libname]" remote-root="/var/www/$dep[projname]" />
 | |
| EOT;
 | |
|         echo "\n";
 | |
|       }
 | |
|       echo self::PROJECT_SUFFIX."\n";
 | |
|     }
 | |
|     return false;
 | |
|   }
 | |
| }
 |