diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/build.xml | 283 | ||||
-rw-r--r-- | build/build_helper.php | 6 | ||||
-rw-r--r-- | build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php | 5 | ||||
-rw-r--r-- | build/generate_package_json.php | 127 | ||||
-rwxr-xr-x | build/package.php | 39 |
5 files changed, 373 insertions, 87 deletions
diff --git a/build/build.xml b/build/build.xml index 20ecfefc61..a95d8bedf5 100644 --- a/build/build.xml +++ b/build/build.xml @@ -2,9 +2,9 @@ <project name="phpBB" description="The phpBB forum software" default="all" basedir="../"> <!-- a few settings for the build --> - <property name="newversion" value="3.1.11" /> - <property name="prevversion" value="3.1.10" /> - <property name="olderversions" value="3.0.14, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.7-pl1, 3.1.8, 3.1.9, 3.1.11-RC1" /> + <property name="newversion" value="3.2.9" /> + <property name="prevversion" value="3.2.8" /> + <property name="olderversions" value="3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0-a1, 3.2.0-a2, 3.2.0-b1, 3.2.0-b2, 3.2.0-RC1, 3.2.0-RC2, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.9-RC1" /> <!-- no configuration should be needed beyond this point --> <property name="oldversions" value="${olderversions}, ${prevversion}" /> @@ -142,6 +142,7 @@ <phingcall target="export"> <property name="revision" value="release-${version}" /> + <property name="version" value="${version}" /> <property name="dir" value="build/old_versions/release-${version}" /> <property name="skip-composer" value="true" /> </phingcall> @@ -183,9 +184,6 @@ <exec dir="build" escape="false" command="LC_ALL=C diff -crNEBZbd old_versions/release-${prevversion}/styles/prosilver new_version/phpBB3/styles/prosilver > save/phpbb-${prevversion}_to_${newversion}_prosilver.patch" /> - <exec dir="build" escape="false" - command="LC_ALL=C diff -crNEBZbd old_versions/release-${prevversion}/styles/subsilver2 new_version/phpBB3/styles/subsilver2 > - save/phpbb-${prevversion}_to_${newversion}_subsilver2.patch" /> <exec dir="build" escape="false" command="git shortlog --summary --numbered release-${prevversion}...HEAD > @@ -290,12 +288,62 @@ </else> </if> + <!-- Checkout latest viglink to ext folder --> + <available file="${dir}/ext" type="dir" property="add-viglink-ext" /> + <exec dir="${dir}" + command='php -r "echo version_compare('${version}', '3.2.0-RC2', '>=') ? 'true' : 'false';"' + checkreturn="true" + outputProperty='viglink-available' /> + <if> + <and> + <equals arg1="${add-viglink-ext}" arg2="1" trim="true" /> + <or> + <equals arg1="${revision}" arg2="HEAD" trim="true" /> + <equals arg1="${viglink-available}" arg2="1" trim="true" /> + </or> + </and> + <then> + <exec dir="${dir}/ext" command="mkdir phpbb" passthru="true" /> + + <exec dir="${dir}/ext/phpbb" command="git clone https://github.com/phpbb-extensions/viglink.git viglink" passthru="true" checkreturn="true" /> + <if> + <equals arg1="${revision}" arg2="HEAD" trim="true" /> + <then> + <exec dir="${dir}/ext/phpbb/viglink" + command="git rev-parse release-phpbb-${version}" + returnProperty='viglink_head_tag_exists' /> + <if> + <equals arg1="${viglink_head_tag_exists}" arg2="0" trim="true" /> + <then> + <exec dir="${dir}/ext/phpbb/viglink" command="git checkout release-phpbb-${version}" passthru="true" /> + </then> + <else> + <exec dir="${dir}/ext/phpbb/viglink" command="git checkout master" passthru="true" /> + </else> + </if> + </then> + <else> + <exec dir="${dir}/ext/phpbb/viglink" command="git checkout release-phpbb-${version}" passthru="true" /> + </else> + </if> + <delete dir="${dir}/ext/phpbb/viglink/.git" /> + <delete dir="${dir}/ext/phpbb/viglink/tests" /> + <delete dir="${dir}/ext/phpbb/viglink/travis" /> + <delete file="${dir}/ext/phpbb/viglink/.gitattributes" /> + <delete file="${dir}/ext/phpbb/viglink/.travis.yml" /> + <delete file="${dir}/ext/phpbb/viglink/phpunit.xml.dist" /> + <delete file="${dir}/ext/phpbb/viglink/README.md" /> + </then> + </if> + <!-- Create schema.json --> <exec dir="${dir}" command="php develop/create_schema_files.php" /> <delete file="${dir}/config.php" /> <delete dir="${dir}/develop" /> <delete dir="${dir}/install/data" /> + <delete dir="${dir}/config/development" /> + <delete dir="${dir}/config/test" /> <echo msg="Setting permissions for checkout of ${revision} in ${dir}" /> <!-- set permissions of all files to 644, directories to 755 --> @@ -310,6 +358,50 @@ <target name="clean-vendor-dir"> <!-- Delete unrelated files from vendor/, see PHPBB3-12390 --> + <delete dir="${dir}/vendor/bantu/ini-get-wrapper/tests" /> + <delete file="${dir}/vendor/bantu/ini-get-wrapper/.gitignore" /> + <delete file="${dir}/vendor/bantu/ini-get-wrapper/.scrutinizer.yml" /> + <delete file="${dir}/vendor/bantu/ini-get-wrapper/.travis.yml" /> + <delete file="${dir}/vendor/bantu/ini-get-wrapper/phpunit.xml.dist" /> + <delete file="${dir}/vendor/bantu/ini-get-wrapper/README.md" /> + + <delete dir="${dir}/vendor/google/recaptcha/examples" /> + <delete dir="${dir}/vendor/google/recaptcha/tests" /> + <delete file="${dir}/vendor/google/recaptcha/.gitignore" /> + <delete file="${dir}/vendor/google/recaptcha/.travis.yml" /> + <delete file="${dir}/vendor/google/recaptcha/CONTRIBUTING.md" /> + <delete file="${dir}/vendor/google/recaptcha/phpunit.xml.dist" /> + <delete file="${dir}/vendor/google/recaptcha/README.md" /> + + <delete dir="${dir}/vendor/guzzlehttp/guzzle/build" /> + <delete dir="${dir}/vendor/guzzlehttp/guzzle/docs" /> + <delete dir="${dir}/vendor/guzzlehttp/guzzle/tests" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/CHANGELOG.md" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/.editorconfig" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/.gitignore" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/Makefile" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/phpunit.xml.dist" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/README.md" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/.travis.yml" /> + <delete file="${dir}/vendor/guzzlehttp/guzzle/UPGRADING.md" /> + + <delete dir="${dir}/vendor/guzzlehttp/ringphp/docs" /> + <delete dir="${dir}/vendor/guzzlehttp/ringphp/tests" /> + <delete file="${dir}/vendor/guzzlehttp/ringphp/CHANGELOG.md" /> + <delete file="${dir}/vendor/guzzlehttp/ringphp/.gitignore" /> + <delete file="${dir}/vendor/guzzlehttp/ringphp/Makefile" /> + <delete file="${dir}/vendor/guzzlehttp/ringphp/phpunit.xml.dist" /> + <delete file="${dir}/vendor/guzzlehttp/ringphp/README.rst" /> + <delete file="${dir}/vendor/guzzlehttp/ringphp/.travis.yml" /> + + <delete dir="${dir}/vendor/guzzlehttp/streams/tests" /> + <delete file="${dir}/vendor/guzzlehttp/streams/CHANGELOG.rst" /> + <delete file="${dir}/vendor/guzzlehttp/streams/.gitignore" /> + <delete file="${dir}/vendor/guzzlehttp/streams/Makefile" /> + <delete file="${dir}/vendor/guzzlehttp/streams/phpunit.xml.dist" /> + <delete file="${dir}/vendor/guzzlehttp/streams/README.rst" /> + <delete file="${dir}/vendor/guzzlehttp/streams/.travis.yml" /> + <delete dir="${dir}/vendor/lusitanian/oauth/examples" /> <delete dir="${dir}/vendor/lusitanian/oauth/tests" /> <delete file="${dir}/vendor/lusitanian/oauth/.gitignore" /> @@ -318,69 +410,121 @@ <delete file="${dir}/vendor/lusitanian/oauth/phpunit.xml.dist" /> <delete file="${dir}/vendor/lusitanian/oauth/README.md" /> + <delete dir="${dir}/vendor/paragonie/random_compat/dist" /> + <delete dir="${dir}/vendor/paragonie/random_compat/other" /> + <delete file="${dir}/vendor/paragonie/random_compat/CHANGELOG.md" /> + <delete file="${dir}/vendor/paragonie/random_compat/ERRATA.md" /> + <delete file="${dir}/vendor/paragonie/random_compat/README.md" /> + <delete file="${dir}/vendor/paragonie/random_compat/SECURITY.md" /> + + <delete file="${dir}/vendor/patchwork/utf8/.travis.yml" /> + <delete file="${dir}/vendor/patchwork/utf8/CHANGELOG.md" /> + <delete file="${dir}/vendor/patchwork/utf8/phpunit.xml.dist" /> + <delete file="${dir}/vendor/patchwork/utf8/README.md" /> + <delete dir="${dir}/vendor/psr/log/Psr/Log/Test" /> <delete file="${dir}/vendor/psr/log/.gitignore" /> <delete file="${dir}/vendor/psr/log/README.md" /> - <delete dir="${dir}/vendor/symfony/config/Symfony/Component/Config/Tests" /> - <delete file="${dir}/vendor/symfony/config/Symfony/Component/Config/.gitignore" /> - <delete file="${dir}/vendor/symfony/config/Symfony/Component/Config/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/config/Symfony/Component/Config/README.md" /> - <delete file="${dir}/vendor/symfony/config/Symfony/Component/Config/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/console/Symfony/Component/Console/Tests" /> - <delete file="${dir}/vendor/symfony/console/Symfony/Component/Console/.gitignore" /> - <delete file="${dir}/vendor/symfony/console/Symfony/Component/Console/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/console/Symfony/Component/Console/README.md" /> - <delete file="${dir}/vendor/symfony/console/Symfony/Component/Console/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/debug/Symfony/Component/Debug/Tests" /> - <delete file="${dir}/vendor/symfony/debug/Symfony/Component/Debug/.gitignore" /> - <delete file="${dir}/vendor/symfony/debug/Symfony/Component/Debug/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/debug/Symfony/Component/Debug/README.md" /> - <delete file="${dir}/vendor/symfony/debug/Symfony/Component/Debug/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests" /> - <delete file="${dir}/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore" /> - <delete file="${dir}/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/README.md" /> - <delete file="${dir}/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests" /> - <delete file="${dir}/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore" /> - <delete file="${dir}/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md" /> - <delete file="${dir}/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/filesystem/Symfony/Component/Filesystem/Tests" /> - <delete file="${dir}/vendor/symfony/filesystem/Symfony/Component/Filesystem/.gitignore" /> - <delete file="${dir}/vendor/symfony/filesystem/Symfony/Component/Filesystem/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/filesystem/Symfony/Component/Filesystem/README.md" /> - <delete file="${dir}/vendor/symfony/filesystem/Symfony/Component/Filesystem/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests" /> - <delete file="${dir}/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore" /> - <delete file="${dir}/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/README.md" /> - <delete file="${dir}/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests" /> - <delete file="${dir}/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore" /> - <delete file="${dir}/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/README.md" /> - <delete file="${dir}/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/routing/Symfony/Component/Routing/Tests" /> - <delete file="${dir}/vendor/symfony/routing/Symfony/Component/Routing/.gitignore" /> - <delete file="${dir}/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/routing/Symfony/Component/Routing/README.md" /> - <delete file="${dir}/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist" /> - - <delete dir="${dir}/vendor/symfony/yaml/Symfony/Component/Yaml/Tests" /> - <delete file="${dir}/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore" /> - <delete file="${dir}/vendor/symfony/yaml/Symfony/Component/Yaml/CHANGELOG.md" /> - <delete file="${dir}/vendor/symfony/yaml/Symfony/Component/Yaml/README.md" /> - <delete file="${dir}/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist" /> + <delete dir="${dir}/vendor/react/promise/tests" /> + <delete file="${dir}/vendor/react/promise/CHANGELOG.md" /> + <delete file="${dir}/vendor/react/promise/.gitignore" /> + <delete file="${dir}/vendor/react/promise/phpunit.xml.dist" /> + <delete file="${dir}/vendor/react/promise/README.md" /> + <delete file="${dir}/vendor/react/promise/.travis.yml" /> + + <delete dir="${dir}/vendor/s9e/text-formatter/.git" /> + + <delete dir="${dir}/vendor/symfony/config/.git" /> + <delete dir="${dir}/vendor/symfony/config/Tests" /> + <delete file="${dir}/vendor/symfony/config/.gitignore" /> + <delete file="${dir}/vendor/symfony/config/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/config/README.md" /> + <delete file="${dir}/vendor/symfony/config/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/console/.git" /> + <delete dir="${dir}/vendor/symfony/console/Tests" /> + <delete file="${dir}/vendor/symfony/console/.gitignore" /> + <delete file="${dir}/vendor/symfony/console/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/console/README.md" /> + <delete file="${dir}/vendor/symfony/console/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/debug/.git" /> + <delete dir="${dir}/vendor/symfony/debug/Tests" /> + <delete file="${dir}/vendor/symfony/debug/.gitignore" /> + <delete file="${dir}/vendor/symfony/debug/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/debug/README.md" /> + <delete file="${dir}/vendor/symfony/debug/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/dependency-injection/.git" /> + <delete dir="${dir}/vendor/symfony/dependency-injection/Tests" /> + <delete file="${dir}/vendor/symfony/dependency-injection/.gitignore" /> + <delete file="${dir}/vendor/symfony/dependency-injection/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/dependency-injection/README.md" /> + <delete file="${dir}/vendor/symfony/dependency-injection/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/event-dispatcher/.git" /> + <delete dir="${dir}/vendor/symfony/event-dispatcher/Tests" /> + <delete file="${dir}/vendor/symfony/event-dispatcher/.gitignore" /> + <delete file="${dir}/vendor/symfony/event-dispatcher/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/event-dispatcher/README.md" /> + <delete file="${dir}/vendor/symfony/event-dispatcher/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/filesystem/.git" /> + <delete dir="${dir}/vendor/symfony/filesystem/Tests" /> + <delete file="${dir}/vendor/symfony/filesystem/.gitignore" /> + <delete file="${dir}/vendor/symfony/filesystem/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/filesystem/README.md" /> + <delete file="${dir}/vendor/symfony/filesystem/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/finder/.git" /> + <delete dir="${dir}/vendor/symfony/finder/Tests" /> + <delete file="${dir}/vendor/symfony/finder/.gitignore" /> + <delete file="${dir}/vendor/symfony/finder/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/finder/README.md" /> + <delete file="${dir}/vendor/symfony/finder/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/http-foundation/.git" /> + <delete dir="${dir}/vendor/symfony/http-foundation/Tests" /> + <delete file="${dir}/vendor/symfony/http-foundation/.gitignore" /> + <delete file="${dir}/vendor/symfony/http-foundation/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/http-foundation/README.md" /> + <delete file="${dir}/vendor/symfony/http-foundation/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/http-kernel/.git" /> + <delete dir="${dir}/vendor/symfony/http-kernel/Tests" /> + <delete file="${dir}/vendor/symfony/http-kernel/.gitignore" /> + <delete file="${dir}/vendor/symfony/http-kernel/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/http-kernel/README.md" /> + <delete file="${dir}/vendor/symfony/http-kernel/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/proxy-manager-bridge/.git" /> + <delete dir="${dir}/vendor/symfony/proxy-manager-bridge/Tests" /> + <delete file="${dir}/vendor/symfony/proxy-manager-bridge/.gitignore" /> + <delete file="${dir}/vendor/symfony/proxy-manager-bridge/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/proxy-manager-bridge/README.md" /> + <delete file="${dir}/vendor/symfony/proxy-manager-bridge/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/routing/.git" /> + <delete dir="${dir}/vendor/symfony/routing/Tests" /> + <delete file="${dir}/vendor/symfony/routing/.gitignore" /> + <delete file="${dir}/vendor/symfony/routing/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/routing/README.md" /> + <delete file="${dir}/vendor/symfony/routing/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/twig-bridge/.git" /> + <delete dir="${dir}/vendor/symfony/twig-bridge/Tests" /> + <delete file="${dir}/vendor/symfony/twig-bridge/.gitignore" /> + <delete file="${dir}/vendor/symfony/twig-bridge/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/twig-bridge/README.md" /> + <delete file="${dir}/vendor/symfony/twig-bridge/phpunit.xml.dist" /> + + <delete dir="${dir}/vendor/symfony/yaml/.git" /> + <delete dir="${dir}/vendor/symfony/yaml/Tests" /> + <delete file="${dir}/vendor/symfony/yaml/.gitignore" /> + <delete file="${dir}/vendor/symfony/yaml/CHANGELOG.md" /> + <delete file="${dir}/vendor/symfony/yaml/README.md" /> + <delete file="${dir}/vendor/symfony/yaml/phpunit.xml.dist" /> <delete dir="${dir}/vendor/twig/twig/doc" /> <delete dir="${dir}/vendor/twig/twig/ext" /> @@ -391,6 +535,15 @@ <delete file="${dir}/vendor/twig/twig/CHANGELOG" /> <delete file="${dir}/vendor/twig/twig/phpunit.xml.dist" /> <delete file="${dir}/vendor/twig/twig/README.rst" /> + + <delete file="${dir}/vendor/zendframework/zend-code/CONTRIBUTING.md" /> + <delete file="${dir}/vendor/zendframework/zend-code/README.md" /> + + <delete file="${dir}/vendor/zendframework/zend-eventmanager/CONTRIBUTING.md" /> + <delete file="${dir}/vendor/zendframework/zend-eventmanager/README.md" /> + + <delete file="${dir}/vendor/zendframework/zend-stdlib/CONTRIBUTING.md" /> + <delete file="${dir}/vendor/zendframework/zend-stdlib/README.md" /> </target> <target name="clean-diff-dir"> diff --git a/build/build_helper.php b/build/build_helper.php index 3ff1b89eab..c33e2419c6 100644 --- a/build/build_helper.php +++ b/build/build_helper.php @@ -33,14 +33,14 @@ class build_package var $status_begun = false; var $num_dots = 0; - function build_package($versions, $verbose = false) + function __construct($versions, $verbose = false) { $this->versions = $versions; $this->verbose = $verbose; // Get last two entries - $_latest = $this->versions[sizeof($this->versions) - 1]; - $_before = $this->versions[sizeof($this->versions) - 2]; + $_latest = $this->versions[count($this->versions) - 1]; + $_before = $this->versions[count($this->versions) - 2]; $this->locations = array( 'new_version' => dirname(dirname(__FILE__)) . '/phpBB/', diff --git a/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php b/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php index 3125e4f05f..b3cdbf7496 100644 --- a/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php +++ b/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php @@ -87,6 +87,11 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff $old_simple_statement = $simple_statement; $simple_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($simple_statement + 1)); + + if ($simple_class_name_start === false) { + continue; + } + $simple_class_name_end = $phpcsFile->findNext($find, ($simple_statement + 1), null, true); $simple_class_name = trim($phpcsFile->getTokensAsString($simple_class_name_start, ($simple_class_name_end - $simple_class_name_start))); diff --git a/build/generate_package_json.php b/build/generate_package_json.php new file mode 100644 index 0000000000..152f38958a --- /dev/null +++ b/build/generate_package_json.php @@ -0,0 +1,127 @@ +#!/usr/bin/env php +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +if (version_compare(PHP_VERSION, '7.0-dev', '<')) +{ + die('generate_package_json.php requires at least PHP 7.0.'); +} + +define('IN_PHPBB', true); +include_once('../phpBB/includes/functions.php'); + +$json_data = new \stdClass(); +$json_data->metadata = new stdClass(); + +$json_data->metadata->current_version_date = ''; +$json_data->metadata->current_version = ''; +$json_data->metadata->download_path = ''; +$json_data->metadata->show_update_package = true; +$json_data->metadata->historic = false; + +$json_data->package = []; + +// Open build.xml +$build_xml = simplexml_load_file('build.xml'); +$current_version = (string) $build_xml->xpath('/project/property[@name=\'newversion\']/@value')[0]->value; +$previous_version = (string) $build_xml->xpath('/project/property[@name=\'prevversion\']/@value')[0]->value; +$older_verions = explode(', ', (string) $build_xml->xpath('/project/property[@name=\'olderversions\']/@value')[0]->value); + +// Clean and sort version info +$older_verions[] = $previous_version; +$older_verions = array_filter($older_verions, function($version) { + preg_match(get_preg_expression('semantic_version'), $version, $matches); + return empty($matches['prerelease']) || strpos($matches['prerelease'], 'pl') !== false; +}); +usort($older_verions, function($version_a, $version_b) +{ + return phpbb_version_compare($version_b, $version_a); +}); + +// Set metadata +$json_data->metadata->current_version = $current_version; +$json_data->metadata->current_version_date = date('Y-m-d'); +$json_data->metadata->download_path = 'https://download.phpbb.com/pub/release/' . preg_replace('#([0-9]+\.[0-9]+)(\..+)#', '$1', $current_version) . '/' . $current_version . '/'; + +// Add package, patch files, and changed files +phpbb_add_package_file( + $json_data->package, + 'phpBB ' . $current_version, + 'phpBB-' . $current_version, + 'full', + '' +); +phpbb_add_package_file( + $json_data->package, + 'phpBB ' . $current_version . ' Patch Files', + 'phpBB-' . $current_version . '-patch', + 'update', + 'patch' +); +phpbb_add_package_file( + $json_data->package, + 'phpBB ' . $current_version . ' Changed Files', + 'phpBB-' . $current_version . '-files', + 'update', + 'files' +); + +// Loop through packages and assign to packages array +foreach ($older_verions as $version) +{ + phpbb_add_package_file( + $json_data->package, + 'phpBB ' . $version . ' to ' . $current_version . ' Update Package', + 'phpBB-' . $version . '_to_' . $current_version, + 'update', + 'update', + $version + ); +} + +echo(json_encode($json_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n"); + +function phpbb_add_package_file(array &$package_list, $name, $file_name, $type, $subtype, $from = '') +{ + if (!file_exists(__DIR__ . '/new_version/release_files/' . $file_name . '.zip')) + { + trigger_error('File does not exist: ' . __DIR__ . '/new_version/release_files/' . $file_name . '.zip'); + return; + } + + $package_file = new stdClass(); + $package_file->name = $name; + $package_file->filename = $file_name; + $package_file->type = $type; + if (!empty($subtype)) + { + $package_file->subtype = $subtype; + } + if (!empty($from)) + { + $package_file->from = $from; + } + $package_file->files = []; + + foreach (['zip', 'tar.bz2'] as $extension) + { + $file_path = 'new_version/release_files/' . $file_name . '.' . $extension; + $filedata = new stdClass(); + $filedata->filesize = filesize($file_path); + $filedata->checksum = trim(preg_replace('/(^\w+)(.+)/', '$1', file_get_contents($file_path . '.sha256'))); + $filedata->filetype = $extension; + $package_file->files[] = $filedata; + } + + $package_list[] = $package_file; +} diff --git a/build/package.php b/build/package.php index d168957ca5..18798d0602 100755 --- a/build/package.php +++ b/build/package.php @@ -33,7 +33,7 @@ echo "Now all three package types (patch, files, release) are built as well as t // Go trough all versions making a diff if we even have old versions // For phpBB 3.0.x we might choose a different update method, rendering the things below useless... -if (sizeof($package->old_packages)) +if (count($package->old_packages)) { chdir($package->locations['old_versions']); @@ -76,7 +76,7 @@ if (sizeof($package->old_packages)) // Create Directories along the way? $file = explode('/', $file); // Remove filename portion - $file[sizeof($file)-1] = ''; + $file[count($file)-1] = ''; chdir($dest_filename_dir); foreach ($file as $entry) @@ -169,7 +169,7 @@ if (sizeof($package->old_packages)) // Create Directories along the way? $file = explode('/', $file); // Remove filename portion - $file[sizeof($file)-1] = ''; + $file[count($file)-1] = ''; chdir($dest_filename_dir . '/install/update/old'); foreach ($file as $entry) @@ -196,9 +196,10 @@ if (sizeof($package->old_packages)) */ $copy_relative_directories = array( 'config/' => array( + 'recursive' => true, 'copied' => false, 'copy' => array( - 'config/*.yml' => 'config', + 'config/*' => 'config', ), ), ); @@ -213,7 +214,7 @@ if (sizeof($package->old_packages)) // Create Directories along the way? $file = explode('/', $file); // Remove filename portion - $file[sizeof($file)-1] = ''; + $file[count($file)-1] = ''; chdir($dest_filename_dir . '/install/update/new'); foreach ($file as $entry) @@ -256,7 +257,15 @@ if (sizeof($package->old_packages)) } $source_dir_files = $package->locations['old_versions'] . $package->get('simple_name') . '/' . $source_dir_files; $destination_dir = $dest_filename_dir . '/install/update/new/' . $destination_dir; - $package->run_command('cp ' . $source_dir_files . ' ' . $destination_dir); + + if (isset($data['recursive']) && $data['recursive']) + { + $package->run_command('cp -Rp ' . $source_dir_files . ' ' . $destination_dir); + } + else + { + $package->run_command('cp ' . $source_dir_files . ' ' . $destination_dir); + } } $copy_relative_directories[$reference]['copied'] = true; } @@ -272,7 +281,7 @@ if (sizeof($package->old_packages)) 'adm/style/admin.css' => 'adm/style', 'adm/style/admin.js' => 'adm/style', 'adm/style/ajax.js' => 'adm/style', - 'adm/style/install_*' => 'adm/style', + 'adm/style/installer_*' => 'adm/style', 'assets/javascript/*' => 'assets/javascript', ); @@ -312,7 +321,7 @@ $update_info = array( \'version\' => array(\'from\' => \'' . str_replace('_to_', '', $package->old_packages[$_package_name]) . '\', \'to\' => \'' . $package->get('new_version_number') . '\'), '; - if (sizeof($file_contents['all'])) + if (count($file_contents['all'])) { $index_contents .= "\t'files' => array(\n\t\t'" . implode("',\n\t\t'", $file_contents['all']) . "',\n\t),\n"; } @@ -321,7 +330,7 @@ $update_info = array( $index_contents .= "\t'files' => array(),\n"; } - if (sizeof($file_contents['binary'])) + if (count($file_contents['binary'])) { $index_contents .= "\t'binary' => array(\n\t\t'" . implode("',\n\t\t'", $file_contents['binary']) . "',\n\t),\n"; } @@ -330,7 +339,7 @@ $update_info = array( $index_contents .= "\t'binary' => array(),\n"; } - if (sizeof($file_contents['deleted'])) + if (count($file_contents['deleted'])) { $index_contents .= "\t'deleted' => array(\n\t\t'" . implode("',\n\t\t'", $file_contents['deleted']) . "',\n\t),\n"; } @@ -371,7 +380,7 @@ $compress_programs = array( 'zip' => 'zip -r' ); -if (sizeof($package->old_packages)) +if (count($package->old_packages)) { // Build Patch Files chdir($package->get('patch_directory')); @@ -470,22 +479,14 @@ chdir($package->get('dest_dir') . '/install'); // $package->run_command('rm -v database_update.php'); $package->run_command('rm -v install_update.php'); -chdir($package->get('dest_dir')); -$package->run_command('mv -v styles/subsilver2 ../subsilver2'); -$package->run_command('cp -p docs/COPYING ../subsilver2/license.txt'); - chdir($package->locations['package_dir']); foreach ($compress_programs as $extension => $compress_command) { $package->begin_status('Packaging phpBB for ' . $extension); $package->run_command('rm -v ./release_files/' . $package->get('release_filename') . ".{$extension}"); - $package->run_command('rm -v ./release_files/subsilver2_' . $package->get('new_version_number') . ".{$extension}"); // Build Package $package->run_command("$compress_command ./release_files/" . $package->get('release_filename') . '.' . $extension . ' ' . $package->get('package_name')); - - // Build subSilver2 Package - $package->run_command("$compress_command ./release_files/subsilver2_" . $package->get('new_version_number') . '.' . $extension . ' subsilver2'); } // Microsoft Web PI packaging |