BuildAtomicNET.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. var fs = require('fs-extra');
  2. var path = require("path");
  3. var host = require("./Host");
  4. var os = require('os');
  5. var config = require('./BuildConfig');
  6. var atomicRoot = config.atomicRoot;
  7. namespace('build', function() {
  8. task('atomicnetdocs', {
  9. async: true
  10. }, function() {
  11. var assemblyFolder = atomicRoot + "Artifacts/AtomicNET/" + config["config"] + "/Desktop/";
  12. var templateFile = atomicRoot + "Build/Docs/AtomicNET/atomictemplate.xsl";
  13. var sourceAssembly = assemblyFolder + "AtomicNET.dll";
  14. var sourceAssemblyXML = assemblyFolder + "AtomicNET.xml";
  15. var outputFolder = atomicRoot + "Artifacts/AtomicNET/Docs/";
  16. // Make sure the assemblies exist, this is only an issue when running the task
  17. // directly with --task=build:atomicnetdocs
  18. if (!fs.existsSync(sourceAssembly) || !fs.existsSync(sourceAssemblyXML)) {
  19. throw new Error("\n\nSource assembly doesn't exist in: " + assemblyFolder + "\nPlease try specifying --debug?\n\n");
  20. }
  21. host.cleanCreateDir(outputFolder)
  22. var cmds = [];
  23. cmds.push("mdoc update -i \"" + sourceAssemblyXML + "\" \"" + sourceAssembly +
  24. "\" -o \"" + outputFolder + "xml\"" );
  25. // mdoc export-html --template=atomictemplate.xsl -o html xml
  26. cmds.push("mdoc export-html --template=\"" + templateFile +
  27. "\" -o \"" + outputFolder +"html\" \"" + outputFolder + "xml\"");
  28. jake.exec(cmds, function() {
  29. complete();
  30. }, {
  31. printStdout: true,
  32. printStderr: true
  33. });
  34. });
  35. task('atomicnet', {
  36. async: true
  37. }, function() {
  38. platforms = "-platform desktop";
  39. if (config["with-android"])
  40. platforms += " -platform android";
  41. if (config["with-ios"])
  42. platforms += " -platform ios";
  43. var cmds = [];
  44. var netCmd = host.atomicTool + " net compile " + atomicRoot + "Script/AtomicNET/AtomicNETProject.json " + platforms + " -config " + config["config"];
  45. console.log(netCmd);
  46. cmds.push(netCmd);
  47. jake.exec(cmds, function() {
  48. complete();
  49. }, {
  50. printStdout: true,
  51. printStderr: true
  52. });
  53. });
  54. }); // end of build namespace