Skip to content

Commit 92d471c

Browse files
committed
Merge branch 'master' of https://github.com/microsoft/tfs-cli into manifest-js
2 parents 95d1cd6 + 72c0158 commit 92d471c

File tree

6 files changed

+234
-210
lines changed

6 files changed

+234
-210
lines changed

app/exec/extension/_lib/merger.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ export class Merger {
189189
parsed["version"] = newVersionString;
190190
newPartial = jju.update(versionPartial, parsed);
191191
} else {
192-
newPartial = jsonInPlace(versionPartial).set("version", newVersionString);
192+
newPartial = jsonInPlace(versionPartial).set("version", newVersionString).toString();
193193
}
194194
return promisify(writeFile)(partial.__origin, newPartial);
195195
} catch (e) {

app/exec/extension/_lib/publish.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ export class SharingManager extends GalleryBase {
285285

286286
try {
287287
let verData = await client.vsoClient.getVersioningData(
288-
"5.1-preview.1",
288+
"6.1-preview.1",
289289
"gallery",
290290
"a1e66d8f-f5de-4d16-8309-91a4e015ee46",
291291
routeValues);
@@ -445,7 +445,7 @@ export class PackagePublisher extends GalleryBase {
445445
};
446446

447447
const verData = await this.galleryClient.vsoClient.getVersioningData(
448-
"5.1-preview.2",
448+
"6.1-preview.2",
449449
"gallery",
450450
"e11ea35a-16fe-4b80-ab11-c4cab88a0966",
451451
routeValues,

app/exec/extension/_lib/vsix-manifest-builder.ts

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -794,22 +794,31 @@ export class VsixManifestBuilder extends ManifestBuilder {
794794
});
795795
}
796796
return contentTypePromise.then(() => {
797+
let seenPartNames = new Set();
797798
Object.keys(this.files).forEach(filePath => {
798799
if (this.files[filePath].contentType) {
799-
contentTypes.Types.Override.push({
800-
$: {
801-
ContentType: this.files[filePath].contentType,
802-
PartName: "/" + toZipItemName(this.files[filePath].partName),
803-
},
804-
});
800+
let partName = "/" + toZipItemName(this.files[filePath].partName);
801+
if (!seenPartNames.has(partName)) {
802+
contentTypes.Types.Override.push({
803+
$: {
804+
ContentType: this.files[filePath].contentType,
805+
PartName: partName,
806+
},
807+
});
808+
seenPartNames.add(partName);
809+
}
805810
if ((this.files[filePath] as any)._additionalPackagePaths) {
806-
for (const additionalPath of (this.files[filePath] as any)._additionalPackagePaths) {
807-
contentTypes.Types.Override.push({
808-
$: {
809-
ContentType: this.files[filePath].contentType,
810-
PartName: "/" + toZipItemName(additionalPath),
811-
},
812-
});
811+
for (const additionalPath of (this.files[filePath] as any)._additionalPackagePaths) {
812+
let additionalPartName = "/" + toZipItemName(additionalPath);
813+
if (!seenPartNames.has(additionalPartName)) {
814+
contentTypes.Types.Override.push({
815+
$: {
816+
ContentType: this.files[filePath].contentType,
817+
PartName: additionalPartName,
818+
},
819+
});
820+
seenPartNames.add(additionalPartName);
821+
}
813822
}
814823
}
815824
}

app/exec/extension/_lib/vsix-writer.ts

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ export class VsixWriter {
150150
let vsix = new zip();
151151

152152
let builderPromises: Promise<void>[] = [];
153+
let seenPartNames = new Set();
153154
this.manifestBuilders.forEach(builder => {
154155
// Avoid the error EMFILE: too many open files
155156
const addPackageFilesBatch = (
@@ -183,19 +184,33 @@ export class VsixWriter {
183184
if (itemName.indexOf(" "))
184185
if (!builder.files[path].content) {
185186
let readFilePromise = promisify(readFile)(path).then(result => {
186-
vsix.file(itemName, result);
187+
if (!seenPartNames.has(itemName)) {
188+
vsix.file(itemName, result);
189+
seenPartNames.add(itemName);
190+
}
187191
if ((builder.files[path] as any)._additionalPackagePaths) {
188192
for (const p of (builder.files[path] as any)._additionalPackagePaths) {
189-
vsix.file(p, result);
193+
let additionalItemName = toZipItemName(p);
194+
if (!seenPartNames.has(additionalItemName)) {
195+
vsix.file(additionalItemName, result);
196+
seenPartNames.add(additionalItemName);
197+
}
190198
}
191199
}
192200
});
193201
readFilePromises.push(readFilePromise);
194202
} else {
195-
vsix.file(itemName, builder.files[path].content);
203+
if (!seenPartNames.has(itemName)) {
204+
vsix.file(itemName, builder.files[path].content);
205+
seenPartNames.add(itemName);
206+
}
196207
if ((builder.files[path] as any)._additionalPackagePaths) {
197208
for (const p of (builder.files[path] as any)._additionalPackagePaths) {
198-
vsix.file(p, builder.files[path].content);
209+
let additionalItemName = toZipItemName(p);
210+
if (!seenPartNames.has(additionalItemName)) {
211+
vsix.file(additionalItemName, builder.files[path].content);
212+
seenPartNames.add(additionalItemName);
213+
}
199214
}
200215
}
201216
readFilePromises.push(Promise.resolve<void>(null));

0 commit comments

Comments
 (0)