Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFE] Rules to consider for .Net modernization #169

Open
johnbuckley opened this issue Apr 2, 2024 · 3 comments
Open

[RFE] Rules to consider for .Net modernization #169

johnbuckley opened this issue Apr 2, 2024 · 3 comments
Assignees
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@johnbuckley
Copy link

Attaching a spreadsheet of suggested rules
DotNetRules.xlsx

@konveyor-ci-bot konveyor-ci-bot bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Apr 2, 2024
@konveyor-ci-bot
Copy link

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@konveyor-ci-bot konveyor-ci-bot bot added needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Apr 2, 2024
@rromannissen rromannissen added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Apr 2, 2024
@konveyor-ci-bot konveyor-ci-bot bot removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Apr 2, 2024
@rromannissen
Copy link
Contributor

@djzager @dymurray @pranavgaikwad for your consideration.

@djzager
Copy link
Member

djzager commented Jul 11, 2024

@johnbuckley First, thank you very much for sharing this resource.

Spending some time looking at turning this into a consumable ruleset for Konveyor, I wonder if you could speak to the relationship between "Target Type", "Target member", "Header for assembly name entries". The sheet with these columns seems to me the most obvious candidate for making into a ruleset. However, devising a scheme that makes sense for each row has been difficult.

As an example, take a row like this:

T:System.Windows.ResourceDictionary T:System.Windows.ResourceDictionary Microsoft.Xrm.Tooling.CrmConnectControl Not supported

Should the rule look like...

- message: |
    Use appropriate type of files for migration from your Windows Forms-based desktop app from .NET Framework to .NET Core 3.0 or later.
  description: |
    Use appropriate type of files for migration from your Windows Forms-based desktop app from .NET Framework to .NET Core 3.0 or later.
  ruleID: dotnet-ruleset-0001
  when:
    - dotnet.referenced:
        pattern: "CrmConnectControl"
        namespace: "Microsoft.Xrm.Tooling"

Or...

- message: |
    Use appropriate type of files for migration from your Windows Forms-based desktop app from .NET Framework to .NET Core 3.0 or later.
  description: |
    Use appropriate type of files for migration from your Windows Forms-based desktop app from .NET Framework to .NET Core 3.0 or later.
  ruleID: dotnet-ruleset-0001
  when:
    - dotnet.referenced:
        pattern: "ResourceDictionary"
        namespace: "System.Windows"

Neither is unique, that is both System.Windows.ResourceDictionary and Microsoft.Xrm.Tooling.CrmConnectControl are referenced multiple times (some rows are missing the Header for assembly name entries).

tl;dr I'm struggling to construct an algorithm that translates the sheet into a ruleset that properly communicates, "I see this in your application source. That is a problem because . You could mitigate this by doing < x , y, or z >"

@dymurray dymurray modified the milestones: v0.5.0, v0.6.0 Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants