partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

commit a742f9d9df432069b5228c69dfcb423cc2cfce64
parent f3ea919074f672d7eb7110df3b68c7041a2663ae
Author: Felicitus <felicitus@felicitus.org>
Date:   Tue, 27 Aug 2013 18:43:24 +0200

- Reworked the build process so that we can omit doctrine.php
- doctrine-migrations is now being pulled in via composer

Diffstat:
Mapp/SymfonyRequirements.php | 8++++++++
Mbuild.xml | 11++++-------
Mcomposer.json | 3++-
Mcomposer.lock | 179+++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
Ddoctrine.php | 88-------------------------------------------------------------------------------
Msrc/backend/PartKeepr/PartKeepr.php | 3---
6 files changed, 131 insertions(+), 161 deletions(-)

diff --git a/app/SymfonyRequirements.php b/app/SymfonyRequirements.php @@ -560,6 +560,14 @@ class SymfonyRequirements extends RequirementCollection 'Install PHP 5.4.11 or newer if your project uses the logout handler from the Symfony Security Component.' ); + $this->addRecommendation( + (version_compare($installedPhpVersion, '5.3.18', '>=') && version_compare($installedPhpVersion, '5.4.0', '<')) + || + version_compare($installedPhpVersion, '5.4.8', '>='), + 'You should use PHP 5.3.18+ or PHP 5.4.8+ to always get nice error messages for fatal errors in the development environment due to PHP bug #61767/#60909', + 'Install PHP 5.3.18+ or PHP 5.4.8+ if you want nice error messages for all fatal errors in the development environment.' + ); + if (null !== $pcreVersion) { $this->addRecommendation( $pcreVersion >= 8.0, diff --git a/build.xml b/build.xml @@ -18,12 +18,6 @@ <delete file="partkeepr.jsb3" /> </target> - <!-- Re-generates the proxies needed by Doctrine2 --> - <target name="create-orm-proxies"> - <mkdir dir="data/" /> - <exec command="doctrine orm:generate-proxies" passthru="true" /> - </target> - <target name="compile-theme"> <exec dir="theme/sass" command="compass compile partkeepr.scss" passthru="true" /> <copy file="theme/css/partkeepr.css" tofile="src/frontend/css/partkeepr-theme.css" /> @@ -237,11 +231,14 @@ </else> </if> - <phingcall target="create-orm-proxies" /> + <phingcall target="cache-warmup" /> <phingcall target="jsbuilder" /> </target> + <target name="cache-warmup"> + <exec passthru="true" command="php app/console cache:warmup" /> + </target> <!-- Builds the frontend, regenerates the proxies and minifies the JS --> <target name="build"> <phingcall target="git-update-submodules" /> diff --git a/composer.json b/composer.json @@ -38,7 +38,8 @@ "incenteev/composer-parameter-handler": "~2.0", "friendsofsymfony/rest-bundle": "0.13.1", "jms/serializer-bundle": "0.12.0", - "cbsi/doctrine2-nestedset": "dev-master" + "cbsi/doctrine2-nestedset": "dev-master", + "doctrine/migrations": "dev-master" }, "autoload": { "psr-0": { "": "src/", diff --git a/composer.lock b/composer.lock @@ -3,7 +3,7 @@ "This file locks the dependencies of your project to a known state", "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" ], - "hash": "fa1fbaca0acae56b9e85ab678bdf427b", + "hash": "30821f9719b5e3666cf0dd8977e77556", "packages": [ { "name": "cbsi/doctrine2-nestedset", @@ -128,7 +128,7 @@ }, { "name": "doctrine/cache", - "version": "dev-master", + "version": "v1.1", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", @@ -181,7 +181,7 @@ "email": "kontakt@beberlei.de" }, { - "name": "Johannes M. Schmitt", + "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com", "homepage": "http://jmsyst.com", "role": "Developer of wrapped JMSSerializerBundle" @@ -268,12 +268,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "f28a39065d455b6df1c989ea6590e971a1f0256d" + "reference": "b4c7860e0c5a8d13598ca34d156533300b0dacf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/f28a39065d455b6df1c989ea6590e971a1f0256d", - "reference": "f28a39065d455b6df1c989ea6590e971a1f0256d", + "url": "https://api.github.com/repos/doctrine/common/zipball/b4c7860e0c5a8d13598ca34d156533300b0dacf0", + "reference": "b4c7860e0c5a8d13598ca34d156533300b0dacf0", "shasum": "" }, "require": { @@ -334,7 +334,7 @@ "persistence", "spl" ], - "time": "2013-08-17 18:48:00" + "time": "2013-08-20 18:10:31" }, { "name": "doctrine/dbal", @@ -342,12 +342,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d3c2e5e521e4cf0ebc09fb7fe0bca33d91f695ab" + "reference": "7ffb2701931aeae3bb32fa2012b9a575f3a7929b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d3c2e5e521e4cf0ebc09fb7fe0bca33d91f695ab", - "reference": "d3c2e5e521e4cf0ebc09fb7fe0bca33d91f695ab", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/7ffb2701931aeae3bb32fa2012b9a575f3a7929b", + "reference": "7ffb2701931aeae3bb32fa2012b9a575f3a7929b", "shasum": "" }, "require": { @@ -404,7 +404,7 @@ "persistence", "queryobject" ], - "time": "2013-08-10 20:04:24" + "time": "2013-08-24 01:02:33" }, { "name": "doctrine/doctrine-bundle", @@ -602,17 +602,71 @@ "time": "2013-03-07 12:15:25" }, { + "name": "doctrine/migrations", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "ced3b419252af47f29d6680f9ec74df00ee0c58e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/ced3b419252af47f29d6680f9ec74df00ee0c58e", + "reference": "ced3b419252af47f29d6680f9ec74df00ee0c58e", + "shasum": "" + }, + "require": { + "doctrine/dbal": ">=2.0,<2.5.x-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "symfony/console": "2.*", + "symfony/yaml": "2.*" + }, + "suggest": { + "symfony/console": "to run the migration from the console" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\Migrations": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Database Schema migrations using Doctrine DBAL", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "migrations" + ], + "time": "2013-06-27 19:46:00" + }, + { "name": "doctrine/orm", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/doctrine/doctrine2.git", - "reference": "cc83ac6ce8d11f0c6c421cd4afd3503c8a69c35f" + "reference": "f634ba343cb0b8524490ba0700f0d19fe85459da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/cc83ac6ce8d11f0c6c421cd4afd3503c8a69c35f", - "reference": "cc83ac6ce8d11f0c6c421cd4afd3503c8a69c35f", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/f634ba343cb0b8524490ba0700f0d19fe85459da", + "reference": "f634ba343cb0b8524490ba0700f0d19fe85459da", "shasum": "" }, "require": { @@ -650,7 +704,7 @@ ], "authors": [ { - "name": "Jonathan H. Wage", + "name": "Jonathan Wage", "email": "jonwage@gmail.com", "homepage": "http://www.jwage.com/" }, @@ -674,7 +728,7 @@ "database", "orm" ], - "time": "2013-08-19 04:33:45" + "time": "2013-08-25 14:23:20" }, { "name": "friendsofsymfony/rest", @@ -809,12 +863,12 @@ "source": { "type": "git", "url": "https://github.com/Incenteev/ParameterHandler.git", - "reference": "d76d17d14abfaa5103342a43cfeb4126000abab6" + "reference": "548ea586258845b68e8142b0e3f0a7dbac2e6f49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/d76d17d14abfaa5103342a43cfeb4126000abab6", - "reference": "d76d17d14abfaa5103342a43cfeb4126000abab6", + "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/548ea586258845b68e8142b0e3f0a7dbac2e6f49", + "reference": "548ea586258845b68e8142b0e3f0a7dbac2e6f49", "shasum": "" }, "require": { @@ -852,7 +906,7 @@ "keywords": [ "parameters management" ], - "time": "2013-07-20 18:35:49" + "time": "2013-08-27 09:48:45" }, { "name": "jdorn/sql-formatter", @@ -910,19 +964,19 @@ "source": { "type": "git", "url": "https://github.com/schmittjoh/metadata.git", - "reference": "b63f380d36a70586fd2abe518e35899d044745df" + "reference": "2b95de3ff995996cf068314bd4299dbfca2ca668" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/b63f380d36a70586fd2abe518e35899d044745df", - "reference": "b63f380d36a70586fd2abe518e35899d044745df", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/2b95de3ff995996cf068314bd4299dbfca2ca668", + "reference": "2b95de3ff995996cf068314bd4299dbfca2ca668", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { - "doctrine/common": ">=2.0,<2.4-dev" + "doctrine/cache": "~1.0" }, "type": "library", "extra": { @@ -954,7 +1008,7 @@ "xml", "yaml" ], - "time": "2013-08-04 12:47:51" + "time": "2013-08-25 08:44:36" }, { "name": "jms/parser-lib", @@ -1205,12 +1259,12 @@ "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "7a8844d4db868cf20040facb8c3413802dd0ec9b" + "reference": "933f7e26beb19ce15d97031a3fdd21d8bd83a3d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/7a8844d4db868cf20040facb8c3413802dd0ec9b", - "reference": "7a8844d4db868cf20040facb8c3413802dd0ec9b", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/933f7e26beb19ce15d97031a3fdd21d8bd83a3d3", + "reference": "933f7e26beb19ce15d97031a3fdd21d8bd83a3d3", "shasum": "" }, "require": { @@ -1259,7 +1313,7 @@ "logging", "psr-3" ], - "time": "2013-08-09 12:12:38" + "time": "2013-08-26 09:42:58" }, { "name": "phpcollection/phpcollection", @@ -1267,12 +1321,12 @@ "source": { "type": "git", "url": "https://github.com/schmittjoh/php-collection.git", - "reference": "0.3.0" + "reference": "5c8ec0d1091c95b973b59a3bf0eb19c5de72d8d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/0.3.0", - "reference": "0.3.0", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/5c8ec0d1091c95b973b59a3bf0eb19c5de72d8d1", + "reference": "5c8ec0d1091c95b973b59a3bf0eb19c5de72d8d1", "shasum": "" }, "require": { @@ -1309,7 +1363,7 @@ "sequence", "set" ], - "time": "2013-07-16 08:26:26" + "time": "2013-08-22 09:46:14" }, { "name": "phpoption/phpoption", @@ -1405,12 +1459,12 @@ "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "f666c65c810f6a23455966c37f99ba76094775b5" + "reference": "66df91b4bd637a83299d8072aed3658bfd3b3021" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/f666c65c810f6a23455966c37f99ba76094775b5", - "reference": "f666c65c810f6a23455966c37f99ba76094775b5", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/66df91b4bd637a83299d8072aed3658bfd3b3021", + "reference": "66df91b4bd637a83299d8072aed3658bfd3b3021", "shasum": "" }, "require": { @@ -1442,7 +1496,7 @@ "configuration", "distribution" ], - "time": "2013-08-08 12:18:08" + "time": "2013-08-22 05:04:53" }, { "name": "sensio/framework-extra-bundle", @@ -1451,12 +1505,12 @@ "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", - "reference": "v2.3.3" + "reference": "cce05719041d952bbec856789ca18646a1891d03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/v2.3.3", - "reference": "v2.3.3", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/cce05719041d952bbec856789ca18646a1891d03", + "reference": "cce05719041d952bbec856789ca18646a1891d03", "shasum": "" }, "require": { @@ -1498,12 +1552,12 @@ "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "8daadf79d5f305fbcf4261c052968415f4e69a00" + "reference": "4a7b126e9c22f858e3584b19ddce6e5bdd7677ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/8daadf79d5f305fbcf4261c052968415f4e69a00", - "reference": "8daadf79d5f305fbcf4261c052968415f4e69a00", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/4a7b126e9c22f858e3584b19ddce6e5bdd7677ee", + "reference": "4a7b126e9c22f858e3584b19ddce6e5bdd7677ee", "shasum": "" }, "require": { @@ -1537,7 +1591,7 @@ } ], "description": "This bundle generates code for you", - "time": "2013-08-13 20:01:59" + "time": "2013-08-21 18:09:35" }, { "name": "swiftmailer/swiftmailer", @@ -1706,12 +1760,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/MonologBundle.git", - "reference": "f669c95d4a2b40d832f0c63dfd5d35534af2481a" + "reference": "e81c2e9c4dc0a9ff794674017069e036f575f278" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/f669c95d4a2b40d832f0c63dfd5d35534af2481a", - "reference": "f669c95d4a2b40d832f0c63dfd5d35534af2481a", + "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/e81c2e9c4dc0a9ff794674017069e036f575f278", + "reference": "e81c2e9c4dc0a9ff794674017069e036f575f278", "shasum": "" }, "require": { @@ -1757,21 +1811,21 @@ "log", "logging" ], - "time": "2013-08-08 10:56:37" + "time": "2013-08-26 10:15:04" }, { "name": "symfony/swiftmailer-bundle", - "version": "v2.3.3", + "version": "v2.3.4", "target-dir": "Symfony/Bundle/SwiftmailerBundle", "source": { "type": "git", "url": "https://github.com/symfony/SwiftmailerBundle.git", - "reference": "v2.3.3" + "reference": "f5e5d12629c26a835c7aa1d74e2e041486b92d93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/v2.3.3", - "reference": "v2.3.3", + "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/f5e5d12629c26a835c7aa1d74e2e041486b92d93", + "reference": "f5e5d12629c26a835c7aa1d74e2e041486b92d93", "shasum": "" }, "require": { @@ -1812,7 +1866,7 @@ ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2013-08-05 08:18:16" + "time": "2013-08-22 13:32:58" }, { "name": "symfony/symfony", @@ -1820,12 +1874,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "3a978503e9d8ec02dc21070521a21d7d72413fa4" + "reference": "32947b2fc8c199b7aab4475473136ed651c097a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/3a978503e9d8ec02dc21070521a21d7d72413fa4", - "reference": "3a978503e9d8ec02dc21070521a21d7d72413fa4", + "url": "https://api.github.com/repos/symfony/symfony/zipball/32947b2fc8c199b7aab4475473136ed651c097a0", + "reference": "32947b2fc8c199b7aab4475473136ed651c097a0", "shasum": "" }, "require": { @@ -1920,7 +1974,7 @@ "keywords": [ "framework" ], - "time": "2013-08-17 16:34:58" + "time": "2013-08-25 08:03:30" }, { "name": "twig/extensions", @@ -1975,12 +2029,12 @@ "source": { "type": "git", "url": "https://github.com/fabpot/Twig.git", - "reference": "fcf007e9a2e6c65594360ae7fa3c410ae8d56a11" + "reference": "cacbf201af1500852f83ad9c5d389a13d52f654e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fabpot/Twig/zipball/fcf007e9a2e6c65594360ae7fa3c410ae8d56a11", - "reference": "fcf007e9a2e6c65594360ae7fa3c410ae8d56a11", + "url": "https://api.github.com/repos/fabpot/Twig/zipball/cacbf201af1500852f83ad9c5d389a13d52f654e", + "reference": "cacbf201af1500852f83ad9c5d389a13d52f654e", "shasum": "" }, "require": { @@ -2016,7 +2070,7 @@ "keywords": [ "templating" ], - "time": "2013-08-07 12:53:34" + "time": "2013-08-26 08:23:34" }, { "name": "willdurand/negotiation", @@ -2077,7 +2131,8 @@ ], "minimum-stability": "dev", "stability-flags": { - "cbsi/doctrine2-nestedset": 20 + "cbsi/doctrine2-nestedset": 20, + "doctrine/migrations": 20 }, "platform": { "php": ">=5.3.3" diff --git a/doctrine.php b/doctrine.php @@ -1,88 +0,0 @@ -<?php -namespace PartKeepr\Console; - -use PartKeepr\PartKeepr, - PartKeepr\Util\Configuration as PartKeeprConfiguration; - -include("src/backend/PartKeepr/PartKeepr.php"); - -PartKeepr::initializeClassLoaders(); -PartKeepr::initializeConfig(); - -$cli = new \Symfony\Component\Console\Application('PartKeepr Doctrine Console', \PartKeepr\PartKeeprVersion::PARTKEEPR_VERSION); -$cli->setCatchExceptions(true); - -try { - PartKeepr::initializeDoctrine(); - - $helperSet = $cli->getHelperSet(); - - $helpers = array( - 'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper(PartKeepr::getEM()->getConnection()), - 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper(PartKeepr::getEM()) - ); - - foreach ($helpers as $name => $helper) { - $helperSet->set($helper, $name); - } - - $cli->addCommands(array( - // DBAL Commands - new \Doctrine\DBAL\Tools\Console\Command\RunSqlCommand(), - new \Doctrine\DBAL\Tools\Console\Command\ImportCommand(), - - // ORM Commands - new \Doctrine\ORM\Tools\Console\Command\ClearCache\MetadataCommand(), - new \Doctrine\ORM\Tools\Console\Command\ClearCache\ResultCommand(), - new \Doctrine\ORM\Tools\Console\Command\ClearCache\QueryCommand(), - new \Doctrine\ORM\Tools\Console\Command\SchemaTool\CreateCommand(), - new \Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand(), - new \Doctrine\ORM\Tools\Console\Command\SchemaTool\DropCommand(), - new \Doctrine\ORM\Tools\Console\Command\EnsureProductionSettingsCommand(), - new \Doctrine\ORM\Tools\Console\Command\ConvertDoctrine1SchemaCommand(), - new \Doctrine\ORM\Tools\Console\Command\GenerateRepositoriesCommand(), - new \Doctrine\ORM\Tools\Console\Command\GenerateEntitiesCommand(), - new \Doctrine\ORM\Tools\Console\Command\GenerateProxiesCommand(), - new \Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand(), - new \Doctrine\ORM\Tools\Console\Command\RunDqlCommand(), - new \Doctrine\ORM\Tools\Console\Command\ValidateSchemaCommand(), - - )); - - $cli->addCommands(array( - // Migrations Commands - new \Doctrine\DBAL\Migrations\Tools\Console\Command\DiffCommand(), - new \Doctrine\DBAL\Migrations\Tools\Console\Command\ExecuteCommand(), - new \Doctrine\DBAL\Migrations\Tools\Console\Command\GenerateCommand(), - new \Doctrine\DBAL\Migrations\Tools\Console\Command\MigrateCommand(), - new \Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand(), - new \Doctrine\DBAL\Migrations\Tools\Console\Command\VersionCommand() - )); - -} catch (\Exception $e) { - // Inject fake connection - PartKeeprConfiguration::setOption("partkeepr.database.driver", "pdo_sqlite"); - - PartKeepr::initializeDoctrine(); - - $helperSet = $cli->getHelperSet(); - - $helpers = array( - 'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper(PartKeepr::getEM()->getConnection()), - 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper(PartKeepr::getEM()) - ); - - foreach ($helpers as $name => $helper) { - $helperSet->set($helper, $name); - } - - echo "\n"; - echo "======================================================================================\n"; - echo "Warning: Couldn't find a database configuration - disabling database-related commands.\n"; - echo "======================================================================================\n\n"; -} -$cli->addCommands(array( - new \Doctrine\ORM\Tools\Console\Command\GenerateProxiesCommand(), - - )); -$cli->run(); diff --git a/src/backend/PartKeepr/PartKeepr.php b/src/backend/PartKeepr/PartKeepr.php @@ -51,9 +51,6 @@ class PartKeepr { $classLoader = new ClassLoader('Doctrine\ORM'); $classLoader->register(); - $classLoader = new ClassLoader("Doctrine\DBAL\Migrations", self::getRootDirectory() ."/3rdparty/doctrine-migrations/lib"); - $classLoader->register(); - $classLoader = new ClassLoader('Doctrine\DBAL'); $classLoader->register();