From c5f5520013102ccdbec051701e12e96068423f0b Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 5 May 2014 12:06:37 +0200 Subject: [PATCH] [ticket/12325] Generate the list of the deleted files and folders https://tracker.phpbb.com/browse/PHPBB3-12325 PHPBB3-12325 --- build/build.xml | 1 + build/build_helper.php | 34 ++++++++++++++++++++++++++++++++++ build/package.php | 13 +++++++++++++ 3 files changed, 48 insertions(+) diff --git a/build/build.xml b/build/build.xml index 01fb48a383..79b6096c97 100644 --- a/build/build.xml +++ b/build/build.xml @@ -141,6 +141,7 @@ + diff --git a/build/build_helper.php b/build/build_helper.php index d6169b913b..756176a135 100644 --- a/build/build_helper.php +++ b/build/build_helper.php @@ -312,4 +312,38 @@ class build_package return $result; } + + function collect_deleted_files($deleted_filename, $package_name) + { + $result = array(); + $file_contents = file($deleted_filename); + + foreach ($file_contents as $line) + { + $line = trim($line); + + if (!$line) + { + continue; + } + + $line = str_replace('Only in ' . $package_name, '', $line); + + if (substr(0, 1, $line) == '/') + { + $replace = ''; + } + else + { + $replace = '/'; + } + + $line = str_replace(': ', $replace, $line); + $line = ltrim($line, '/'); + + $result[] = $line; + } + + return $result; + } } diff --git a/build/package.php b/build/package.php index 00930abe65..206e3b6640 100755 --- a/build/package.php +++ b/build/package.php @@ -45,6 +45,10 @@ if (sizeof($package->old_packages)) $package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.patch', $_package_name ); + $diff_file_changes[$_package_name]['deleted'] = $package->collect_deleted_files( + $package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.deleted', + $_package_name + ); } // Now put those files determined within the correct directories @@ -292,6 +296,15 @@ $update_info = array( $index_contents .= "\t'binary' => array(),\n"; } + if (sizeof($file_contents['deleted'])) + { + $index_contents .= "\t'deleted' => array(\n\t\t'" . implode("',\n\t\t'", $file_contents['deleted']) . "',\n\t),\n"; + } + else + { + $index_contents .= "\t'deleted' => array(),\n"; + } + $index_contents .= ");\n"; $fp = fopen($dest_filename_dir . '/install/update/index.php', 'wt');