示例#1
0
gulp.task('prune-builtin', function(cb) {
  var builtins = pjson.builtins.map( function ( path ) {
    return Path.basename(path);
  });

  var results = Fs.readdirSync('builtin').filter(function(name) {
    return builtins.indexOf(name) === -1;
  });

  results = results.map(function( name ) {
    return Path.join( 'builtin', name );
  });

  Del( results, function ( err ) {
    if (err) {
      return cb(err);
    }

    results.forEach( function (name) {
      console.log( 'Prune builtin package ' + name );
    });

    cb();
  });
});
示例#2
0
gulp.task('prune-packages', function (cb) {
  var packages = [];
  for ( var p in pjson.packages ) {
    packages.push(Path.basename(p));
  }

  var results = Fs.readdirSync('packages').filter(function(name) {
    return packages.indexOf(name) === -1;
  });

  results = results.map(function( name ) {
    return Path.join( 'packages', name );
  });

  Del( results, function ( err ) {
    if (err) {
      return cb(err);
    }

    results.forEach( function (name) {
      console.log( 'Prune packages package ' + name );
    });

    cb();
  });
});
function _copyResources(srcPath, dstPath, resRoot) {
    if (! Fs.existsSync(srcPath)) {
        Editor.warn('%s is not found!', srcPath);
        return;
    }

    Fs.readdirSync(srcPath).forEach(function (file) {
        var absPath = Path.join(srcPath, file);
        var targetPath = Path.join(dstPath, file);
        if(Fs.lstatSync(absPath).isDirectory()) {
            if (file === ResAutoFolderName) {
                targetPath = dstPath;
            }

            if (!Fs.existsSync(targetPath)) {
                Fs.mkdirsSync(targetPath);
            }

            // recurse
            _copyResources(absPath, targetPath, resRoot);
        } else {
            var ext = Path.extname(absPath);
            if (ext === '.ccb') {
                targetPath = Path.join(tempCCBsPath, Path.relative(resRoot, absPath));
                Fs.copySync(absPath, targetPath);
                ccbFiles.push(targetPath);
            } else {
                if (!Fs.existsSync(targetPath)) {
                    Fs.copySync(absPath, targetPath);
                }
            }
        }
    });
}
Package.find = function ( name ) {
  for ( let i = 0; i < _packageSearchPaths.length; ++i ) {
    let searchPath = _packageSearchPaths[i];
    let list = Fs.readdirSync( searchPath );
    if ( list.indexOf(name) !== -1 ) {
      return Path.join( searchPath, name );
    }
  }

  return null;
};
function _rmdirRecursive (path) {
    if( Fs.existsSync(path) ) {
        Fs.readdirSync(path).forEach(function(file){
            var curPath = Path.join(path, file);
            if(Fs.lstatSync(curPath).isDirectory()) { // recurse
                _rmdirRecursive(curPath);
            } else { // delete file
                Fs.unlinkSync(curPath);
            }
        });
        Fs.rmdirSync(path);
    }
}
示例#6
0
function findNativeModulePathRecursive(path) {
  var nativePaths = [];
  if (Fs.existsSync(Path.join(path, 'binding.gyp'))) {
    nativePaths.push(path);
  } else {
    if (Fs.isDirSync(Path.join(path, 'node_modules'))) {
      var subPaths = Fs.readdirSync(Path.join(path, 'node_modules'));
      subPaths.forEach(function(subpath) {
        var subCollect = findNativeModulePathRecursive(Path.join(path, 'node_modules', subpath));
        if (subCollect.length > 0) {
          nativePaths = nativePaths.concat(subCollect);
        }
      });
    }
  }
  return nativePaths;
}
示例#7
0
      if ( cb ) {
        cb ();
      }
      return;
    }

    Editor.info(`=== Build ${path} ===`);
    Editor.Package.build(path, cb);
  },

  // run
  run ( path ) {
    // build all-packages
    if ( !path ) {
      path = Path.join( Editor.App.path, 'builtin' );
      let files = Fs.readdirSync(path);

      Async.eachSeries( files, (name, done) => {
        let packagePath = Path.join(path,name);
        if ( !Fs.isDirSync(packagePath) ) {
          done();
          return;
        }
        Builder.buildPackage(packagePath, done);
      }, err => {
        if ( err ) {
          Editor.error(`Building failed: ${err.message}`);
          process.exit(1);
        }
        process.exit(0);
      });