Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

DDC-784 - Implement doctrine CLI for Windows and refactor CLI stuff i…

…n general
  • Loading branch information...
commit de236e0456c1e6d6f3c9ee4a0305d1edd61fe1a3 1 parent 3ad429a
@beberlei beberlei authored
View
9 bin/doctrine.bat
@@ -0,0 +1,9 @@
+@echo off
+
+if "%PHPBIN%" == "" set PHPBIN=@php_bin@
+if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
+GOTO RUN
+:USE_PEAR_PATH
+set PHPBIN=%PHP_PEAR_PHP_BIN%
+:RUN
+"%PHPBIN%" "@bin_dir@\doctrine" %*
View
46 bin/doctrine.php
@@ -1,4 +1,21 @@
<?php
+/*
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information, see
+ * <http://www.doctrine-project.org>.
+ */
require_once 'Doctrine/Common/ClassLoader.php';
@@ -19,7 +36,7 @@
}
require $configFile;
-
+
foreach ($GLOBALS as $helperSetCandidate) {
if ($helperSetCandidate instanceof \Symfony\Component\Console\Helper\HelperSet) {
$helperSet = $helperSetCandidate;
@@ -30,29 +47,4 @@
$helperSet = ($helperSet) ?: new \Symfony\Component\Console\Helper\HelperSet();
-$cli = new \Symfony\Component\Console\Application('Doctrine Command Line Interface', Doctrine\ORM\Version::VERSION);
-$cli->setCatchExceptions(true);
-$cli->setHelperSet($helperSet);
-$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->run();
+\Doctrine\ORM\Tools\Console\ConsoleRunner::run($helperSet);
View
1  build.xml
@@ -167,6 +167,7 @@
<release>
<install as="doctrine" name="bin/doctrine" />
<install as="doctrine.php" name="bin/doctrine.php" />
+ <install as="doctrine.bat" name="bin/doctrine.bat" />
</release>
</d51pearpkg2>
<exec command="pear package" dir="${build.dir}/doctrine-orm" passthru="true" />
View
69 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php
@@ -0,0 +1,69 @@
+<?php
+/*
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information, see
+ * <http://www.doctrine-project.org>.
+ */
+
+namespace Doctrine\ORM\Tools\Console;
+
+use Symfony\Component\Console\Application;
+use Symfony\Component\Console\Helper\HelperSet;
+
+class ConsoleRunner
+{
+ /**
+ * Run console with the given helperset.
+ *
+ * @param \Symfony\Component\Console\Helper\HelperSet $helperSet
+ * @return void
+ */
+ static public function run(HelperSet $helperSet)
+ {
+ $cli = new Application('Doctrine Command Line Interface', \Doctrine\ORM\Version::VERSION);
+ $cli->setCatchExceptions(true);
+ $cli->setHelperSet($helperSet);
+ self::addCommands($cli);
+ $cli->run();
+ }
+
+ /**
+ * @param Application $cli
+ */
+ static public function addCommands(Application $cli)
+ {
+ $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(),
+ ));
+ }
+}
Please sign in to comment.
Something went wrong with that request. Please try again.