diff --git a/.github/workflows/CI-CD.yml b/.github/workflows/CI-CD.yml index 44c21a0..f227718 100644 --- a/.github/workflows/CI-CD.yml +++ b/.github/workflows/CI-CD.yml @@ -14,20 +14,22 @@ jobs: steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - name: Install .NET Core - uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Restore Windows - run: dotnet restore --runtime=win10-x64 + run: dotnet restore --runtime=win-x64 - - name: Build Windows - run: dotnet build IdlImpTool --no-restore --runtime=win10-x64 + - name: Build & Test Windows + run: | + dotnet build IdlImpTool --no-restore --runtime=win-x64 + dotnet test IdlImporterTests - name: Restore Linux run: dotnet restore --runtime=linux-x64 @@ -42,7 +44,7 @@ jobs: run: dotnet pack IdlImpTool --include-symbols --no-restore -o . - name: Publish Artifacts - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: NugetPackages path: | @@ -56,7 +58,7 @@ jobs: if: github.event_name == 'push' steps: - name: Download Artifacts - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: path: artifacts diff --git a/CHANGELOG.md b/CHANGELOG.md index 665601d..75c4880 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Security --> -## [Unreleased] +## [4.0.0] - 2024-11-22 + +- Add net4.6.2 and net8.0 support +- Drop net5.0, netcore3.1, and net4.6.1 support +- Update dependencies ## [3.0.1] - 2022-09-08 diff --git a/Directory.Build.props b/Directory.Build.props index 3d09ffa..98a3c59 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - net461;netstandard2.0;net5.0 + net462;netstandard2.0;net8.0 SIL.IDLImporterTool Debug;Release SIL International diff --git a/IDLImporter/IDLImporter.csproj b/IDLImporter/IDLImporter.csproj index 86ce6f6..7fd00fd 100644 --- a/IDLImporter/IDLImporter.csproj +++ b/IDLImporter/IDLImporter.csproj @@ -12,7 +12,7 @@ - + diff --git a/IDLImporterTests/IDLImporterTests.csproj b/IDLImporterTests/IDLImporterTests.csproj index 9372957..f5214d2 100644 --- a/IDLImporterTests/IDLImporterTests.csproj +++ b/IDLImporterTests/IDLImporterTests.csproj @@ -1,7 +1,6 @@ - + - net461 IDLImporterTests SIL.IdlImporter.Tests false @@ -9,8 +8,10 @@ + - + + diff --git a/IdlImpTool/IDLImp.csproj b/IdlImpTool/IDLImp.csproj index b58d066..bf5607d 100644 --- a/IdlImpTool/IDLImp.csproj +++ b/IdlImpTool/IDLImp.csproj @@ -1,9 +1,9 @@ - netcoreapp3.1;net5.0 Exe - win10-x64;linux-x64 + net8.0 + win-x64;linux-x64 IDLImp Imports the COM interfaces from an IDL file for use with .NET. Can handle c-style arrays and OLECHAR pointers. true @@ -14,7 +14,7 @@ - + diff --git a/IdlImporter.sln b/IdlImporter.sln index 5992912..d62fc63 100644 --- a/IdlImporter.sln +++ b/IdlImporter.sln @@ -1,19 +1,23 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IDLImporter", "IDLImporter\IDLImporter.csproj", "{D23CFDE1-DF89-433E-BE88-6C08279F7349}" +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IDLImporter", "IDLImporter\IDLImporter.csproj", "{D23CFDE1-DF89-433E-BE88-6C08279F7349}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IDLImp", "IdlImpTool\IDLImp.csproj", "{B5904870-00F3-4833-A981-E22B79A16106}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IDLImp", "IdlImpTool\IDLImp.csproj", "{B5904870-00F3-4833-A981-E22B79A16106}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IDLImporterTests", "IDLImporterTests\IDLImporterTests.csproj", "{6E18BE34-1CF5-48EA-9C47-F0E89A32E648}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IDLImporterTests", "IDLImporterTests\IDLImporterTests.csproj", "{6E18BE34-1CF5-48EA-9C47-F0E89A32E648}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionFolder", "SolutionFolder", "{17449FC8-15AE-49B9-9DEA-22AAFF0F9285}" -ProjectSection(SolutionItems) = preProject - README.md = README.md - GitVersion.yml = GitVersion.yml - CHANGELOG.md = CHANGELOG.md - .gitignore = .gitignore - .editorconfig = .editorconfig -EndProjectSection + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + .gitignore = .gitignore + CHANGELOG.md = CHANGELOG.md + Directory.Build.props = Directory.Build.props + GitVersion.yml = GitVersion.yml + README.md = README.md + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -34,4 +38,7 @@ Global {6E18BE34-1CF5-48EA-9C47-F0E89A32E648}.Release|Any CPU.ActiveCfg = Release|Any CPU {6E18BE34-1CF5-48EA-9C47-F0E89A32E648}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection EndGlobal diff --git a/README.md b/README.md index d071efe..6725f55 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,19 @@ Install the [SIL.IdlImporter](https://www.nuget.org/packages/SIL.IdlImporter) nu dotnet restore dotnet build ``` + +## Testing Locally + +### Unit testing +```bash +dotnet test +``` + +### Using your local changes +```bash +dotnet pack +dotnet tool uninstall -g SIL.IdlImporter.Tool +dotnet tool install -g --add-source output SIL.IdlImporter.Tool --version [new version] +``` +Note: If you are testing with FieldWorks you should make this change in the BuildInclude.targets in the ViewsInterfaces project +