public function build($outputPath) { $packages = []; foreach ($this->packages as $package) { $name = $package['name']; $packages[$name] = []; foreach ($package['releases'] as $release) { $packages[$name][$release['name']] = ['time' => $release['committer']['date'], 'message' => $release['message'], 'dist' => $release['dist'], 'source' => $release['source']]; } } $data = ['packages' => $packages]; FileSystem::ensureDirectory($outputPath); file_put_contents(rtrim($outputPath) . '/resolver-packages.json', json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); }
public function build($outputPath) { FileSystem::ensureDirectory($outputPath); $templateUri = new Uri($this->config['output']['template']); if ($templateUri->isRelative()) { $possibleAbsoluteTemplate = getcwd() . '/' . ltrim($this->config['output']['template'], '/'); if (is_dir($possibleAbsoluteTemplate)) { $this->config['output']['template'] = $possibleAbsoluteTemplate; } else { $this->config['output']['template'] = sprintf('%s/../../resources/templates/%s', __DIR__, $this->config['output']['template']); } } $twig = new Twig_Environment(new Twig_Loader_Filesystem($this->config['output']['template'])); $content = $twig->render('index.html.twig', ['name' => $this->config['name'], 'description' => $this->config['description'], 'url' => rtrim($this->config['homepage'], '/'), 'packages' => $this->packages]); file_put_contents($outputPath . '/index.html', $content); }