Skip to content

Commit 82e6e75

Browse files
authored
Feature/typesafe images (#2)
* ADD: WithPreImage and WithPostImage methods to register images, which introduce a requirement to handle Pre and PostImages correctly. * ADD: Source Generator that creates type-safe image entity classes * ADD: Source Analyzer which helps identity pitfalls * Test: Tests for the source generator
1 parent 6a7b960 commit 82e6e75

File tree

66 files changed

+8040
-100
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+8040
-100
lines changed

.claude/settings.local.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,19 @@
22
"permissions": {
33
"allow": [
44
"Bash(dotnet build:*)",
5-
"Bash(dotnet test:*)"
5+
"Bash(dotnet test:*)",
6+
"Bash(dotnet restore:*)",
7+
"Bash(dotnet clean:*)",
8+
"Bash(dotnet msbuild:*)",
9+
"Bash(dotnet pack:*)",
10+
"Bash(dotnet list:*)",
11+
"Bash(find:*)",
12+
"Bash(cat:*)",
13+
"Bash(findstr:*)",
14+
"Bash(dir:*)"
615
],
716
"deny": [],
817
"ask": []
9-
}
18+
},
19+
"outputStyle": "default"
1020
}

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ root = true
1717
charset = utf-8
1818
indent_style = tab # Use tabs for indentation, change from ATC
1919
indent_size = 4
20-
insert_final_newline = false
20+
insert_final_newline = true # Add newline at end of file, change from ATC
2121
trim_trailing_whitespace = true
2222

2323
##########################################
@@ -523,4 +523,4 @@ dotnet_diagnostic.CA1515.severity = none # We allow controllers to be public
523523

524524
dotnet_diagnostic.S3925.severity = none # rule that requires an implementation that is obsolete in .Net8
525525

526-
dotnet_diagnostic.SA1010.severity = none # Disabled until fix for C#12 has been released for collection expressions
526+
dotnet_diagnostic.SA1010.severity = none # Disabled until fix for C#12 has been released for collection expressions

.github/workflows/ci.yml

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,52 @@
11
name: Check PR
22

33
on:
4-
pull_request:
5-
push:
6-
branches:
7-
- main
4+
pull_request:
5+
push:
6+
branches:
7+
- main
88

99
jobs:
10-
run-ci:
11-
env:
12-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13-
runs-on: windows-latest
10+
run-ci:
11+
env:
12+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13+
runs-on: windows-latest
1414

15-
steps:
16-
- name: 🚚 Get latest code
17-
uses: actions/checkout@v4
15+
steps:
16+
- name: 🚚 Get latest code
17+
uses: actions/checkout@v4
1818

19-
- name: 🛠️ Setup .NET
20-
uses: actions/setup-dotnet@v4
21-
with:
22-
dotnet-version: 8.x
19+
- name: 🛠️ Setup .NET
20+
uses: actions/setup-dotnet@v4
21+
with:
22+
dotnet-version: 10.x
2323

24-
- name: ✏️ Set abstractions version from CHANGELOG.md
25-
shell: pwsh
26-
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.Abstractions/CHANGELOG.md -CsprojPath XrmPluginCore.Abstractions/XrmPluginCore.Abstractions.csproj
24+
- name: ✏️ Set abstractions version from CHANGELOG.md
25+
shell: pwsh
26+
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.Abstractions/CHANGELOG.md -CsprojPath XrmPluginCore.Abstractions/XrmPluginCore.Abstractions.csproj
2727

28-
- name: ✏️ Set implementations version from CHANGELOG.md
29-
shell: pwsh
30-
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore/CHANGELOG.md -CsprojPath XrmPluginCore/XrmPluginCore.csproj
28+
- name: ✏️ Set source generator version from CHANGELOG.md
29+
shell: pwsh
30+
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.SourceGenerator/CHANGELOG.md -CsprojPath XrmPluginCore.SourceGenerator/XrmPluginCore.SourceGenerator.csproj
3131

32-
- name: 📦 Install dependencies
33-
run: dotnet restore
32+
- name: ✏️ Set implementations version from CHANGELOG.md
33+
shell: pwsh
34+
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore/CHANGELOG.md -CsprojPath XrmPluginCore/XrmPluginCore.csproj
3435

35-
- name: 🔨 Build solution
36-
run: dotnet build --configuration Release --no-restore
36+
- name: 📦 Install dependencies
37+
run: dotnet restore
3738

38-
- name: ✅ Run tests
39-
run: dotnet test --configuration Release --no-build --verbosity normal
39+
- name: 🔨 Build solution
40+
run: dotnet build --configuration Release --no-restore
4041

41-
- name: 📦 Pack
42-
run: dotnet pack --configuration Release --no-build --output ./nupkg
42+
- name: ✅ Run tests
43+
run: dotnet test --configuration Release --no-build --verbosity normal
4344

44-
- name: 📤 Upload artifacts
45-
uses: actions/upload-artifact@v4
46-
with:
47-
name: packages
48-
path: ./nupkg
45+
- name: 📦 Pack
46+
run: dotnet pack --configuration Release --no-build --output ./nupkg
47+
48+
- name: 📤 Upload artifacts
49+
uses: actions/upload-artifact@v4
50+
with:
51+
name: packages
52+
path: ./nupkg

.github/workflows/release.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Release
1+
name: Release
22

33
on:
44
release:
@@ -21,12 +21,16 @@ jobs:
2121
- name: 🛠️ Setup .NET
2222
uses: actions/setup-dotnet@v4
2323
with:
24-
dotnet-version: 8.x
24+
dotnet-version: 10.x
2525

2626
- name: ✏️ Set abstractions version from CHANGELOG.md
2727
shell: pwsh
2828
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.Abstractions/CHANGELOG.md -CsprojPath XrmPluginCore.Abstractions/XrmPluginCore.Abstractions.csproj
2929

30+
- name: ✏️ Set source generator version from CHANGELOG.md
31+
shell: pwsh
32+
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.SourceGenerator/CHANGELOG.md -CsprojPath XrmPluginCore.SourceGenerator/XrmPluginCore.SourceGenerator.csproj
33+
3034
- name: ✏️ Set implementations version from CHANGELOG.md
3135
shell: pwsh
3236
run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore/CHANGELOG.md -CsprojPath XrmPluginCore/XrmPluginCore.csproj

0 commit comments

Comments
 (0)