function main($argv) { $this_script = array_shift($argv); $config_file = array_shift($argv); $config = load_config($config_file); $base_dir = $config['base_dir']; //'/Users/alanstorm/Documents/github/Pulsestorm/var/build'; $archive_files = $config['archive_files']; //'Pulsestorm_Modulelist.tar'; $path_output = $config['path_output']; //'/Users/alanstorm/Desktop/working'; $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; $temp_dir = get_temp_dir(); chdir($temp_dir); shell_exec('cp ' . $base_dir . '/' . $archive_files . ' ' . $temp_dir); if (preg_match('/\\.zip$/', $archive_files)) { shell_exec('unzip -o ' . $temp_dir . '/' . $archive_files); } else { shell_exec('tar -xvf ' . $temp_dir . '/' . $archive_files); } shell_exec('rm ' . $temp_dir . '/' . $archive_files); $all = glob_recursive($temp_dir . '/*'); $dirs = glob_recursive($temp_dir . '/*', GLOB_ONLYDIR); $files = array_diff($all, $dirs); if (isset($config['auto_detect_version']) && $config['auto_detect_version'] == true) { $config['extension_version'] = get_module_version($files); $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; } if (!$config['skip_version_compare']) { check_module_version_vs_package_version($files, $config['extension_version']); } $xml = create_package_xml($files, $temp_dir, $config); file_put_contents($temp_dir . '/package.xml', $xml); echo $temp_dir, "\n"; if (!is_dir($path_output)) { mkdir($path_output, 0777, true); } $archiver = new Mage_Archive_Tar(); $archiver->pack($temp_dir, $path_output . '/' . $archive_files, true); shell_exec('gzip ' . $path_output . '/' . $archive_files); shell_exec('mv ' . $path_output . '/' . $archive_files . '.gz ' . $path_output . '/' . $archive_connect); #echo $xml; #echo "\nDone\n"; echo "Built in {$path_output}\n"; }
function main($argv) { $this_script = array_shift($argv); $config_file = array_shift($argv); $config = load_config($config_file); $base_dir = $config['base_dir']; //'/Users/alanstorm/Documents/github/Pulsestorm/var/build'; $archive_files = $config['archive_files']; //'Pulsestorm_Modulelist.tar'; $path_output = $config['path_output']; //'/Users/alanstorm/Desktop/working'; $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; $temp_dir = get_temp_dir(); if ($base_dir['0'] !== '/') { $base_dir = getcwd() . '/' . $base_dir; } chdir($temp_dir); if (!file_exists($base_dir . '/' . $archive_files)) { error('Can\'t find specified archive, bailing' . "\n[" . $base_dir . '/' . $archive_files . ']'); exit; } shell_exec('cp ' . $base_dir . '/' . $archive_files . ' ' . $temp_dir); if (preg_match('/\\.zip$/', $archive_files)) { shell_exec('unzip -o ' . $temp_dir . '/' . $archive_files); } else { shell_exec('tar -xf ' . $temp_dir . '/' . $archive_files); } shell_exec('rm ' . $temp_dir . '/' . $archive_files); $all = glob_recursive($temp_dir . '/*'); $dirs = glob_recursive($temp_dir . '/*', GLOB_ONLYDIR); $files = array_diff($all, $dirs); if (isset($config['auto_detect_version']) && $config['auto_detect_version'] == true) { $config['extension_version'] = get_module_version($files); $archive_connect = $config['extension_name'] . '-' . $config['extension_version'] . '.tgz'; } if (!$config['skip_version_compare']) { check_module_version_vs_package_version($files, $config['extension_version']); } $xml = create_package_xml($files, $temp_dir, $config); file_put_contents($temp_dir . '/package.xml', $xml); if (!is_dir($path_output)) { mkdir($path_output, 0777, true); } $archiver = new Mage_Archive_Tar(); $archiver->pack($temp_dir, $path_output . '/' . $archive_files, true); shell_exec('gzip ' . $path_output . '/' . $archive_files); shell_exec('mv ' . $path_output . '/' . $archive_files . '.gz ' . $path_output . '/' . $archive_connect); // Creating extension xml for connect using the extension name create_extension_xml($files, $config, $temp_dir, $path_output); }