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;
|
|
}
|
|
}
|