当前位置: 首页>>代码示例>>PHP>>正文


PHP Project::addBuildListener方法代码示例

本文整理汇总了PHP中Project::addBuildListener方法的典型用法代码示例。如果您正苦于以下问题:PHP Project::addBuildListener方法的具体用法?PHP Project::addBuildListener怎么用?PHP Project::addBuildListener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Project的用法示例。


在下文中一共展示了Project::addBuildListener方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setProject

 /**
  * Set the project associated with this recorder entry.
  *
  * @param Project $project the project instance
  */
 public function setProject(Project $project)
 {
     $this->project = $project;
     if ($this->project != null) {
         $this->project->addBuildListener($this);
     }
 }
开发者ID:Ingewikkeld,项目名称:phing,代码行数:12,代码来源:RecorderEntry.php

示例2: main

 /**
  * Executes this target.
  */
 public function main()
 {
     if ($this->name === null) {
         throw new BuildException('The name attribute must be specified');
     }
     /* Words cannot describe how ridiculously fucking stupid this is. Phing
      * seems to resolve properties only once, ever, so in order to run a
      * target multiple times with different properties we'll have to create
      * a new project, parse the build file all over again, copy everything
      * over from the current project, execute the new target, and then copy
      * everything back. Fuck. */
     $project = new Project();
     try {
         foreach ($this->project->getBuildListeners() as $listener) {
             $project->addBuildListener($listener);
         }
         $project->setInputHandler($this->project->getInputHandler());
         $this->project->copyUserProperties($project);
         $this->project->copyInheritedProperties($project);
         foreach ($this->project->getProperties() as $name => $property) {
             if ($project->getProperty($name) === null) {
                 $project->setNewProperty($name, $property);
             }
         }
         $project->init();
         ProjectConfigurator::configureProject($project, new PhingFile($this->project->getProperty('phing.file')));
         Phing::setCurrentProject($project);
         $project->executeTarget($this->name);
     } catch (BuildException $be) {
         if ($this->exceptionsFatal) {
             throw $be;
         } else {
             $this->log('Ignoring build exception: ' . $be->getMessage(), Project::MSG_WARN);
             $this->log('Continuing build', Project::MSG_INFO);
         }
     }
     Phing::setCurrentProject($this->project);
     /**
      * :NOTE: copy all user properties so that child task may overwrite
      * properties that were already set in the parent project
      * 
      * using the Project::copyUserProperties() will result in
      * properties not adjusted to the new value.
      */
     foreach ($project->getUserProperties() as $name => $property) {
         $this->project->setUserProperty($name, $property);
     }
     $project->copyInheritedProperties($this->project);
     foreach ($project->getProperties() as $name => $property) {
         if ($this->project->getProperty($name) === null) {
             $this->project->setNewProperty($name, $property);
         }
     }
     /* Fuck. */
     unset($project);
 }
开发者ID:horros,项目名称:agavi,代码行数:59,代码来源:AgaviExecutetargetTask.php

示例3: addBuildListeners

 /**
  * Bind any registered build listeners to this project.
  *
  * This means adding the logger and any build listeners that were specified
  * with -listener arg.
  *
  * @param Project $project
  * @return void
  */
 private function addBuildListeners(Project $project)
 {
     // Add the default listener
     $project->addBuildListener($this->createLogger());
     foreach ($this->listeners as $listenerClassname) {
         try {
             $clz = Phing::import($listenerClassname);
         } catch (Exception $x) {
             $msg = "Unable to instantiate specified listener " . "class " . $listenerClassname . " : " . $e->getMessage();
             throw new ConfigurationException($msg);
         }
         $listener = new $clz();
         if ($listener instanceof StreamRequiredBuildLogger) {
             throw new ConfigurationException("Unable to add " . $listenerClassname . " as a listener, since it requires explicit error/output streams. (You can specify it as a -logger.)");
         }
         $project->addBuildListener($listener);
     }
 }
开发者ID:hkilter,项目名称:OpenSupplyChains,代码行数:27,代码来源:phing.php

示例4: addBuildListeners

 /**
  * Bind any default build listeners to this project.
  * Currently this means adding the logger.
  * @param Project $project
  * @return void
  */
 private function addBuildListeners(Project $project)
 {
     // Add the default listener
     $project->addBuildListener($this->createLogger());
 }
开发者ID:domenypl,项目名称:symfony1-legacy,代码行数:11,代码来源:Phing.php

示例5: addBuildListeners

 /**
  * Bind any registered build listeners to this project.
  *
  * This means adding the logger and any build listeners that were specified
  * with -listener arg.
  *
  * @param Project $project
  * @return void
  */
 private function addBuildListeners(Project $project)
 {
     // Add the default listener
     $project->addBuildListener($this->createLogger());
     foreach ($this->listeners as $listenerClassname) {
         try {
             $clz = Phing::import($listenerClassname);
             $listener = new $clz();
             $project->addBuildListener($listener);
         } catch (Exception $e) {
             $msg = "Unable to instantiate specified listener " . "class " . $listenerClassname . " : " . $e->getMessage();
             throw new BuildException($msg);
         }
     }
 }
开发者ID:nmicht,项目名称:tlalokes-in-acst,代码行数:24,代码来源:Phing.php

示例6: Project

$GLOBALS['PROPERTIES']['project.directory'] = $GLOBALS['PROJECT_DIRECTORY'];
/* Execute Phing. */
try {
    $project = new Project();
    // hax for Mac OS X 10.5 Leopard, where "dim" ANSI colors are broken...
    if (PHP_OS == 'Darwin' && (isset($_SERVER['TERM_PROGRAM']) && $_SERVER['TERM_PROGRAM'] == 'Apple_Terminal' || isset($_ENV['TERM_PROGRAM']) && $_ENV['TERM_PROGRAM'] == 'Apple_Terminal') && version_compare(preg_replace('/^ProductVersion:\\s*([0-9]+\\.[0-9]+)/ms', '$1', shell_exec('sw_vers')), '10.5', 'eq') && !Phing::getProperty('phing.logger.defaults')) {
        Phing::setProperty('phing.logger.defaults', new PhingFile(BUILD_DIRECTORY . '/agavi/phing/ansicolorlogger_osxleopard.properties'));
    } elseif (stripos(PHP_OS, 'Win') === 0) {
        $GLOBALS['LOGGER'] = 'phing.listener.DefaultLogger';
    }
    $GLOBALS['LOGGER'] = Phing::import($GLOBALS['LOGGER']);
    $logger = new AgaviProxyBuildLogger(new $GLOBALS['LOGGER']());
    $logger->setMessageOutputLevel($GLOBALS['VERBOSE'] ? Project::MSG_VERBOSE : Project::MSG_INFO);
    $logger->setOutputStream($GLOBALS['OUTPUT']);
    $logger->setErrorStream($GLOBALS['ERROR']);
    $project->addBuildListener($logger);
    $project->setInputHandler(new DefaultInputHandler());
    $project->setUserProperty('phing.file', $GLOBALS['BUILD']->getAbsolutePath());
    $project->setUserProperty('phing.version', Phing::getPhingVersion());
    /* Phing fucks with the cwd. Really, brilliant. */
    $project->setUserProperty('application.startdir', START_DIRECTORY);
    foreach ($GLOBALS['PROPERTIES'] as $name => $value) {
        $project->setUserProperty($name, $value);
    }
    $project->init();
    ProjectConfigurator::configureProject($project, $GLOBALS['BUILD']);
    Phing::setCurrentProject($project);
    if ($GLOBALS['SHOW_LIST'] === true) {
        input_help_display();
        $GLOBALS['OUTPUT']->write(PHP_EOL);
        $GLOBALS['OUTPUT']->write('Targets:' . PHP_EOL);
开发者ID:philippjenni,项目名称:icinga-web,代码行数:31,代码来源:agavi.php

示例7: copy

 /**
  * Copies the configuration from the proxied project into this project.
  *
  * @author     Noah Fontes <noah.fontes@bitextender.com>
  * @since      1.0.4
  */
 protected function copy()
 {
     foreach ($this->proxied->getBuildListeners() as $listener) {
         parent::addBuildListener($listener);
     }
     $this->setInputHandler($this->proxied->getInputHandler());
     foreach ($this->proxied->getTaskDefinitions() as $name => $class) {
         parent::addTaskDefinition($name, $class);
     }
     foreach ($this->proxied->getDataTypeDefinitions() as $name => $class) {
         parent::addDataTypeDefinition($name, $class);
     }
     /* Assign properties for consistency. */
     $this->proxied->copyUserProperties($this);
     $this->proxied->copyInheritedProperties($this);
     foreach ($this->proxied->getProperties() as $name => $property) {
         if (!AgaviProxyProject::isPropertyProtected($name) && $this->getProperty($name) === null) {
             parent::setNewProperty($name, $property);
         }
     }
     /* Add proxy targets to the new project. */
     foreach ($this->proxied->getTargets() as $name => $target) {
         $proxy = new AgaviProxyTarget();
         $proxy->setName($name);
         $proxy->setDescription($target->getDescription());
         $proxy->setTarget($target);
         parent::addTarget($name, $proxy);
     }
     parent::setUserProperty('phing.version', $this->proxied->getProperty('phing.version'));
     $this->setSystemProperties();
 }
开发者ID:horros,项目名称:agavi,代码行数:37,代码来源:AgaviProxyProject.class.php


注:本文中的Project::addBuildListener方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。