]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #2279 from wallabag/cleanup-travis
authorNicolas LÅ“uillet <nicolas@loeuillet.org>
Sun, 11 Sep 2016 16:48:36 +0000 (18:48 +0200)
committerGitHub <noreply@github.com>
Sun, 11 Sep 2016 16:48:36 +0000 (18:48 +0200)
Check if asset is enable instead of opposite

.travis.yml
bin/symfony_requirements
install.sh
src/Wallabag/ImportBundle/Import/PocketImport.php
src/Wallabag/ImportBundle/Import/ReadabilityImport.php
src/Wallabag/ImportBundle/Import/WallabagImport.php
var/SymfonyRequirements.php

index c343d5ae4f9020126109df2b3d118a42440e380c..749b8ef73062f5f0c6c5d9b2b8e4b3f725ca95fb 100644 (file)
@@ -30,9 +30,9 @@ node_js:
     - "5"
 
 env:
-    - DB=mysql ASSETS=nobuild
-    - DB=pgsql ASSETS=nobuild
-    - DB=sqlite ASSETS=nobuild
+    - DB=mysql
+    - DB=pgsql
+    - DB=sqlite
 
 matrix:
     fast_finish: true
@@ -57,7 +57,7 @@ matrix:
           group: edge
           env: DB=sqlite
         - php: 7.0
-          env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite ASSETS=nobuild
+          env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite
         - php: 7.0
           env: DB=sqlite ASSETS=build
     allow_failures:
@@ -77,11 +77,11 @@ before_script:
     - if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
     - if [[ $PHP = 5.5 ]]; then composer require "phpunit/phpunit:4.*" --no-update; fi;
     - composer self-update --no-progress
-    - if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
+    - if [[ $DB = pgsql ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
 
 install:
-    - if [[ $ASSETS != nobuild ]]; then source ~/.nvm/nvm.sh && nvm install 5.0; fi;
-    - if [[ $ASSETS != nobuild ]]; then npm install -g npm@latest; fi;
+    - if [[ $ASSETS build ]]; then source ~/.nvm/nvm.sh && nvm install 5.0; fi;
+    - if [[ $ASSETS build ]]; then npm install -g npm@latest; fi;
 
 before_install:
     - if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
@@ -90,5 +90,5 @@ script:
     - travis_wait bash install.sh
     - ant prepare-$DB
     - phpunit -v
-    - if [ "$CS_FIXER" = "run" ]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
-    - if [ "$VALIDATE_TRANSLATION_FILE" = "run" ]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
+    - if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
+    - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
index 8825a964676ae774fab136ca2670799ec64a415d..a7bf65a1b8fa98dcd3fdb706f61bac472effd677 100755 (executable)
@@ -22,7 +22,6 @@ echo '> Checking Symfony requirements:'.PHP_EOL.'  ';
 
 $messages = array();
 foreach ($symfonyRequirements->getRequirements() as $req) {
-    /** @var $req Requirement */
     if ($helpText = get_error_message($req, $lineSize)) {
         echo_style('red', 'E');
         $messages['error'][] = $helpText;
@@ -121,10 +120,14 @@ function echo_block($style, $title, $message)
 
     echo PHP_EOL.PHP_EOL;
 
-    echo_style($style, str_repeat(' ', $width).PHP_EOL);
-    echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
-    echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
-    echo_style($style, str_repeat(' ', $width).PHP_EOL);
+    echo_style($style, str_repeat(' ', $width));
+    echo PHP_EOL;
+    echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT));
+    echo PHP_EOL;
+    echo_style($style, $message);
+    echo PHP_EOL;
+    echo_style($style, str_repeat(' ', $width));
+    echo PHP_EOL;
 }
 
 function has_color_support()
index 414f73f273f8df6b5ed2b02db3fb8405ff8c6345..a486e8a5b565ec0c70da7e8e83365aa1f9722a49 100755 (executable)
@@ -1,15 +1,8 @@
 #! /usr/bin/env bash
 
-if [[ $ASSETS == 'nobuild' ]]; then
-    composer install --no-interaction --no-progress --prefer-dist -o
-else
-
+if [[ $ASSETS == 'build' ]]; then
     echo "Installing PHP dependencies through Composer..."
-    if [[ $ASSETS == 'build' ]]; then
-        composer install --no-interaction --no-progress --prefer-dist -o
-    else
-        SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
-    fi
+    composer install --no-interaction --no-progress --prefer-dist -o
 
     chmod ugo+x vendor/mouf/nodejs-installer/bin/local/npm
     echo "Downloading javascript librairies through npm..."
@@ -20,10 +13,6 @@ else
 
     echo "Concat, minify and installing assets..."
     node_modules/grunt/bin/grunt
-
-    if [[ $ASSETS != 'build' ]]; then
-        echo "Installing wallabag..."
-        php bin/console wallabag:install --env=prod
-    fi
-
+else
+    composer install --no-interaction --no-progress --prefer-dist -o
 fi
index 798cfdaefe05cc0746340d8f21b2b8b38e2d616b..a6f905b145533edf1f692f2dadcc36db3c09b0d7 100644 (file)
@@ -255,11 +255,11 @@ class PocketImport extends AbstractImport
             // flush every 20 entries
             if (($i % 20) === 0) {
                 $this->em->flush();
-                $this->em->clear($entry);
             }
             ++$i;
         }
 
         $this->em->flush();
+        $this->em->clear();
     }
 }
index 37b160c5cb5690e37e1f5454a78cc185dd34d21a..c7cfe15d91f5c6f62e7f3a766c555fe979518096 100644 (file)
@@ -169,11 +169,11 @@ class ReadabilityImport extends AbstractImport
             // flush every 20 entries
             if (($i % 20) === 0) {
                 $this->em->flush();
-                $this->em->clear($entry);
             }
             ++$i;
         }
 
         $this->em->flush();
+        $this->em->clear();
     }
 }
index a1cc085b3e12c14a8ba0ceaccbde48b7f5a3c0ea..581ec178f82e19ae530550568d9edf4f010ccab0 100644 (file)
@@ -172,12 +172,12 @@ abstract class WallabagImport extends AbstractImport
             // flush every 20 entries
             if (($i % 20) === 0) {
                 $this->em->flush();
-                $this->em->clear($entry);
             }
             ++$i;
         }
 
         $this->em->flush();
+        $this->em->clear();
     }
 
     /**
index 0a5de5461b46d31fd1006244bb33c235676efc29..f3e8ca8eb2489934b375c08501cf11204848f567 100644 (file)
@@ -168,6 +168,9 @@ class PhpIniRequirement extends Requirement
  */
 class RequirementCollection implements IteratorAggregate
 {
+    /**
+     * @var Requirement[]
+     */
     private $requirements = array();
 
     /**
@@ -265,7 +268,7 @@ class RequirementCollection implements IteratorAggregate
     /**
      * Returns both requirements and recommendations.
      *
-     * @return array Array of Requirement instances
+     * @return Requirement[]
      */
     public function all()
     {
@@ -275,7 +278,7 @@ class RequirementCollection implements IteratorAggregate
     /**
      * Returns all mandatory requirements.
      *
-     * @return array Array of Requirement instances
+     * @return Requirement[]
      */
     public function getRequirements()
     {
@@ -292,7 +295,7 @@ class RequirementCollection implements IteratorAggregate
     /**
      * Returns the mandatory requirements that were not met.
      *
-     * @return array Array of Requirement instances
+     * @return Requirement[]
      */
     public function getFailedRequirements()
     {
@@ -309,7 +312,7 @@ class RequirementCollection implements IteratorAggregate
     /**
      * Returns all optional recommendations.
      *
-     * @return array Array of Requirement instances
+     * @return Requirement[]
      */
     public function getRecommendations()
     {
@@ -326,7 +329,7 @@ class RequirementCollection implements IteratorAggregate
     /**
      * Returns the recommendations that were not met.
      *
-     * @return array Array of Requirement instances
+     * @return Requirement[]
      */
     public function getFailedRecommendations()
     {
@@ -376,7 +379,8 @@ class RequirementCollection implements IteratorAggregate
  */
 class SymfonyRequirements extends RequirementCollection
 {
-    const REQUIRED_PHP_VERSION = '5.3.3';
+    const LEGACY_REQUIRED_PHP_VERSION = '5.3.3';
+    const REQUIRED_PHP_VERSION = '5.5.9';
 
     /**
      * Constructor that initializes the requirements.
@@ -386,16 +390,26 @@ class SymfonyRequirements extends RequirementCollection
         /* mandatory requirements follow */
 
         $installedPhpVersion = phpversion();
+        $requiredPhpVersion = $this->getPhpRequiredVersion();
 
-        $this->addRequirement(
-            version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>='),
-            sprintf('PHP version must be at least %s (%s installed)', self::REQUIRED_PHP_VERSION, $installedPhpVersion),
-            sprintf('You are running PHP version "<strong>%s</strong>", but Symfony needs at least PHP "<strong>%s</strong>" to run.
-                Before using Symfony, upgrade your PHP installation, preferably to the latest version.',
-                $installedPhpVersion, self::REQUIRED_PHP_VERSION),
-            sprintf('Install PHP %s or newer (installed version is %s)', self::REQUIRED_PHP_VERSION, $installedPhpVersion)
+        $this->addRecommendation(
+            $requiredPhpVersion,
+            'Vendors should be installed in order to check all requirements.',
+            'Run the <code>composer install</code> command.',
+            'Run the "composer install" command.'
         );
 
+        if (false !== $requiredPhpVersion) {
+            $this->addRequirement(
+                version_compare($installedPhpVersion, $requiredPhpVersion, '>='),
+                sprintf('PHP version must be at least %s (%s installed)', $requiredPhpVersion, $installedPhpVersion),
+                sprintf('You are running PHP version "<strong>%s</strong>", but Symfony needs at least PHP "<strong>%s</strong>" to run.
+                Before using Symfony, upgrade your PHP installation, preferably to the latest version.',
+                    $installedPhpVersion, $requiredPhpVersion),
+                sprintf('Install PHP %s or newer (installed version is %s)', $requiredPhpVersion, $installedPhpVersion)
+            );
+        }
+
         $this->addRequirement(
             version_compare($installedPhpVersion, '5.3.16', '!='),
             'PHP version must not be 5.3.16 as Symfony won\'t work properly with it',
@@ -433,7 +447,7 @@ class SymfonyRequirements extends RequirementCollection
             );
         }
 
-        if (version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>=')) {
+        if (false !== $requiredPhpVersion && version_compare($installedPhpVersion, $requiredPhpVersion, '>=')) {
             $timezones = array();
             foreach (DateTimeZone::listAbbreviations() as $abbreviations) {
                 foreach ($abbreviations as $abbreviation) {
@@ -689,7 +703,7 @@ class SymfonyRequirements extends RequirementCollection
                     $this->addRecommendation(
                         \Symfony\Component\Intl\Intl::getIcuDataVersion() === \Symfony\Component\Intl\Intl::getIcuVersion(),
                         sprintf('intl ICU version installed on your system (%s) does not match the ICU data bundled with Symfony (%s)', \Symfony\Component\Intl\Intl::getIcuVersion(), \Symfony\Component\Intl\Intl::getIcuDataVersion()),
-                        'To avoid internationalization data incosistencies upgrade the symfony/intl component.'
+                        'To avoid internationalization data inconsistencies upgrade the symfony/intl component.'
                     );
                 }
             }
@@ -725,9 +739,9 @@ class SymfonyRequirements extends RequirementCollection
 
         if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
             $this->addRecommendation(
-                $this->getRealpathCacheSize() > 1000,
-                'realpath_cache_size should be above 1024 in php.ini',
-                'Set "<strong>realpath_cache_size</strong>" to e.g. "<strong>1024</strong>" in php.ini<a href="#phpini">*</a> to improve performance on windows.'
+                $this->getRealpathCacheSize() > 5 * 1024 * 1024,
+                'realpath_cache_size should be above 5242880 in php.ini',
+                'Setting "<strong>realpath_cache_size</strong>" to e.g. "<strong>5242880</strong>" or "<strong>5000k</strong>" in php.ini<a href="#phpini">*</a> may improve performance on Windows significantly in some cases.'
             );
         }
 
@@ -778,4 +792,28 @@ class SymfonyRequirements extends RequirementCollection
                 return (int) $size;
         }
     }
+
+    /**
+     * Defines PHP required version from Symfony version.
+     *
+     * @return string|false The PHP required version or false if it could not be guessed
+     */
+    protected function getPhpRequiredVersion()
+    {
+        if (!file_exists($path = __DIR__.'/../composer.lock')) {
+            return false;
+        }
+
+        $composerLock = json_decode(file_get_contents($path), true);
+        foreach ($composerLock['packages'] as $package) {
+            $name = $package['name'];
+            if ('symfony/symfony' !== $name && 'symfony/http-kernel' !== $name) {
+                continue;
+            }
+
+            return (int) $package['version'][1] > 2 ? self::REQUIRED_PHP_VERSION : self::LEGACY_REQUIRED_PHP_VERSION;
+        }
+
+        return false;
+    }
 }