Skip to content

Commit 0a4dfb9

Browse files
committed
Corrected a bug that prevented the extension file name from being overridden.
1 parent eb746f4 commit 0a4dfb9

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

src/toolkit/nuget/build/imports/PublishToMarketplace.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<PublishManifest Condition="'$(PublishManifest)' == ''">$([MSBuild]::GetPathOfFileAbove('publish.json', '$(ProjectDir)'))</PublishManifest>
3737

3838
<!-- Build the path to the extension file if it hasn't been specified. -->
39-
<PublishExtension Condition="'$(PublishExtensionFileName)' == ''">$(ProjectDir)$(TargetVsixContainer)</PublishExtension>
39+
<PublishExtension Condition="'$(PublishExtension)' == ''">$(ProjectDir)$(TargetVsixContainer)</PublishExtension>
4040
</PropertyGroup>
4141

4242
<!-- Log some properties to assist with debugging. -->

test/toolkit/Community.VisualStudio.Toolkit.UnitTests/MSBuild/PublishToMarketplaceTests.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,42 @@ public async Task CanFindTheRealVsixPublisherExecutableAsync()
283283
AssertError(result, "VSSDK: error VsixPub0031");
284284
}
285285

286+
[Fact]
287+
public async Task CanOverrideTheExtensionFilePathAsync()
288+
{
289+
TestProject project = CreateProject("Extension");
290+
WritePublishManifest("Extension/publish.json");
291+
292+
string extensionFileName = Path.Combine(_directory.FullPath, "output", "file.vsix");
293+
Directory.CreateDirectory(Path.GetDirectoryName(extensionFileName));
294+
File.WriteAllText(extensionFileName, "");
295+
296+
CompilationResult result = await BuildAsync(project, new CompileOptions
297+
{
298+
Target = "PublishToMarketplace",
299+
Properties = new Properties
300+
{
301+
Configuration = "Release",
302+
PersonalAccessToken = "foo",
303+
PublishExtension = extensionFileName
304+
}
305+
});
306+
307+
Assert.Equal(0, result.ExitCode);
308+
AssertSequence(
309+
new[] {
310+
"MockVsixPublisher.exe",
311+
"---------------------",
312+
"publish",
313+
"-personalAccessToken foo",
314+
$"-payload {extensionFileName}",
315+
$"-publishManifest {Path.Combine(_directory.FullPath, "Extension", "publish.json")}",
316+
"Extension published successfully."
317+
},
318+
result.StandardOutput.Select((x) => x.Trim())
319+
);
320+
}
321+
286322
private TestProject CreateProject(string subDirectory)
287323
{
288324
TestProject project = new(Path.Combine(_directory.FullPath, subDirectory));
@@ -396,6 +432,7 @@ private class Properties
396432
public string? PublishManifest { get; set; }
397433
public string? PersonalAccessToken { get; set; }
398434
public string? PublishIgnoreWarnings { get; set; }
435+
public string? PublishExtension { get; set; }
399436
}
400437
}
401438
}

0 commit comments

Comments
 (0)