build-app-settings.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/env node
  2. 'use strict';
  3. var cordova_util, ConfigParser;
  4. (function() {
  5. var cordovaLib = 'cordova',
  6. configParserLib = 'ConfigParser';
  7. try {
  8. cordova_util = require (cordovaLib + '/src/util');
  9. } catch (e) {
  10. cordovaLib = 'cordova/node_modules/cordova-lib';
  11. configParserLib = 'configparser/ConfigParser';
  12. }
  13. try {
  14. cordova_util = require (cordovaLib + '/src/cordova/util');
  15. } catch (e) {
  16. console.error ('cordova error', e);
  17. }
  18. try {
  19. ConfigParser = cordova_util.config_parser || cordova_util.configparser;
  20. if (!ConfigParser) {
  21. ConfigParser = require(cordovaLib + '/src/' + configParserLib);
  22. }
  23. } catch (e) {
  24. console.error ('cordova error', e);
  25. }
  26. })();
  27. var Q = require('q');
  28. var path = require('path');
  29. var fs = require('./lib/filesystem')(Q, require('fs'), path);
  30. var settings = require("./lib/settings")(fs, path);
  31. var android = require('./lib/android')(fs, path, require('elementtree'), cordova_util, ConfigParser);
  32. var ios = require('./lib/ios')(Q, fs, path, require('plist'), require('xcode'));
  33. return settings.get()
  34. .then(function (config) {
  35. return Q.all([
  36. android.build(config),
  37. ios.build(config)
  38. ]);
  39. })
  40. .catch(function(err) {
  41. if (err.code === 'NEXIST') {
  42. console.error('app-settings.json not found');
  43. return;
  44. }
  45. console.error(err);
  46. console.log(err.stack);
  47. throw err;
  48. });