Skip to content

Commit 3367160

Browse files
Merge pull request #369 from stephanbisser/preview
Added support for Manifest Version 1.16
2 parents d1953d9 + 50baf79 commit 3367160

File tree

5 files changed

+93
-1
lines changed

5 files changed

+93
-1
lines changed

packages/generator-teams/src/app/manifestGeneration/ManifestGeneratorFactory.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { ManifestGenerator as ManifestGenerator112 } from "./manifestGenerators/
1212
import { ManifestGenerator as ManifestGenerator113 } from "./manifestGenerators/generator113/ManifestGenerator";
1313
import { ManifestGenerator as ManifestGenerator114 } from "./manifestGenerators/generator114/ManifestGenerator";
1414
import { ManifestGenerator as ManifestGenerator115 } from "./manifestGenerators/generator115/ManifestGenerator";
15+
import { ManifestGenerator as ManifestGenerator116 } from "./manifestGenerators/generator116/ManifestGenerator";
1516
import { ManifestGenerator as ManifestGeneratorDevPreview } from "./manifestGenerators/generatorDevPreview/ManifestGenerator";
1617
import { ManifestGenerator as ManifestGeneratorM365DevPreview } from "./manifestGenerators/generatorM365DevPreview/ManifestGenerator";
1718
import { BaseManifestGenerator } from "./BaseManifestGenerator";
@@ -78,6 +79,14 @@ export class ManifestGeneratorFactory {
7879
hide: false,
7980
comment: "With support for extending Teams apps to other parts of the Microsoft 365 ecosystem"
8081
},
82+
{
83+
manifestVersion: ManifestVersions.v116,
84+
schemaUrl: "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
85+
manifestValue: "1.16",
86+
default: true,
87+
hide: false,
88+
comment: "With support for extending Teams apps to other parts of the Microsoft 365 ecosystem"
89+
},
8190
{
8291
manifestVersion: ManifestVersions.devPreview,
8392
schemaUrl: "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",
@@ -129,6 +138,8 @@ export class ManifestGeneratorFactory {
129138
return new ManifestGenerator114();
130139
} else if (manifestVersion == ManifestVersions.v115) {
131140
return new ManifestGenerator115();
141+
} else if (manifestVersion == ManifestVersions.v116) {
142+
return new ManifestGenerator116();
132143
} else if (manifestVersion == ManifestVersions.devPreview) {
133144
return new ManifestGeneratorDevPreview();
134145
} else if (manifestVersion == ManifestVersions.m365DevPreview) {

packages/generator-teams/src/app/manifestGeneration/ManifestVersions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export enum ManifestVersions {
1111
v113 = "v1.13",
1212
v114 = "v1.14",
1313
v115 = "v1.15",
14+
v116 = "v1.16",
1415
devPreview = "devPreview",
1516
m365DevPreview = "m365DevPreview"
1617
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Copyright (c) Wictor Wilén. All rights reserved.
2+
// Copyright (c) Microsoft Corporation. All rights reserved.
3+
// Licensed under the MIT license.
4+
5+
import { BaseManifestGenerator } from "../../BaseManifestGenerator";
6+
import { TabManifestUpdater } from "../generator19/TabManifestUpdater";
7+
import { BotManifestUpdater } from "../generator18/BotManifestUpdater";
8+
import { ConnectorManifestUpdater } from "../generator18/ConnectorManifestUpdater";
9+
import { MessageExtensionManifestUpdater } from "../generator18/MessageExtensionManifestUpdater";
10+
import { GeneratorTeamsAppOptions } from "../../../GeneratorTeamsAppOptions";
11+
import { LocalizationManifestUpdater } from "../generator18/LocalizationManifestUpdater";
12+
import * as chalk from 'chalk';
13+
14+
15+
export class ManifestGenerator extends BaseManifestGenerator {
16+
constructor() {
17+
super();
18+
this.tabUpdater = new TabManifestUpdater();
19+
this.botUpdater = new BotManifestUpdater();
20+
this.connectorUpdater = new ConnectorManifestUpdater();
21+
this.messageExtensionUpdater = new MessageExtensionManifestUpdater();
22+
this.localizationUpdater = new LocalizationManifestUpdater();
23+
}
24+
25+
public generateManifest(options: GeneratorTeamsAppOptions): any {
26+
const manifest = super.generateManifest(options);
27+
manifest["$schema"] = "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json";
28+
manifest.manifestVersion = "1.16";
29+
30+
return manifest;
31+
}
32+
33+
public supportsUpdateManifest(from: string): boolean {
34+
return from === "1.8" || from === "1.9" || from === "1.10" || from === "1.11" || from === "1.12" || from === "1.13" || from === "1.14" || from === "1.15";
35+
}
36+
37+
public updateManifest(manifest: any, log?: (message?: string, context?: any) => void): any {
38+
switch (manifest.manifestVersion) {
39+
case "1.8":
40+
case "1.9":
41+
case "1.10":
42+
case "1.11":
43+
case "1.12":
44+
case "1.13":
45+
case "1.14":
46+
case "1.15":
47+
manifest["$schema"] = "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json";
48+
manifest.manifestVersion = "1.16";
49+
return manifest;
50+
default:
51+
throw "Unable to update manifest";
52+
53+
}
54+
};
55+
}

packages/generator-teams/tests/helpers/TestHelper.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,11 @@ export const SCHEMA_112 = 'https://developer.microsoft.com/en-us/json-schemas/te
125125
export const SCHEMA_113 = 'https://developer.microsoft.com/en-us/json-schemas/teams/v1.13/MicrosoftTeams.schema.json';
126126
export const SCHEMA_114 = 'https://developer.microsoft.com/en-us/json-schemas/teams/v1.14/MicrosoftTeams.schema.json';
127127
export const SCHEMA_115 = 'https://developer.microsoft.com/en-us/json-schemas/teams/v1.15/MicrosoftTeams.schema.json';
128+
export const SCHEMA_116 = 'https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json';
128129
export const SCHEMA_DEVPREVIEW = 'https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json';
129130
export const SCHEMA_M365DEVPREVIEW = 'https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json';
130131

131-
export const INTEGRATION_TEST_VERSIONS = ["v1.13", "devPreview"]; // only keep two versions, so we can stay under Github 360 minute rule
132+
export const INTEGRATION_TEST_VERSIONS = ["v1.16", "devPreview"]; // only keep two versions, so we can stay under Github 360 minute rule
132133

133134
export const SCHEMAS: { [key: string]: string } = {
134135
// "v1.8": SCHEMA_18,
@@ -139,6 +140,7 @@ export const SCHEMAS: { [key: string]: string } = {
139140
"v1.13": SCHEMA_113,
140141
"v1.14": SCHEMA_114,
141142
"v1.15": SCHEMA_115,
143+
"v1.16": SCHEMA_116,
142144
"devPreview": SCHEMA_DEVPREVIEW,
143145
"m365DevPreview": SCHEMA_M365DEVPREVIEW
144146
}

packages/generator-teams/tests/tests.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"v1.13",
88
"v1.14",
99
"v1.15",
10+
"v1.16",
1011
"devPreview"
1112
],
1213
"prompts": {
@@ -21,6 +22,7 @@
2122
"v1.13",
2223
"v1.14",
2324
"v1.15",
25+
"v1.16",
2426
"devPreview",
2527
"m365DevPreview"
2628
],
@@ -36,6 +38,7 @@
3638
"v1.13",
3739
"v1.14",
3840
"v1.15",
41+
"v1.16",
3942
"devPreview"
4043
],
4144
"prompts": {
@@ -53,6 +56,7 @@
5356
"v1.13",
5457
"v1.14",
5558
"v1.15",
59+
"v1.16",
5660
"devPreview"
5761
],
5862
"prompts": {
@@ -68,6 +72,7 @@
6872
"v1.13",
6973
"v1.14",
7074
"v1.15",
75+
"v1.16",
7176
"devPreview"
7277
],
7378
"prompts": {
@@ -89,6 +94,7 @@
8994
"v1.13",
9095
"v1.14",
9196
"v1.15",
97+
"v1.16",
9298
"devPreview"
9399
],
94100
"prompts": {
@@ -111,6 +117,7 @@
111117
"v1.13",
112118
"v1.14",
113119
"v1.15",
120+
"v1.16",
114121
"devPreview"
115122

116123
],
@@ -133,6 +140,7 @@
133140
"v1.13",
134141
"v1.14",
135142
"v1.15",
143+
"v1.16",
136144
"devPreview"
137145

138146
],
@@ -157,6 +165,7 @@
157165
"v1.13",
158166
"v1.14",
159167
"v1.15",
168+
"v1.16",
160169
"devPreview"
161170

162171
],
@@ -181,6 +190,7 @@
181190
"v1.13",
182191
"v1.14",
183192
"v1.15",
193+
"v1.16",
184194
"devPreview"
185195

186196
],
@@ -202,6 +212,7 @@
202212
"v1.13",
203213
"v1.14",
204214
"v1.15",
215+
"v1.16",
205216
"devPreview"
206217

207218
],
@@ -219,6 +230,7 @@
219230
"v1.13",
220231
"v1.14",
221232
"v1.15",
233+
"v1.16",
222234
"devPreview"
223235

224236
],
@@ -234,6 +246,7 @@
234246
"v1.13",
235247
"v1.14",
236248
"v1.15",
249+
"v1.16",
237250
"devPreview"
238251

239252
],
@@ -256,6 +269,7 @@
256269
"v1.13",
257270
"v1.14",
258271
"v1.15",
272+
"v1.16",
259273
"devPreview"
260274

261275
],
@@ -273,6 +287,7 @@
273287
"v1.13",
274288
"v1.14",
275289
"v1.15",
290+
"v1.16",
276291
"devPreview"
277292

278293
],
@@ -290,6 +305,7 @@
290305
"v1.13",
291306
"v1.14",
292307
"v1.15",
308+
"v1.16",
293309
"devPreview"
294310

295311
],
@@ -308,6 +324,7 @@
308324
"v1.13",
309325
"v1.14",
310326
"v1.15",
327+
"v1.16",
311328
"devPreview"
312329

313330
],
@@ -330,6 +347,7 @@
330347
"v1.13",
331348
"v1.14",
332349
"v1.15",
350+
"v1.16",
333351
"devPreview"
334352

335353
],
@@ -351,6 +369,7 @@
351369
"v1.13",
352370
"v1.14",
353371
"v1.15",
372+
"v1.16",
354373
"devPreview"
355374

356375
],
@@ -370,6 +389,7 @@
370389
"v1.13",
371390
"v1.14",
372391
"v1.15",
392+
"v1.16",
373393
"devPreview"
374394

375395
],
@@ -390,6 +410,7 @@
390410
"v1.13",
391411
"v1.14",
392412
"v1.15",
413+
"v1.16",
393414
"devPreview"
394415

395416
],
@@ -410,6 +431,7 @@
410431
"v1.13",
411432
"v1.14",
412433
"v1.15",
434+
"v1.16",
413435
"devPreview"
414436

415437
],
@@ -429,6 +451,7 @@
429451
"v1.13",
430452
"v1.14",
431453
"v1.15",
454+
"v1.16",
432455
"devPreview"
433456

434457
],

0 commit comments

Comments
 (0)