|
|
@@ -1,3 +1,4 @@
|
|
|
+var fs = require('fs-extra');
|
|
|
var host = require("./Host");
|
|
|
var config = require("./BuildConfig");
|
|
|
|
|
|
@@ -96,5 +97,68 @@ namespace('package', function() {
|
|
|
});
|
|
|
|
|
|
});
|
|
|
+
|
|
|
+ task('linux_editor', {
|
|
|
+ async: true
|
|
|
+ }, function() {
|
|
|
+
|
|
|
+ // check if all the commands exist : fakeroot, dpkg-deb
|
|
|
+
|
|
|
+ var editorAppFolder = config.editorAppFolder;
|
|
|
+ var srcDir = config.artifactsRoot + "AtomicEditor/";
|
|
|
+ var dstDir = config.artifactsRoot + "Dist/";
|
|
|
+ var dstDeb = config.artifactsRoot + "AtomicGameEngine_0.0.8_amd64.deb";
|
|
|
+
|
|
|
+ host.cleanCreateDir(dstDir); // create new staging directory
|
|
|
+ fs.removeSync(dstDeb); // remove old one, if there
|
|
|
+
|
|
|
+ // copy in the two magic dirs
|
|
|
+ fs.copySync(config.atomicRoot + "Build/Linux/DEBIAN", dstDir + "DEBIAN");
|
|
|
+ fs.copySync(config.atomicRoot + "Build/Linux/usr", dstDir + "usr" );
|
|
|
+
|
|
|
+ // copy in the atomic dir
|
|
|
+ fs.copySync(editorAppFolder, dstDir + "usr/share/AtomicGameEngine" );
|
|
|
+
|
|
|
+ //copy in menu pixmap
|
|
|
+ fs.copySync(config.atomicRoot + "Build/Linux/atomic_menu.xpm", dstDir + "usr/share/AtomicGameEngine/atomic_menu.xpm" );
|
|
|
+
|
|
|
+ // get rid of some lintian errors
|
|
|
+ fs.removeSync( dstDir + "usr/share/AtomicGameEngine/Resources/ToolData/.gitignore");
|
|
|
+ fs.removeSync( dstDir + "usr/share/AtomicGameEngine/Resources/ToolData/CodeEditor/.gitignore");
|
|
|
+ fs.removeSync( dstDir + "usr/share/AtomicGameEngine/Resources/ToolData/Deployment/Android/assets/.gitignore");
|
|
|
+ fs.removeSync( dstDir + "usr/share/AtomicGameEngine/Resources/ToolData/ProjectTemplates/.gitignore");
|
|
|
+ fs.removeSync( dstDir + "usr/share/AtomicGameEngine/Resources/ToolData/TypeScriptSupport/.gitignore");
|
|
|
+
|
|
|
+ cmds = [];
|
|
|
+
|
|
|
+ // go to staging root directory
|
|
|
+ cmds.push("cd " + config.artifactsRoot + " ;" );
|
|
|
+
|
|
|
+ // get rid of some more lintian errors
|
|
|
+ cmds.push("/usr/bin/strip --strip-unneeded " + dstDir + "usr/share/AtomicGameEngine/AtomicEditor ;" );
|
|
|
+ cmds.push("/usr/bin/strip --strip-unneeded " + dstDir + "usr/share/AtomicGameEngine/Resources/ToolData/Deployment/Linux/AtomicPlayer ;" );
|
|
|
+ cmds.push("/bin/chmod oug-wx " + dstDir + "usr/share/AtomicGameEngine/libcef.so ;");
|
|
|
+
|
|
|
+ // needs fakeroot for package file ownership issues
|
|
|
+ cmds.push("/usr/bin/fakeroot /usr/bin/dpkg-deb --build " + dstDir + ";");
|
|
|
+
|
|
|
+ // fix the deb name
|
|
|
+ cmds.push("/bin/mv " + config.artifactsRoot + "Dist.deb " + dstDeb + " ;");
|
|
|
+
|
|
|
+ // clean up the staging area
|
|
|
+ cmds.push("/bin/rm -rf "+ dstDir + " ;");
|
|
|
+
|
|
|
+ jake.exec(cmds, function() {
|
|
|
+
|
|
|
+ console.log("Packaged Linux Editor to " + dstDeb );
|
|
|
+
|
|
|
+ complete();
|
|
|
+
|
|
|
+ }, {
|
|
|
+ printStdout: true,
|
|
|
+ printStderr: true
|
|
|
+ });
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
});
|