[ 
https://issues.apache.org/jira/browse/CB-10519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15148431#comment-15148431
 ] 

ASF GitHub Bot commented on CB-10519:
-------------------------------------

Github user TimBarham commented on a diff in the pull request:

    https://github.com/apache/cordova-lib/pull/384#discussion_r52993992
  
    --- Diff: cordova-lib/src/cordova/build.js ---
    @@ -17,22 +17,26 @@
         under the License.
     */
     
    -var cordovaUtil      = require('./util'),
    -    HooksRunner           = require('../hooks/HooksRunner');
    +var Q = require('q'),
    +    cordovaUtil = require('./util'),
    +    HooksRunner = require('../hooks/HooksRunner');
     
     // Returns a promise.
     module.exports = function build(options) {
    -    var projectRoot = cordovaUtil.cdProjectRoot();
    -    options = cordovaUtil.preProcessOptions(options);
    -
    -    // fire build hooks
    -    var hooksRunner = new HooksRunner(projectRoot);
    -    return hooksRunner.fire('before_build', options)
    -    .then(function() {
    -        return require('./cordova').raw.prepare(options);
    -    }).then(function() {
    -        return require('./cordova').raw.compile(options);
    -    }).then(function() {
    -        return hooksRunner.fire('after_build', options);
    +    return Q().then(function() {
    +        var opts = cordovaUtil.preProcessOptions(options);
    +        var projectRoot = cordovaUtil.cdProjectRoot();
    +        return [new HooksRunner(projectRoot), opts];
    +    })
    +    .spread(function (hooksRunner, options) {
    --- End diff --
    
    Well, that'd be my preference, as the code ends up much simpler and easy to 
read, to my mind. Otherwise we're arbitrarily splitting out the synchronous 
part of the process into its own separate promise, when there's no need to. But 
ultimately it's up to you :smile:.


> Using cordova.raw API outside of cordova project results in uncaught 
> exception instead or promise rejection
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: CB-10519
>                 URL: https://issues.apache.org/jira/browse/CB-10519
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CordovaLib
>    Affects Versions: 6.0.0
>            Reporter: Vladimir Kotikov
>            Assignee: Vladimir Kotikov
>              Labels: triaged
>
> When trying to {{cordova.raw.platfom('add', ...)}} outside of cordova project 
> the following error message logged to console:
> > Error: Current working directory is not a Cordova-based project.
> However, the error callback for {{cordova.raw.platfom('add', ...)}} isn't 
> called at all.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to