コード例 #1
0
 /**
  * Get project.
  *
  * @param string|null $projectFilename
  * @param string|null $projectLockFilename
  *
  * @return \ComponentManager\Project\Project
  */
 protected function getProject($projectFilename = null, $projectLockFilename = null)
 {
     $workingDirectory = $this->platform->getWorkingDirectory();
     if ($this->project === null) {
         if ($projectFilename === null) {
             $projectFilename = $this->platform->joinPaths([$workingDirectory, static::PROJECT_FILENAME]);
         } else {
             $projectFilename = $this->platform->expandPath($projectFilename);
         }
         if ($projectLockFilename === null) {
             $projectLockFilename = $this->platform->joinPaths([$workingDirectory, static::PROJECT_LOCK_FILENAME]);
         } else {
             $projectLockFilename = $this->platform->expandPath($projectLockFilename);
         }
         $this->logger->info('Parsing project file', ['filename' => $projectFilename]);
         $this->project = new Project(new ProjectFile($projectFilename), new ProjectLockFile($projectLockFilename), $this->packageRepositoryFactory, $this->packageSourceFactory, $this->packageFormatFactory);
     }
     return $this->project;
 }