Browse Source

Review and rework Composer tasks.

1.0
Andrés Montañez 11 years ago
parent
commit
e01fbc6151
  1. 40
      Mage/Task/BuiltIn/Composer/GenerateAutoload.php
  2. 30
      Mage/Task/BuiltIn/Composer/GenerateAutoloadTask.php
  3. 30
      Mage/Task/BuiltIn/Composer/InstallTask.php
  4. 2
      docs/example-config/.mage/config/environment/staging.yml

40
Mage/Task/BuiltIn/Composer/GenerateAutoload.php

@ -1,40 +0,0 @@
<?php
namespace Mage\Task\BuiltIn\Composer;
use Exception;
use Mage\Task\AbstractTask;
use Mage\Task\ErrorWithMessageException;
use Mage\Task\SkipException;
class GenerateAutoload extends AbstractTask
{
/**
* Returns the Title of the Task
* @return string
*/
public function getName()
{
return 'Generating autoload files via composer [built-in]';
}
/**
* Runs the task
*
* @return boolean
* @throws Exception
* @throws ErrorWithMessageException
* @throws SkipException
*/
public function run()
{
$releasesDirectory = $this->getConfig()->release('directory', 'releases');
$releasesDirectory = rtrim($this->getConfig()->deployment('to'), '/') . '/' . $releasesDirectory;
$currentCopy = $releasesDirectory . '/' . $this->getConfig()->getReleaseId();
$sharedFolderName = $this->getParameter('shared', 'shared');
$sharedFolderName = rtrim($this->getConfig()->deployment('to'), '/') . '/' . $sharedFolderName;
$composerPath = $this->getParameter('composer', "$sharedFolderName/composer.phar");
return $this->runCommandRemote("/usr/bin/env php $composerPath --working-dir=$currentCopy dumpautoload --optimize", $output);
}
}

30
Mage/Task/BuiltIn/Composer/GenerateAutoloadTask.php

@ -0,0 +1,30 @@
<?php
namespace Mage\Task\BuiltIn\Composer;
use Mage\Task\AbstractTask;
use Mage\Task\ErrorWithMessageException;
class GenerateAutoloadTask extends AbstractTask
{
/**
* Returns the Title of the Task
* @return string
*/
public function getName()
{
return 'Generate autoload via Composer [built-in]';
}
/**
* Runs the task
*
* @return boolean
* @throws ErrorWithMessageException
*/
public function run()
{
$composerPath = $this->getConfig()->general('composer_path', 'php composer.phar');
return $this->runCommand($composerPath . ' dumpautoload --optimize');
}
}

30
Mage/Task/BuiltIn/Composer/InstallTask.php

@ -0,0 +1,30 @@
<?php
namespace Mage\Task\BuiltIn\Composer;
use Mage\Task\AbstractTask;
use Mage\Task\ErrorWithMessageException;
class InstallTask extends AbstractTask
{
/**
* Returns the Title of the Task
* @return string
*/
public function getName()
{
return 'Install vendors via Composer [built-in]';
}
/**
* Runs the task
*
* @return boolean
* @throws ErrorWithMessageException
*/
public function run()
{
$composerPath = $this->getConfig()->general('composer_path', 'php composer.phar');
return $this->runCommand($composerPath . ' install');
}
}

2
docs/example-config/.mage/config/environment/staging.yml

@ -2,7 +2,7 @@
deployment: deployment:
user: root user: root
from: ./ from: ./
to: /var/vvv to: /var/www
scm: scm:
branch: master branch: master
releases: releases:

Loading…
Cancel
Save