Changeset 575

Show
Ignore:
Timestamp:
04/19/07 22:17:28 (2 years ago)
Author:
schst
Message:

Catch at least some errors. If stubClassLoader::load() will throw a ClassNotFoundException?, the rest of the errors will be caught.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/info/phing/tasks/stubGenerateJsonRpcProxiesTask.php

    r572 r575  
    7979        $services = $xjconf->getConfigValue('services'); 
    8080        $serviceURL = $xjconf->getConfigValue('service-url'); 
     81        if (empty($serviceURL)) { 
     82            $this->log('Cannot generate JSON-RPC clients.' , Project::MSG_ERR); 
     83            $this->log('No service URL specified in ' . stubConfig::getConfigPath() . '/xml/json-rpc-service.xml.' , Project::MSG_ERR); 
     84            throw new BuildException('No service URL specified in ' . stubConfig::getConfigPath() . '/xml/json-rpc-service.xml.'); 
     85        } 
    8186        $generator = new stubJsonRpcProxyGenerator($serviceURL); 
    8287        $this->log("Using service URL {$serviceURL}"); 
     
    8590            $jsCode = $generator->generateJavascriptProxy($serviceConfig['className'], $serviceConfig['name']); 
    8691            $targetFile = $this->targetFolder . '/' . $serviceConfig['name'] . '.js'; 
    87             file_put_contents($targetFile, $jsCode); 
    88             $this->log("Wrote proxy for {$serviceConfig['className']} to {$targetFile}"); 
     92            if (@file_put_contents($targetFile, $jsCode)) {; 
     93                $this->log("Wrote proxy for {$serviceConfig['className']} to {$targetFile}."); 
     94            } else { 
     95                $this->log("Cannot write proxy for {$serviceConfig['className']} to {$targetFile}.", Project::MSG_ERR); 
     96                throw new BuildException("Cannot write proxy classes to {$targetFile}."); 
     97            } 
    8998            $fullJsCode .= $jsCode; 
    9099        } 
    91100        $targetFile = $this->targetFolder . '/allClients.js'; 
    92         file_put_contents($targetFile, $fullJsCode); 
    93         $this->log("Wrote proxy for all classes to {$targetFile}"); 
     101        if (@file_put_contents($targetFile, $fullJsCode)) {; 
     102            $this->log("Wrote proxy for all classes to {$targetFile}."); 
     103        } else { 
     104            $this->log("Cannot write proxy classes to {$targetFile}.", Project::MSG_ERR); 
     105            throw new BuildException("Cannot write proxy classes to {$targetFile}."); 
     106        } 
    94107    } 
    95108}