diff --git a/BuildServer/app.js b/BuildServer/app.js index 7713fff..1734324 100644 --- a/BuildServer/app.js +++ b/BuildServer/app.js @@ -20,9 +20,9 @@ var app = express(); app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); -app.set('gitpath', 'data/git'); -app.set('tmpcodepath', 'data/code'); -app.set('releasepath', 'data/release'); +app.set('gitpath', 'D:/data/mbs/git'); +app.set('tmpcodepath', 'D:/data/mbs/code'); +app.set('releasepath', 'D:/data/mbs/release'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); diff --git a/BuildServer/lib/builder.js b/BuildServer/lib/builder.js index e471900..1d7ec2d 100644 --- a/BuildServer/lib/builder.js +++ b/BuildServer/lib/builder.js @@ -12,7 +12,7 @@ var build = function (options, callback) { rev = options.rev, branch = options.branch, local = options.app.get('gitpath') + "/" + owner + "/" + reponame + ".git", - tmp = options.app.get('tmpcodepath') + "/" + owner + "/" + reponame + "/" + branch + "/" + rev, + tmp = options.app.get('tmpcodepath') + "/" + rev, exported = tmp + "/code", release = options.app.get('releasepath') + "/" + owner + "/" + reponame + "/" + branch + "/" + rev; @@ -40,6 +40,7 @@ var build = function (options, callback) { }, function(err) { if (err) { console.log(err); + return done(err); } console.log("Done loading from git"); fs.exists(exported + "/mbs.json", function (exists) { diff --git a/BuildServer/lib/task-processor.js b/BuildServer/lib/task-processor.js index 831cf56..da51f0d 100644 --- a/BuildServer/lib/task-processor.js +++ b/BuildServer/lib/task-processor.js @@ -14,7 +14,7 @@ var TaskProcessor = function (task, outerProcessor, callback) { taskWorker.process(); }, getOuterPrefix = function (prefix) { - return task.name + (prefix ? "/" + prefix : ""); + return (task.name && prefix) ? (task.name + "/" + prefix) : (task.name || "") + (prefix || ""); }, onError = function (message, prefix) { errors.push(message); diff --git a/BuildServer/lib/tasks/dotnetbuild.js b/BuildServer/lib/tasks/dotnetbuild.js index b3b6bb6..c7a9208 100644 --- a/BuildServer/lib/tasks/dotnetbuild.js +++ b/BuildServer/lib/tasks/dotnetbuild.js @@ -7,43 +7,44 @@ module.exports = function (params, processor) { process: function () { var result = "", error = "", - builder = spawn("../DotNetBuilder/bin/Debug/DotNetBuilder.exe"); + builder = spawn("../DotNetBuilder/bin/Debug/MicroBuildServer.DotNetBuilder.exe", ["compile"]); - wrapper.stdout.on('data', function (data) { + builder.stdout.on('data', function (data) { result += data; }); - wrapper.stderr.on('data', function (data) { + builder.stderr.on('data', function (data) { error += data; }); - wrapper.on('exit', function (code) { + builder.on('exit', function (code) { if (code !== 0) { error = "Return code is " + code + "\r\n" + error; processor.onError(error); - return done(); + return processor.done(); } var report = JSON.parse(result); - foreach (var i = 0; i < report.length; i++) { - switch(report[i].Type) { + var messages = report.Messages; + for (var i = 0; i < messages.length; i++) { + switch(messages[i].Type) { case "info": - processor.onError(report[i].Body); + processor.onInfo(messages[i].Body); break; case "warn": - processor.onError(report[i].Body); + processor.onWarn(messages[i].Body); break; default: - processor.onError(report[i].Body); + processor.onError(messages[i].Body); break; } } - return done(); + return processor.done(); }); - wrapper.stdin.write({ - "SolutionPath": process.context.exported + "/" + params.solution, - "OutputPath": process.context.release + "/" + params.solution + "/" - }); - wrapper.stdin.end(); + builder.stdin.write(JSON.stringify({ + "SolutionPath": processor.context.exported + "/" + params.solution, + "OutputPath": processor.context.release + "/" + params.solution + "/" + })); + builder.stdin.end(); } }; }; diff --git a/BuildServer/routes/manual.js b/BuildServer/routes/manual.js index 6728de1..d46df5a 100644 --- a/BuildServer/routes/manual.js +++ b/BuildServer/routes/manual.js @@ -6,6 +6,7 @@ exports.get = function (req, res) { exports.post = function (req, res) { var options = req.body; + options.url = "https://github.pos/" + options.owner + "/" + options.reponame; options.app = req.app; builder.build(options, function (err, result) { diff --git a/BuildServer/views/manual.jade b/BuildServer/views/manual.jade index 2641bf2..e3d8678 100644 --- a/BuildServer/views/manual.jade +++ b/BuildServer/views/manual.jade @@ -5,7 +5,7 @@ block content form(method="POST") table - tr + //tr td URL td: input(type="text", name="url", value="https://github.pos/igor-prokhorov/test-github-integration") tr diff --git a/BuildServer/views/status-image.jade b/BuildServer/views/status-image.jade index e65f30f..636244c 100644 --- a/BuildServer/views/status-image.jade +++ b/BuildServer/views/status-image.jade @@ -1,13 +1,14 @@ doctype xml --var fills = {Warn: "yellow", OK: "green" } +-var fills = {Warn: "yellow", OK: "lightgreen" } -var colors = {Warn: "black", OK: "black" } -var fill = fills[status] || "red" -var color = colors[status] || "white" -svg(xmlns="http://www.w3.org/2000/svg", xmlns:xlink="http://www.w3.org/1999/xlink", version="1.1", width="800px", height=(message?"100px":"80px")) +svg(xmlns="http://www.w3.org/2000/svg", xmlns:xlink="http://www.w3.org/1999/xlink", version="1.1", width="800px", height=(message?"110px":"90px")) a(xlink:href="/status/" + [owner, reponame, branchName, rev].join("/")) rect(width="100%", height="100%", fill=fill) - text(x=20, y=50, font-size=36, font-weight="bold", fill=color) Build status: #{status} + text(x=18, y=47, font-size=36, font-weight="bold", fill=color) Build status: #{status} + text(x=20, y=70, font-size=12, fill=color) Owner: #{owner}, reponame: #{reponame}, branch: #{branchName}, rev: #{rev} if (message) - text(x=20, y=80, font-size=18, fill=color) #{message} + text(x=20, y=95, font-size=18, fill=color) #{message} diff --git a/DotNetBuilder/Compiler.cs b/DotNetBuilder/Compiler.cs index 842e5b8..6afc7bf 100644 --- a/DotNetBuilder/Compiler.cs +++ b/DotNetBuilder/Compiler.cs @@ -61,7 +61,7 @@ namespace MicroBuildServer.DotNetBuilder private string GetLine(string format, params object[] args) { var result = new string('\t', indent) + string.Format(format, args); - Console.WriteLine(result); + //Console.WriteLine(result); return result; } } @@ -85,10 +85,6 @@ namespace MicroBuildServer.DotNetBuilder var buildResult = BuildManager.DefaultBuildManager.Build(parameters, buildRequest); - Console.WriteLine("BuildResult: {0}", buildResult.OverallResult); - Console.WriteLine("Targets built: {0}", string.Join(", ", buildResult.ResultsByTarget.Keys)); - Console.WriteLine("Build items: {0}", string.Join(", ", buildResult.ResultsByTarget["Build"].Items.Select(x => x.ItemSpec))); - return new Response { Messages = logger.Messages.Select(x => new Response.Message {Type = x.Item1, Body = x.Item2}).ToArray(),