Example #1
0
 /**
  * @param	ResourceLayerInterface $layer
  * @return	int
  */
 protected function buildLayer(ResourceLayerInterface $layer, FileReaderInterface $reader, FileWriterInterface $writer, FileStackInterface $pageStack)
 {
     $stack = $layer->getFileStack();
     $vendor = $layer->getVendor();
     $buildDir = $layer->getBuildDir();
     $buildFile = $layer->getBuildFile();
     $jsBuildFile = "{$buildFile}.js";
     $cssBuildFile = "{$buildFile}.css";
     $finder = $reader->getFileFinder();
     if (!$finder->isDir($buildDir)) {
         if (!$writer->mkdir($buildDir, 0755, true)) {
             $path = $finder->getPath($buildDir);
             $err = "could not create dir at -({$path})";
             throw new RunTimeException($err);
         }
     }
     if ($layer->isJs()) {
         $list = $pageStack->diff('js', $layer->getAllJsSourcePaths());
         $result = $this->makeString('js', $list, $reader, $pageStack);
         $writer->putContent($result, $jsBuildFile);
     }
     if ($layer->isCss()) {
         $list = $pageStack->diff('css', $layer->getAllCssSourcePaths());
         $result = $this->makeString('css', $list, $reader, $pageStack);
         $writer->putContent($result, $cssBuildFile);
     }
 }