public function transform(ProjectDescriptor $project, Transformation $transformation)
    {
        $artifact = $this->getDestinationPath($transformation);

        $this->checkForSpacesInPath($artifact);

        $this->xml = new \DOMDocument('1.0', 'utf-8');
        $this->xml->formatOutput = true;
        $document_element = new \DOMElement('project');
        $this->xml->appendChild($document_element);

        $document_element->setAttribute('title', $project->getName());
        $document_element->setAttribute('version', Application::VERSION());

        $this->buildPartials($document_element, $project);

        $transformer = $transformation->getTransformer();

        foreach ($project->getFiles() as $file) {
            $this->buildFile($document_element, $file, $transformer);
        }

        $this->finalize($project);
        file_put_contents($artifact, $this->xml->saveXML());
    }
public function transform(ProjectDescriptor $project, Transformation $transformation)
    {
        $artifact = $this->getDestinationPath($transformation);

        $this->checkForSpacesInPath($artifact);

        $this->xml = new \DOMDocument('1.0', 'utf-8');
        $this->xml->formatOutput = true;
        $document_element = new \DOMElement('project');
        $this->xml->appendChild($document_element);

        $document_element->setAttribute('title', $project->getName());
        $document_element->setAttribute('version', Application::VERSION());

        $this->buildPartials($document_element, $project);

        $transformer = $transformation->getTransformer();

        foreach ($project->getFiles() as $file) {
            $this->buildFile($document_element, $file, $transformer);
        }

        $this->finalize($project);
        file_put_contents($artifact, $this->xml->saveXML());
    }
public function transform ( ProjectDescriptor $ project , Transformation $ transformation ) { $ artifact = $ this -> getDestinationPath ( $ transformation ) ; $ this -> checkForSpacesInPath ( $ artifact ) ; $ this -> xml = new \ DOMDocument ( '1.0' , 'utf-8' ) ; $ this -> xml -> formatOutput = true ; $ document_element = new \ DOMElement ( 'project' ) ; $ this -> xml -> appendChild ( $ document_element ) ; $ document_element -> setAttribute ( 'title' , $ project -> getName ( ) ) ; $ document_element -> setAttribute ( 'version' , Application :: VERSION ( ) ) ; $ this -> buildPartials ( $ document_element , $ project ) ; $ transformer = $ transformation -> getTransformer ( ) ; foreach ( $ project -> getFiles ( ) as $ file ) { $ this -> buildFile ( $ document_element , $ file , $ transformer ) ; } $ this -> finalize ( $ project ) ; file_put_contents ( $ artifact , $ this -> xml -> saveXML ( ) ) ; }
This method generates the AST output

@param ProjectDescriptor $project        Document containing the structure.
@param Transformation    $transformation Transformation to execute.
This method generates the AST output