/** * @param object $base Decoded composer.json * @param object $modConf Decoded haydn.json */ function override($base, $modConf) { $currBranch = getCurrentBranch(); /** * Add/replace packages with alternate versions, unless the version is blank in * which case the package is removed. */ if (isset($modConf->{'override-require'}) && isset($base->{'require'})) { foreach ($modConf->{'override-require'} as $packageName => $version) { if ($version == SAME_BRANCH) { $version = "dev-{$currBranch}"; } if ($version != "") { $base->{'require'}->{$packageName} = $version; } else { unset($base->{'require'}->{$packageName}); } } } if (isset($modConf->{'override-require-dev'}) && isset($base->{'require-dev'})) { foreach ($modConf->{'override-require-dev'} as $packageName => $version) { if ($version != "") { $base->{'require-dev'}->{$packageName} = $version; } else { unset($base->{'require-dev'}->{$packageName}); } } } /** * Replace repositories with the same URL, otherwise add new ones */ if (isset($modConf->{'override-repositories'}) && isset($base->{'repositories'})) { foreach ($modConf->{'override-repositories'} as $url => $newRepo) { $replaced = false; foreach ($base->{'repositories'} as $index => $repo) { if (!isset($repo->url)) { continue; } if ($repo->url == $url) { $base->{'repositories'}[$index] = $newRepo; $replaced = true; break; } } if (!$replaced) { // Add instead $base->{'repositories'}[] = $newRepo; } } } }
if (isset($options['i']) && $options['i'] !== false && is_numeric($options['i'])) { $iteration = $options['i']; } if (isset($options['c']) && $options['c'] !== false && is_numeric($options['c'])) { $nbCommits = $options['c']; } if (isset($options['no-merged-branch'])) { $displayNoMergedBranches = false; } if (isset($options['no-stat'])) { $displayStats = false; } //-------- // Compute //-------- $currentBranch = getCurrentBranch($gitDir); $commits = getCommits($iteration, $gitDir); $lastDaysInfos = getBackwardInfos($commits, 'd/m', 'Y-m-d', 'days', $iteration); $lastHoursInfos = getBackwardInfos($commits, 'H\\h', 'Y-m-d H:', 'hours', $iteration); $lastMinutesInfos = getBackwardInfos($commits, 'H\\hi', 'Y-m-d H:i:', 'minutes', $iteration); $noMergedBranchesInfos = $displayNoMergedBranches ? getNoMergedBranchesInfos($gitDir) : array(); $stats = $displayStats ? getStats($commits) : array(); //-------- // Display //-------- passthru("tput clear"); // Display project infos printf("[0;32mProject[0m: %s\n", $gitDir); printf("[0;32mCurrent branch[0m: %s\n", $currentBranch); printf("[0;32mCurrent date[0m: %s\n", date('d/m/Y H:i:s')); printf("\n");