@clickview/ship-it 0.0.3 → 0.0.4-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/config.json +5 -0
  2. package/lib/config.json +5 -0
  3. package/lib/src/api-clients/GitLabApiClient.js +342 -0
  4. package/lib/src/api-clients/git-lab/GitLabApiClient.js +24 -0
  5. package/lib/src/api-clients/git-lab/GitLabMapper.js +1 -0
  6. package/lib/src/api-clients/index.js +1 -0
  7. package/lib/src/api-clients/team-city/TeamCityApiClient.js +85 -0
  8. package/lib/src/commands/BumpPackagesCommand.js +2 -4
  9. package/lib/src/commands/CommitPackageVersionsCommand.js +78 -0
  10. package/lib/src/commands/CreateBranchCommand.js +4 -6
  11. package/lib/src/commands/CreateMergeRequestCommand.js +5 -7
  12. package/lib/src/commands/CreateReleaseNotesCommand.js +2 -4
  13. package/lib/src/commands/InstallPackagesCommand.js +1 -3
  14. package/lib/src/commands/ReleaseCommand.js +17 -10
  15. package/lib/src/commands/StartConsumingProjectBuildsCommand.js +76 -0
  16. package/lib/src/commands/StatusCommand.js +1 -3
  17. package/lib/src/commands/ValidateMergeRequestCommand.js +1 -3
  18. package/lib/src/commands/VersionCommand.js +1 -3
  19. package/lib/src/commands/index.js +1 -0
  20. package/lib/src/constants/CommandTypeMapping.js +1 -0
  21. package/lib/src/constants/TeamCityBuildIDs.js +13 -0
  22. package/lib/src/constants/index.js +18 -0
  23. package/lib/src/index.js +1 -1
  24. package/lib/src/interfaces/ShipItOptions.js +2 -0
  25. package/lib/src/interfaces/command-cli-options/MilestoneCommandCliOptions.js +2 -0
  26. package/lib/src/interfaces/command-cli-options/ReleaseCommandCliOptions.js +2 -0
  27. package/lib/src/interfaces/command-cli-options/index.js +18 -0
  28. package/lib/src/interfaces/command-options/CommitPackageVersionsCommandOptions.js +2 -0
  29. package/lib/src/interfaces/command-options/DockerMilestoneCommandOptions.js +2 -0
  30. package/lib/src/interfaces/command-options/ReleaseCommandOptions.js +2 -0
  31. package/lib/src/interfaces/command-options/index.js +2 -1
  32. package/lib/src/interfaces/index.js +1 -0
  33. package/lib/src/inversify.config.js +8 -0
  34. package/lib/src/services/GitLabService.js +33 -0
  35. package/lib/src/services/TeamCityService.js +34 -0
  36. package/lib/src/services/index.js +1 -0
  37. package/lib/src/startup/AddMilestoneCommand.js +13 -7
  38. package/lib/src/startup/GetAction.js +68 -0
  39. package/lib/src/startup/SetupCommands.js +49 -27
  40. package/lib/src/tasks/CommitLocalPackagesTask.js +137 -0
  41. package/lib/src/tasks/CreateBranchTask.js +37 -19
  42. package/lib/src/tasks/InstallPackagesTask.js +26 -47
  43. package/lib/src/tasks/StartConsumingProjectBuildsTask.js +143 -0
  44. package/lib/src/tasks/StartMonorepoBuildTask.js +95 -0
  45. package/lib/src/tasks/ValidateTask.js +2 -2
  46. package/lib/src/tasks/index.js +2 -0
  47. package/lib/src/types.js +6 -0
  48. package/lib/src/utils/BranchNames.js +2 -0
  49. package/lib/src/utils/ProjectIds.js +3 -3
  50. package/package.json +4 -3
@@ -66,11 +66,9 @@ var CreateReleaseNotesCommand = /** @class */ (function () {
66
66
  case 1:
67
67
  cont = _a.sent();
68
68
  if (!cont)
69
- return [2 /*return*/];
69
+ return [2 /*return*/, false];
70
70
  return [4 /*yield*/, this.createReleaseNotesTask.run(options)];
71
- case 2:
72
- _a.sent();
73
- return [2 /*return*/];
71
+ case 2: return [2 /*return*/, _a.sent()];
74
72
  }
75
73
  });
76
74
  });
@@ -61,9 +61,7 @@ var InstallPackagesCommand = /** @class */ (function () {
61
61
  return __generator(this, function (_a) {
62
62
  switch (_a.label) {
63
63
  case 0: return [4 /*yield*/, this._installPackagesTask.run(options)];
64
- case 1:
65
- _a.sent();
66
- return [2 /*return*/];
64
+ case 1: return [2 /*return*/, _a.sent()];
67
65
  }
68
66
  });
69
67
  });
@@ -53,7 +53,7 @@ require("reflect-metadata");
53
53
  var inversify_1 = require("inversify");
54
54
  var types_1 = require("../types");
55
55
  var ReleaseCommand = /** @class */ (function () {
56
- function ReleaseCommand(validateTask, versionTask, validateDescriptionsTask, validateCommitsTask, createBranchTask, bumpVersionTxtTask, createMergeRequestTask) {
56
+ function ReleaseCommand(validateTask, versionTask, validateDescriptionsTask, validateCommitsTask, createBranchTask, bumpVersionTxtTask, createMergeRequestTask, startMonorepoBuildTask) {
57
57
  this.validateTask = validateTask;
58
58
  this.versionTask = versionTask;
59
59
  this.validateDescriptionsTask = validateDescriptionsTask;
@@ -61,6 +61,7 @@ var ReleaseCommand = /** @class */ (function () {
61
61
  this.createBranchTask = createBranchTask;
62
62
  this.bumpVersionTxtTask = bumpVersionTxtTask;
63
63
  this.createMergeRequestTask = createMergeRequestTask;
64
+ this.startMonorepoBuildTask = startMonorepoBuildTask;
64
65
  }
65
66
  ReleaseCommand.prototype.run = function (options) {
66
67
  return __awaiter(this, void 0, void 0, function () {
@@ -72,36 +73,41 @@ var ReleaseCommand = /** @class */ (function () {
72
73
  cont = _a.sent();
73
74
  // Check if we want to continue with inquirer?
74
75
  if (!cont)
75
- return [2 /*return*/];
76
+ return [2 /*return*/, false];
76
77
  return [4 /*yield*/, this.versionTask.run(options)];
77
78
  case 2:
78
79
  cont = _a.sent();
79
80
  if (!cont)
80
- return [2 /*return*/];
81
+ return [2 /*return*/, false];
81
82
  return [4 /*yield*/, this.validateDescriptionsTask.run(options)];
82
83
  case 3:
83
84
  cont = _a.sent();
84
85
  if (!cont)
85
- return [2 /*return*/];
86
+ return [2 /*return*/, false];
86
87
  return [4 /*yield*/, this.validateCommitsTask.run(options)];
87
88
  case 4:
88
89
  cont = _a.sent();
89
90
  if (!cont)
90
- return [2 /*return*/];
91
+ return [2 /*return*/, false];
91
92
  return [4 /*yield*/, this.createBranchTask.run(options)];
92
93
  case 5:
93
94
  cont = _a.sent();
94
95
  if (!cont)
95
- return [2 /*return*/];
96
+ return [2 /*return*/, false];
96
97
  return [4 /*yield*/, this.bumpVersionTxtTask.run(options)];
97
98
  case 6:
98
99
  cont = _a.sent();
99
100
  if (!cont)
100
- return [2 /*return*/];
101
+ return [2 /*return*/, false];
101
102
  return [4 /*yield*/, this.createMergeRequestTask.run(options)];
102
103
  case 7:
103
- _a.sent();
104
- return [2 /*return*/];
104
+ cont = _a.sent();
105
+ if (!cont)
106
+ return [2 /*return*/, false];
107
+ if (!options.triggerMonorepoBuild)
108
+ return [2 /*return*/, false];
109
+ return [4 /*yield*/, this.startMonorepoBuildTask.run(options)];
110
+ case 8: return [2 /*return*/, _a.sent()];
105
111
  }
106
112
  });
107
113
  });
@@ -115,7 +121,8 @@ var ReleaseCommand = /** @class */ (function () {
115
121
  __param(4, (0, inversify_1.inject)(types_1.TASKS.CreateBranchTask)),
116
122
  __param(5, (0, inversify_1.inject)(types_1.TASKS.BumpVersionTxtTask)),
117
123
  __param(6, (0, inversify_1.inject)(types_1.TASKS.CreateMergeRequestTask)),
118
- __metadata("design:paramtypes", [Object, Object, Object, Object, Object, Object, Object])
124
+ __param(7, (0, inversify_1.inject)(types_1.TASKS.StartMonorepoBuildTask)),
125
+ __metadata("design:paramtypes", [Object, Object, Object, Object, Object, Object, Object, Object])
119
126
  ], ReleaseCommand);
120
127
  return ReleaseCommand;
121
128
  }());
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (_) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.StartConsumingProjectBuildsCommand = void 0;
52
+ require("reflect-metadata");
53
+ var inversify_1 = require("inversify");
54
+ var types_1 = require("../types");
55
+ var StartConsumingProjectBuildsCommand = /** @class */ (function () {
56
+ function StartConsumingProjectBuildsCommand(startConsumingProjectBuildsTask) {
57
+ this.startConsumingProjectBuildsTask = startConsumingProjectBuildsTask;
58
+ }
59
+ StartConsumingProjectBuildsCommand.prototype.run = function (options) {
60
+ return __awaiter(this, void 0, void 0, function () {
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0: return [4 /*yield*/, this.startConsumingProjectBuildsTask.run(options)];
64
+ case 1: return [2 /*return*/, _a.sent()];
65
+ }
66
+ });
67
+ });
68
+ };
69
+ StartConsumingProjectBuildsCommand = __decorate([
70
+ (0, inversify_1.injectable)(),
71
+ __param(0, (0, inversify_1.inject)(types_1.TASKS.StartConsumingProjectBuildsTask)),
72
+ __metadata("design:paramtypes", [Object])
73
+ ], StartConsumingProjectBuildsCommand);
74
+ return StartConsumingProjectBuildsCommand;
75
+ }());
76
+ exports.StartConsumingProjectBuildsCommand = StartConsumingProjectBuildsCommand;
@@ -61,9 +61,7 @@ var StatusCommand = /** @class */ (function () {
61
61
  return __generator(this, function (_a) {
62
62
  switch (_a.label) {
63
63
  case 0: return [4 /*yield*/, this.validateTask.run(options)];
64
- case 1:
65
- _a.sent();
66
- return [2 /*return*/];
64
+ case 1: return [2 /*return*/, _a.sent()];
67
65
  }
68
66
  });
69
67
  });
@@ -61,9 +61,7 @@ var ValidateMergeRequestCommand = /** @class */ (function () {
61
61
  return __generator(this, function (_a) {
62
62
  switch (_a.label) {
63
63
  case 0: return [4 /*yield*/, this.validateMergeRequestTask.run(options)];
64
- case 1:
65
- _a.sent();
66
- return [2 /*return*/];
64
+ case 1: return [2 /*return*/, _a.sent()];
67
65
  }
68
66
  });
69
67
  });
@@ -61,9 +61,7 @@ var VersionCommand = /** @class */ (function () {
61
61
  return __generator(this, function (_a) {
62
62
  switch (_a.label) {
63
63
  case 0: return [4 /*yield*/, this.versionTask.run(options)];
64
- case 1:
65
- _a.sent();
66
- return [2 /*return*/];
64
+ case 1: return [2 /*return*/, _a.sent()];
67
65
  }
68
66
  });
69
67
  });
@@ -20,6 +20,7 @@ __exportStar(require("./CreateMergeRequestCommand"), exports);
20
20
  __exportStar(require("./CreateReleaseNotesCommand"), exports);
21
21
  __exportStar(require("./InstallPackagesCommand"), exports);
22
22
  __exportStar(require("./ReleaseCommand"), exports);
23
+ __exportStar(require("./StartConsumingProjectBuildsCommand"), exports);
23
24
  __exportStar(require("./StatusCommand"), exports);
24
25
  __exportStar(require("./ValidateMergeRequestCommand"), exports);
25
26
  __exportStar(require("./VersionCommand"), exports);
@@ -11,5 +11,6 @@ exports.CommandTypeMapping = {
11
11
  'create-notes': types_1.COMMANDS.CreateReleaseNotesCommand,
12
12
  'install-packages': types_1.COMMANDS.InstallPackagesCommand,
13
13
  'bump-packages': types_1.COMMANDS.BumpPackagesCommand,
14
+ 'start-consuming-project-builds': types_1.COMMANDS.StartConsumingProjectBuildsCommand,
14
15
  'validate-mr': types_1.COMMANDS.ValidateMergeRequestCommand
15
16
  };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TeamCityBuildIds = void 0;
5
+ var utils_1 = require("../utils");
6
+ exports.TeamCityBuildIds = (_a = {},
7
+ _a[utils_1.PROJECT_NAMES.monorepo] = 'Frontend_BuildAndPublishReleaseCandidate',
8
+ _a[utils_1.PROJECT_NAMES.online] = 'online_web_build_and_package',
9
+ _a[utils_1.PROJECT_NAMES.curator] = 'curator_web_build_and_package',
10
+ _a[utils_1.PROJECT_NAMES.cloud] = 'ClickViewCloud_BuildAndPackageDocker',
11
+ _a[utils_1.PROJECT_NAMES.reports] = 'Web_AnalyticsWeb_BuildAndPackageDocker',
12
+ _a[utils_1.PROJECT_NAMES.lite] = 'ClickViewLiteWeb_BuildAndPackageDocker',
13
+ _a);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./CommandTypeMapping"), exports);
18
+ __exportStar(require("./MonorepoPackageJsonFiles"), exports);
package/lib/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
  "use strict";
3
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MilestoneCommandCliOptions"), exports);
18
+ __exportStar(require("./ReleaseCommandCliOptions"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./BumpPackagesCommandOptions"), exports);
18
- __exportStar(require("./InstallPackagesCommandOptions"), exports);
18
+ __exportStar(require("./DockerMilestoneCommandOptions"), exports);
19
19
  __exportStar(require("./MilestoneCommandOptions"), exports);
20
20
  __exportStar(require("./ValidateMRCommandOptions"), exports);
21
+ __exportStar(require("./ReleaseCommandOptions"), exports);
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./command-cli-options"), exports);
17
18
  __exportStar(require("./command-options"), exports);
18
19
  __exportStar(require("./models"), exports);
19
20
  __exportStar(require("./view-models"), exports);
@@ -13,14 +13,17 @@ function createContainer(config) {
13
13
  * Misc
14
14
  */
15
15
  container.bind(types_1.MISC.GitLabConfig).toConstantValue(config.gitLab);
16
+ container.bind(types_1.MISC.TeamCityConfig).toConstantValue(config.teamCity);
16
17
  /**
17
18
  * Clients
18
19
  */
19
20
  container.bind(types_1.API_CLIENTS.GitLabApiClient).to(api_clients_1.GitLabApiClient);
21
+ container.bind(types_1.API_CLIENTS.TeamCityApiClient).to(api_clients_1.TeamCityApiClient);
20
22
  /**
21
23
  * Services
22
24
  */
23
25
  container.bind(types_1.SERVICES.GitLabService).to(services_1.GitLabService).inSingletonScope();
26
+ container.bind(types_1.SERVICES.TeamCityService).to(services_1.TeamCityService).inSingletonScope();
24
27
  /**
25
28
  * Tasks
26
29
  */
@@ -36,6 +39,9 @@ function createContainer(config) {
36
39
  container.bind(types_1.TASKS.BumpPackagesTask).to(tasks_1.BumpPackagesTask);
37
40
  container.bind(types_1.TASKS.CommitPackageVersionsTask).to(tasks_1.CommitPackageVersionsTask);
38
41
  container.bind(types_1.TASKS.ValidateMergeRequestTask).to(tasks_1.ValidateMergeRequestTask);
42
+ container.bind(types_1.TASKS.StartMonorepoBuildTask).to(tasks_1.StartMonorepoBuildTask);
43
+ container.bind(types_1.TASKS.StartConsumingProjectBuildsTask)
44
+ .to(tasks_1.StartConsumingProjectBuildsTask);
39
45
  /**
40
46
  * Commands
41
47
  */
@@ -48,6 +54,8 @@ function createContainer(config) {
48
54
  container.bind(types_1.COMMANDS.InstallPackagesCommand).to(commands_1.InstallPackagesCommand);
49
55
  container.bind(types_1.COMMANDS.BumpPackagesCommand).to(commands_1.BumpPackagesCommand);
50
56
  container.bind(types_1.COMMANDS.ValidateMergeRequestCommand).to(commands_1.ValidateMergeRequestCommand);
57
+ container.bind(types_1.COMMANDS.StartConsumingProjectBuildsCommand)
58
+ .to(commands_1.StartConsumingProjectBuildsCommand);
51
59
  return container;
52
60
  }
53
61
  exports.createContainer = createContainer;
@@ -202,6 +202,39 @@ var GitLabService = /** @class */ (function () {
202
202
  GitLabService.prototype.getMilestone = function (projectId, milestoneName) {
203
203
  return this.apiClient.getMilestone(projectId, milestoneName);
204
204
  };
205
+ GitLabService.prototype.getReleaseBranchNameMilestone = function (projectId, milestone) {
206
+ return __awaiter(this, void 0, void 0, function () {
207
+ var releaseMR;
208
+ return __generator(this, function (_a) {
209
+ switch (_a.label) {
210
+ case 0: return [4 /*yield*/, this.apiClient.getReleaseMergeRequest(projectId, milestone)];
211
+ case 1:
212
+ releaseMR = _a.sent();
213
+ if (!releaseMR)
214
+ return [2 /*return*/, null];
215
+ return [2 /*return*/, releaseMR.sourceBranch];
216
+ }
217
+ });
218
+ });
219
+ };
220
+ GitLabService.prototype.getMilestoneByBranchName = function (projectId, branchName) {
221
+ var _a, _b;
222
+ return __awaiter(this, void 0, void 0, function () {
223
+ var mergeRequest;
224
+ return __generator(this, function (_c) {
225
+ switch (_c.label) {
226
+ case 0: return [4 /*yield*/, this.getMergeRequest(projectId, branchName)];
227
+ case 1:
228
+ mergeRequest = _c.sent();
229
+ if (!mergeRequest)
230
+ throw new errors_1.ShipItError("No merge request in project \"monorepo\" with branch name \"".concat(branchName, "\" could be found."));
231
+ if (!mergeRequest.milestone)
232
+ throw new errors_1.ShipItError("No milestone could be found on merge request \"".concat(mergeRequest.title, "\". Please attach a milestone then try again: ").concat(mergeRequest.url));
233
+ return [2 /*return*/, (_b = (_a = mergeRequest.milestone) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : ''];
234
+ }
235
+ });
236
+ });
237
+ };
205
238
  GitLabService.prototype.bumpVersionTxt = function (projectId, branchName, newVersion) {
206
239
  return __awaiter(this, void 0, void 0, function () {
207
240
  var versionTxt, buff, text;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TeamCityService = void 0;
16
+ require("reflect-metadata");
17
+ var inversify_1 = require("inversify");
18
+ var types_1 = require("../types");
19
+ var api_clients_1 = require("../api-clients");
20
+ var TeamCityService = /** @class */ (function () {
21
+ function TeamCityService(apiClient) {
22
+ this.apiClient = apiClient;
23
+ }
24
+ TeamCityService.prototype.startBuild = function (buildId, branchName) {
25
+ return this.apiClient.startBuild(buildId, branchName);
26
+ };
27
+ TeamCityService = __decorate([
28
+ (0, inversify_1.injectable)(),
29
+ __param(0, (0, inversify_1.inject)(types_1.API_CLIENTS.TeamCityApiClient)),
30
+ __metadata("design:paramtypes", [api_clients_1.TeamCityApiClient])
31
+ ], TeamCityService);
32
+ return TeamCityService;
33
+ }());
34
+ exports.TeamCityService = TeamCityService;
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./GitLabService"), exports);
18
+ __exportStar(require("./TeamCityService"), exports);
@@ -36,8 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getAddMilestoneCommand = void 0;
40
- var CommandTypeMapping_1 = require("../constants/CommandTypeMapping");
39
+ exports.processMilestoneCommandOptions = exports.getAddMilestoneCommand = void 0;
41
40
  var utils_1 = require("../utils");
42
41
  function processOptions(options) {
43
42
  var opts = {
@@ -54,7 +53,8 @@ function processOptions(options) {
54
53
  opts.version = 'patch';
55
54
  return opts;
56
55
  }
57
- var getAddMilestoneCommand = function (program, container) {
56
+ exports.processMilestoneCommandOptions = processOptions;
57
+ var getAddMilestoneCommand = function (program, getAction) {
58
58
  return function addMilestoneCommand(name, description) {
59
59
  var _this = this;
60
60
  program.command(name)
@@ -63,11 +63,17 @@ var getAddMilestoneCommand = function (program, container) {
63
63
  .option('-p, --projectIds <projectIds...>')
64
64
  .option('--hotfix')
65
65
  .option('--major')
66
- .action(function (options) { return __awaiter(_this, void 0, void 0, function () {
66
+ .action(function (opts) { return __awaiter(_this, void 0, void 0, function () {
67
+ var options;
67
68
  return __generator(this, function (_a) {
68
- container.get(CommandTypeMapping_1.CommandTypeMapping[name])
69
- .run(processOptions(options));
70
- return [2 /*return*/];
69
+ switch (_a.label) {
70
+ case 0:
71
+ options = processOptions(opts);
72
+ return [4 /*yield*/, getAction(name)(options)];
73
+ case 1:
74
+ _a.sent();
75
+ return [2 /*return*/];
76
+ }
71
77
  });
72
78
  }); });
73
79
  };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getActionBuilder = void 0;
40
+ var constants_1 = require("../constants");
41
+ var errors_1 = require("../errors");
42
+ var getActionBuilder = function (program, container) {
43
+ return function (command) {
44
+ return function (options) { return __awaiter(void 0, void 0, void 0, function () {
45
+ var result, err_1;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ _a.trys.push([0, 2, , 3]);
50
+ return [4 /*yield*/, container.get(constants_1.CommandTypeMapping[command]).run(options)];
51
+ case 1:
52
+ result = _a.sent();
53
+ if (!result)
54
+ program.error('Command did not successfully complete');
55
+ return [3 /*break*/, 3];
56
+ case 2:
57
+ err_1 = _a.sent();
58
+ if (!(err_1 instanceof errors_1.ShipItError))
59
+ throw err_1;
60
+ program.error(err_1.message);
61
+ return [3 /*break*/, 3];
62
+ case 3: return [2 /*return*/];
63
+ }
64
+ });
65
+ }); };
66
+ };
67
+ };
68
+ exports.getActionBuilder = getActionBuilder;