Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ChangedFiles.php
Go to the documentation of this file.
1 <?php
8 
10 
17 {
21  const CHANGED_FILES_CONTENT_FILE = '/dev/tests/static/testsuite/Magento/Test/_files/changed_%s_files_content.json';
22 
30  public static function getPhpFiles($changedFilesList, $fileTypes = 0)
31  {
32  $fileUtilities = Files::init();
33  if (isset($_ENV['INCREMENTAL_BUILD'])) {
34  $phpFiles = [];
35  foreach (glob($changedFilesList, GLOB_NOSORT) as $listFile) {
36  $phpFiles = array_merge($phpFiles, file($listFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
37  }
38  array_walk(
39  $phpFiles,
40  function (&$file) {
41  $file = BP . '/' . $file;
42  }
43  );
44  if (!empty($phpFiles)) {
45  $phpFiles = Files::composeDataSets($phpFiles);
46  $phpFiles = array_intersect_key($phpFiles, $fileUtilities->getPhpFiles($fileTypes));
47  }
48  } else {
49  $phpFiles = $fileUtilities->getPhpFiles($fileTypes);
50  }
51 
52  return $phpFiles;
53  }
54 
61  public static function getChangedContent($fileName)
62  {
63  $data = [];
65  $fileName = ltrim(str_replace(BP, '', $fileName), DIRECTORY_SEPARATOR);
66  $changedFilesContentFile = BP . sprintf(self::CHANGED_FILES_CONTENT_FILE, $extension);
67  if (file_exists($changedFilesContentFile)) {
68  $changedContent = file_get_contents($changedFilesContentFile);
69  $data = json_decode($changedContent, true);
70  }
71 
72  return isset($data[$fileName]) ? $data[$fileName] : '';
73  }
74 
81  public static function getFileExtension($fileName)
82  {
83  $fileInfo = pathinfo($fileName);
84  return isset($fileInfo['extension']) ? $fileInfo['extension'] : 'unknown';
85  }
86 }
static getPhpFiles($changedFilesList, $fileTypes=0)
static composeDataSets(array $files)
Definition: Files.php:161
$fileName
Definition: translate.phtml:15
const BP
Definition: autoload.php:14