/** * Process given license returning comment format. * * @param string $rawLicense raw license to process * * @throws \Exception * @throws \Throwable * * @return string parsed license */ private function parseLicense($rawLicense) { $twig = new \Twig_Environment(new \Twig_Loader_Filesystem()); $license = $twig->createTemplate($rawLicense)->render($this->config->getParameters()); $license = trim($license); //create license comment $license = preg_replace("/\n/", "\n * ", $license); //clean empty lines, remove trailing whitespace $license = preg_replace("/ \\* \n/", " *\n", $license); //wrapper $license = "/*\n * {$license}\n */\n"; return $license; }