Skip to content

Vs2022#23

Closed
Mika3578 wants to merge 11 commits into
mainfrom
vs2022
Closed

Vs2022#23
Mika3578 wants to merge 11 commits into
mainfrom
vs2022

Conversation

@Mika3578

@Mika3578 Mika3578 commented Nov 11, 2025

Copy link
Copy Markdown
Owner

Summary by Sourcery

Migrate C++ projects to Visual Studio 2022 and introduce a GitHub Actions CI workflow for automated Windows builds

Enhancements:

  • Upgrade Visual Studio C++ project files to use the VS2022 PlatformToolset

CI:

  • Add GitHub Actions workflow to build the eMule MorphXT solution on Windows
  • Configure the workflow to checkout submodules, install MSBuild, restore NuGet packages, build a Release Win32 configuration, and upload artifacts

…from v142 to v143 across multiple projects. Added LanguageStandard settings for improved compatibility.
Copilot AI review requested due to automatic review settings November 11, 2025 15:03
@sourcery-ai

sourcery-ai Bot commented Nov 11, 2025

Copy link
Copy Markdown

Reviewer's Guide

This PR migrates several C++ projects to the VS2022 toolset and introduces a new GitHub Actions workflow to automate the build and artifact upload for the eMule solution.

File-Level Changes

Change Details Files
Migrate C++ projects to Visual Studio 2022
  • Updated ToolsVersion to match VS2022
  • Set PlatformToolset to v143
  • Refreshed project import schema and GUIDs
ReplaceVistaIcon/ReplaceVistaIcon.vcxproj
ResizableLib/ResizableLib.vcxproj
srchybrid/CxImage/cximage.vcxproj
srchybrid/emule.vcxproj
Add GitHub Actions workflow for eMule build
  • Configured triggers on push, pull_request, and manual dispatch
  • Installed MSBuild and restored NuGet packages
  • Built the solution in Release Win32 and collected output
  • Uploaded build artifacts under a named release package
.github/workflows/build-emule.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes - here's some feedback:

  • Consider caching NuGet packages using actions/cache to speed up successive CI runs.
  • Add an additional build step for the x64 platform if 64-bit support is required to ensure full coverage.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Consider caching NuGet packages using actions/cache to speed up successive CI runs.
- Add an additional build step for the x64 platform if 64-bit support is required to ensure full coverage.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR upgrades the eMule MorphXT project from Visual Studio 2019 (v142) to Visual Studio 2022 (v143) and adds a CI/CD pipeline using GitHub Actions.

  • Updates platform toolset from v142 to v143 across all project files
  • Adds LanguageStandard compiler settings to all build configurations
  • Introduces a GitHub Actions workflow for automated builds

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
srchybrid/emule.vcxproj Updated platform toolset to v143 and added language standard settings for all configurations (Beta, Release, Debug)
srchybrid/CxImage/cximage.vcxproj Updated platform toolset to v143 and added language standard settings for Release and Debug configurations
ResizableLib/ResizableLib.vcxproj Updated platform toolset to v143 and added language standard settings for Release and Debug configurations
ReplaceVistaIcon/ReplaceVistaIcon.vcxproj Updated platform toolset to v143 and added language standard settings for Release and Debug configurations
.github/workflows/build-emule.yml Added new GitHub Actions workflow to build the project on Windows with automated artifact collection

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…elease Build; include static analysis, lint checks, and dependency reviews

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Mika3578

Copy link
Copy Markdown
Owner Author

Hey there - I've reviewed your changes - here's some feedback:

  • Consider caching NuGet packages using actions/cache to speed up successive CI runs.
  • Add an additional build step for the x64 platform if 64-bit support is required to ensure full coverage.

Prompt for AI Agents

Please address the comments from this code review:

## Overall Comments
- Consider caching NuGet packages using actions/cache to speed up successive CI runs.
- Add an additional build step for the x64 platform if 64-bit support is required to ensure full coverage.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@copilot

Copilot AI commented Nov 11, 2025

Copy link
Copy Markdown

@Mika3578 I've opened a new pull request, #24, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build-emule.yml Outdated
Comment thread .github/workflows/build-emule.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/build-emule.yml Outdated
Comment thread .github/workflows/build-emule.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
Copilot AI and others added 2 commits November 12, 2025 05:44
Co-authored-by: Mika3578 <58137747+Mika3578@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Mika3578 and others added 2 commits November 12, 2025 05:47
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build-emule.yml Outdated
Comment thread .github/workflows/build-emule.yml Outdated
Comment on lines +86 to +94
- name: Build Solution
run: |
# Note: TreatWarningsAsErrors not enabled to allow gradual warning cleanup
$outDir = Join-Path "${{ env.BUILD_OUTPUT_ROOT }}" "${{ matrix.platform }}\${{ env.BUILD_CONFIGURATION }}\Binary\"
msbuild /m `
/p:Configuration=${{ env.BUILD_CONFIGURATION }} `
/p:Platform=${{ matrix.platform }} `
/p:OutDir="$outDir" `
"${{ env.SOLUTION_FILE_PATH }}"

Copilot AI Nov 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing shell: pwsh directive for this step. The script uses PowerShell commands (Join-Path, $outDir, backtick line continuation) but doesn't explicitly specify the shell. This could cause issues on different runners. Add shell: pwsh to ensure consistent behavior.

Copilot uses AI. Check for mistakes.
Comment on lines +190 to +198
- name: Build Debug Configuration
working-directory: ${{ github.workspace }}
run: |
$outDir = Join-Path "${{ env.BUILD_OUTPUT_ROOT }}" "${{ matrix.platform }}\Debug\Binary\"
msbuild /m `
/p:Configuration=Debug `
/p:Platform=${{ matrix.platform }} `
/p:OutDir="$outDir" `
"${{ env.SOLUTION_FILE_PATH }}"

Copilot AI Nov 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing shell: pwsh directive for this step. The script uses PowerShell commands (Join-Path, $outDir, backtick line continuation) but doesn't explicitly specify the shell. This could cause issues on different runners. Add shell: pwsh to ensure consistent behavior.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback

Comment thread .github/workflows/build-emule.yml Outdated
Mika3578 and others added 2 commits November 12, 2025 06:24
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI commented Nov 12, 2025

Copy link
Copy Markdown

@Mika3578 I've opened a new pull request, #27, to work on those changes. Once the pull request is ready, I'll request review from you.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +28 to +29
- name: Setup MSBuild and Install MFC/ATL
uses: ./.github/actions/setup-msbuild-mfc

Copilot AI Nov 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow references a local action './.github/actions/setup-msbuild-mfc' that does not exist in the repository. This will cause the workflow to fail. Either create this composite action or inline the MSBuild setup steps as done in the 'build-debug' job (lines 86-131).

Suggested change
- name: Setup MSBuild and Install MFC/ATL
uses: ./.github/actions/setup-msbuild-mfc
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: Install MFC/ATL workloads
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vsInstallPath = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath
if (-not $vsInstallPath) {
Write-Error "Visual Studio not found"
exit 1
}
$vsInstaller = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe"
if (-not (Test-Path $vsInstaller)) {
Write-Error "VS Installer not found at $vsInstaller"
exit 1
}
& $vsInstaller modify --installPath $vsInstallPath --add Microsoft.VisualStudio.Component.VC.ATLMFC --quiet --norestart
Write-Host "✓ MFC/ATL workloads installed"

Copilot uses AI. Check for mistakes.
Comment on lines +162 to +167
- name: Download x64 artifacts
uses: actions/download-artifact@v6
with:
name: emule-x64-release
path: ./artifacts/x64

Copilot AI Nov 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'create-installer' job attempts to download an 'emule-x64-release' artifact, but the build matrix only includes 'Win32' platform (line 23). This will cause the workflow to fail when trying to download the non-existent x64 artifact. Either add 'x64' to the build matrix or remove this download step.

Suggested change
- name: Download x64 artifacts
uses: actions/download-artifact@v6
with:
name: emule-x64-release
path: ./artifacts/x64

Copilot uses AI. Check for mistakes.
- name: Restore NuGet packages
run: nuget restore "${{ env.SOLUTION_FILE_PATH }}"

- name: Build Solution

Copilot AI Nov 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'Build Solution' step is missing 'shell: pwsh' declaration while using PowerShell syntax. This should be added for consistency with other PowerShell steps in the workflow to ensure correct shell interpretation.

Suggested change
- name: Build Solution
- name: Build Solution
shell: pwsh

Copilot uses AI. Check for mistakes.
run: nuget restore "${{ env.SOLUTION_FILE_PATH }}"

- name: Build Debug Configuration
working-directory: ${{ github.workspace }}

Copilot AI Nov 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'Build Debug Configuration' step is missing 'shell: pwsh' declaration while using PowerShell syntax. This should be added for consistency with other PowerShell steps in the workflow.

Suggested change
working-directory: ${{ github.workspace }}
working-directory: ${{ github.workspace }}
shell: pwsh

Copilot uses AI. Check for mistakes.
@Mika3578 Mika3578 closed this Nov 12, 2025
@Mika3578
Mika3578 deleted the vs2022 branch November 12, 2025 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants