Skip to content

Commit 7ef260a

Browse files
committed
Upgrade to be compatible with GitExtension v4.0 that switch to .net 6
+ update required dependencies + change the way to open links the .net core way + update Github Action (Build & Release) for .net 6
1 parent dcbe9ce commit 7ef260a

File tree

5 files changed

+36
-30
lines changed

5 files changed

+36
-30
lines changed

Diff for: .github/workflows/build_plugin.yml

+5-8
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,15 @@ jobs:
1818
steps:
1919
- uses: actions/checkout@v1
2020

21-
- name: Setup .NET Core
21+
- name: Setup .net6
2222
uses: actions/setup-dotnet@v1
2323
with:
24-
dotnet-version: 2.2.108
24+
dotnet-version: 6.0.401
2525

26-
- name: Setup MSBuild.exe
27-
uses: warrenbuckley/Setup-MSBuild@v1
28-
29-
- name: Build & package with `msbuild`
26+
- name: Build & package with `dotnet`
3027
run: |
31-
msbuild -target:restore -property:Configuration=Release
32-
msbuild -target:pack -property:Configuration=Release
28+
dotnet restore
29+
dotnet pack -c Release
3330
3431
- name: Upload artifact
3532
uses: actions/upload-artifact@v1

Diff for: .github/workflows/release_plugin.yml

+5-8
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,15 @@ jobs:
2929
files: 'src/${{ github.event.repository.name }}/${{ github.event.repository.name }}.csproj'
3030
replacements: '<VersionPrefix>0.0.0</VersionPrefix>=<VersionPrefix>${{ steps.extract_version.outputs.version }}</VersionPrefix>'
3131

32-
- name: Setup .NET Core
32+
- name: Setup .net6
3333
uses: actions/setup-dotnet@v1
3434
with:
35-
dotnet-version: 2.2.108
35+
dotnet-version: 6.0.401
3636

37-
- name: Setup MSBuild.exe
38-
uses: warrenbuckley/Setup-MSBuild@v1
39-
40-
- name: Build & package with `msbuild`
37+
- name: Build & package with `dotnet`
4138
run: |
42-
msbuild -target:restore -property:Configuration=Release
43-
msbuild -target:pack -property:Configuration=Release
39+
dotnet restore
40+
dotnet pack -c Release
4441
4542
- name: Upload artifact
4643
uses: actions/upload-artifact@v1

Diff for: src/GitExtensions.AzureDevOpsCommitMessage/GitExtensions.AzureDevOpsCommitMessage.csproj

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net461</TargetFramework>
4+
<TargetFramework>net6.0-windows</TargetFramework>
55
<!--Value useless because will be overwritten by release GitHub action. Keep '0.0.0' so that the release process work well!-->
66
<VersionPrefix>0.0.0</VersionPrefix>
77
<PublishRepositoryUrl>true</PublishRepositoryUrl>
8+
<UseWindowsForms>true</UseWindowsForms>
89
</PropertyGroup>
910
<ItemGroup>
1011
<Compile Update="Properties\Resources.Designer.cs">
@@ -19,10 +20,11 @@
1920
</ItemGroup>
2021

2122
<ItemGroup>
22-
<PackageReference Include="GitExtensions.Extensibility" Version="0.1.1.40" />
23-
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="16.5.132" />
23+
<PackageReference Include="System.ComponentModel.Composition" Version="6.0.0" />
24+
<PackageReference Include="GitExtensions.Extensibility" Version="0.3.0.57" />
25+
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="17.0.64" />
2426
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
25-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
27+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
2628
</ItemGroup>
2729

2830
<!-- Reference to GitExtensions dlls. -->
@@ -36,10 +38,6 @@
3638
<Reference Include="ResourceManager">
3739
<HintPath>$(GitExtensionsPath)\ResourceManager.dll</HintPath>
3840
</Reference>
39-
<Reference Include="System.ComponentModel.Composition" />
40-
<Reference Include="System.Net.Http" />
41-
<Reference Include="System.Web" />
42-
<Reference Include="System.Windows.Forms" />
4341
</ItemGroup>
4442

4543
<!-- Pack as .nupkg with dependency on GitExtensions.Extensibility -->

Diff for: src/GitExtensions.AzureDevOpsCommitMessage/LinkLabelOpener.cs

+19-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ namespace GitExtensions.AzureDevOpsCommitMessage
77
{
88
public class LinkLabelOpener : LinkLabel
99
{
10-
private static readonly string LinkInvalid = new TranslationString("The link to open is invalid").Text;
11-
private static readonly string OpenLinkFailed = new TranslationString("Fail to open the link").Text;
10+
private static readonly TranslationString Error = new TranslationString("Error");
11+
private static readonly TranslationString LinkInvalid = new TranslationString("The link to open is invalid");
12+
private static readonly TranslationString OpenLinkFailed = new TranslationString("Fail to open the link:\n{0}\n\nCopy url to clipboard?");
1213
public LinkLabelOpener()
1314
{
1415
Click += LinkLabelOpener_Click;
@@ -23,18 +24,31 @@ public void OpenLink()
2324
{
2425
if (Tag == null || !(Tag is string url) || string.IsNullOrWhiteSpace(url))
2526
{
26-
MessageBox.Show(LinkInvalid);
27+
MessageBox.Show(LinkInvalid.Text, Error.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
2728
return;
2829
}
2930

3031
try
3132
{
32-
Process.Start(url);
33+
OpenUrl(url);
3334
}
3435
catch (Exception)
3536
{
36-
MessageBox.Show(OpenLinkFailed);
37+
if (MessageBox.Show(string.Format(OpenLinkFailed.Text, url), Error.Text, MessageBoxButtons.YesNo,
38+
MessageBoxIcon.Error) == DialogResult.Yes)
39+
{
40+
Clipboard.SetText(url);
41+
}
3742
}
3843
}
44+
45+
public static void OpenUrl(string url)
46+
{
47+
Process.Start(new ProcessStartInfo
48+
{
49+
FileName = url,
50+
UseShellExecute = true
51+
});
52+
}
3953
}
4054
}

Diff for: src/GitExtensions.AzureDevOpsCommitMessage/Plugin.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ private void GenerateTokenLink_Click(object sender, EventArgs e)
230230
}
231231

232232
var url = (string)((LinkLabel)sender).Tag;
233-
Process.Start(url.Replace("{organization}", urlParts[3]));
233+
LinkLabelOpener.OpenUrl(url.Replace("{organization}", urlParts[3]));
234234
}
235235

236236
private async Task DisplayQueryResultAsync(HttpClient httpClient, string projectUrl, string wiqlQuery, string templateString)

0 commit comments

Comments
 (0)