function archive()

in cmds/package.js [57:94]


function archive(argv) {
  var config = loadConfig(argv);
  if(config === undefined) {
    logger.error(configFile,'not found in the project.');
    throw "Unable to find configuration " + configFile;
  }

  var destDir = process.cwd();
  if(argv.destination && 
    fs.existsSync(argv.destination) && 
    fs.statSync(argv.destination).isDirectory()) {
      destDir = argv.destination
  }

  var packagePath = path.join(destDir, packageName(config));

  logger.log('package folder', argv.folder, 'as', packagePath);
  var output = fs.createWriteStream(packagePath);
  var archive = archiver('zip');

  archive.on('error', (err) => { throw err });

  archive.pipe(output);

  var jcrRoot = path.join(argv.folder, 'jcr_root');
  archive.directory(jcrRoot, 'jcr_root', { name: 'jcr_root' });

  var metainf = path.join(argv.folder, 'META-INF');
  archive.directory(metainf, 'META-INF', { name: 'META-INF' });

  addConfigDefaults(config);
  var xml = propertiesXMLFromJson(config);
  logger.debug('Writing generated META-INF/vault/properties.xml');
  logger.debug(xml);
  archive.append(xml, {name: 'META-INF/vault/properties.xml'});

  archive.finalize();
}