$argv */ function main(array $argv) : void{ if(count($argv) < 2){ fwrite(STDERR, "Arguments: [release version]\n"); exit(1); } if(isset($argv[2])){ $currentVer = new VersionString($argv[2]); }else{ $currentVer = new VersionString(BASE_VERSION); } $nextVer = new VersionString(sprintf( "%u.%u.%u", $currentVer->getMajor(), $currentVer->getMinor(), $currentVer->getPatch() + 1 )); echo "About to tag version $currentVer. Next version will be $nextVer.\n"; echo "please add appropriate notes to the changelog and press enter..."; fgets(STDIN); system('git add "' . dirname(__DIR__) . '/changelogs"'); system('git diff --cached --quiet "' . dirname(__DIR__) . '/changelogs"', $result); if($result === 0){ echo "error: no changelog changes detected; aborting\n"; exit(1); } $versionInfoPath = dirname(__DIR__) . '/src/pocketmine/VersionInfo.php'; replaceVersion($versionInfoPath, $currentVer->getBaseVersion(), false, $argv[1]); system('git commit -m "Release ' . $currentVer->getBaseVersion() . '" --include "' . $versionInfoPath . '"'); system('git tag ' . $currentVer->getBaseVersion()); replaceVersion($versionInfoPath, $nextVer->getBaseVersion(), true, ""); system('git add "' . $versionInfoPath . '"'); system('git commit -m "' . $nextVer->getBaseVersion() . ' is next" --include "' . $versionInfoPath . '"'); echo "pushing changes in 5 seconds\n"; sleep(5); system('git push origin HEAD ' . $currentVer->getBaseVersion()); } main($argv);