Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Ensure consistent line endings across all platforms
* text=auto eol=lf
5 changes: 5 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ jobs:
- name: Restore dependencies
run: dotnet restore

- name: Verify generated code is up-to-date
run: |
dotnet run --project Src/Generate
git diff --exit-code || (echo "Generated code is out of date. Run 'dotnet run --project Src/Generate' and commit the results." && exit 1)

- name: Build
run: dotnet build --no-restore -bl

Expand Down
7,610 changes: 3,805 additions & 3,805 deletions Src/Basic.Reference.Assemblies.AspNet100/Generated.cs

Large diffs are not rendered by default.

1,842 changes: 921 additions & 921 deletions Src/Basic.Reference.Assemblies.AspNet100/Generated.targets

Large diffs are not rendered by default.

9,362 changes: 4,681 additions & 4,681 deletions Src/Basic.Reference.Assemblies.AspNet110/Generated.cs

Large diffs are not rendered by default.

2,004 changes: 1,002 additions & 1,002 deletions Src/Basic.Reference.Assemblies.AspNet110/Generated.targets

Large diffs are not rendered by default.

7,316 changes: 3,658 additions & 3,658 deletions Src/Basic.Reference.Assemblies.AspNet80/Generated.cs

Large diffs are not rendered by default.

1,806 changes: 903 additions & 903 deletions Src/Basic.Reference.Assemblies.AspNet80/Generated.targets

Large diffs are not rendered by default.

7,340 changes: 3,670 additions & 3,670 deletions Src/Basic.Reference.Assemblies.AspNet90/Generated.cs

Large diffs are not rendered by default.

1,812 changes: 906 additions & 906 deletions Src/Basic.Reference.Assemblies.AspNet90/Generated.targets

Large diffs are not rendered by default.

1,520 changes: 760 additions & 760 deletions Src/Basic.Reference.Assemblies.Net100.Wasm/Generated.cs

Large diffs are not rendered by default.

514 changes: 257 additions & 257 deletions Src/Basic.Reference.Assemblies.Net100.Wasm/Generated.targets

Large diffs are not rendered by default.

1,488 changes: 744 additions & 744 deletions Src/Basic.Reference.Assemblies.Net100/Generated.cs

Large diffs are not rendered by default.

498 changes: 249 additions & 249 deletions Src/Basic.Reference.Assemblies.Net100/Generated.targets

Large diffs are not rendered by default.

3,022 changes: 1,511 additions & 1,511 deletions Src/Basic.Reference.Assemblies.Net110/Generated.cs

Large diffs are not rendered by default.

828 changes: 414 additions & 414 deletions Src/Basic.Reference.Assemblies.Net110/Generated.targets

Large diffs are not rendered by default.

508 changes: 254 additions & 254 deletions Src/Basic.Reference.Assemblies.Net20/Generated.cs

Large diffs are not rendered by default.

154 changes: 77 additions & 77 deletions Src/Basic.Reference.Assemblies.Net20/Generated.targets

Large diffs are not rendered by default.

826 changes: 413 additions & 413 deletions Src/Basic.Reference.Assemblies.Net35/Generated.cs

Large diffs are not rendered by default.

300 changes: 150 additions & 150 deletions Src/Basic.Reference.Assemblies.Net35/Generated.targets

Large diffs are not rendered by default.

816 changes: 408 additions & 408 deletions Src/Basic.Reference.Assemblies.Net40/Generated.cs

Large diffs are not rendered by default.

324 changes: 162 additions & 162 deletions Src/Basic.Reference.Assemblies.Net40/Generated.targets

Large diffs are not rendered by default.

4,376 changes: 2,188 additions & 2,188 deletions Src/Basic.Reference.Assemblies.Net461/Generated.cs

Large diffs are not rendered by default.

816 changes: 408 additions & 408 deletions Src/Basic.Reference.Assemblies.Net461/Generated.targets

Large diffs are not rendered by default.

5,706 changes: 2,853 additions & 2,853 deletions Src/Basic.Reference.Assemblies.Net472/Generated.cs

Large diffs are not rendered by default.

1,402 changes: 701 additions & 701 deletions Src/Basic.Reference.Assemblies.Net472/Generated.targets

Large diffs are not rendered by default.

1,360 changes: 680 additions & 680 deletions Src/Basic.Reference.Assemblies.Net50/Generated.cs

Large diffs are not rendered by default.

456 changes: 228 additions & 228 deletions Src/Basic.Reference.Assemblies.Net50/Generated.targets

Large diffs are not rendered by default.

1,372 changes: 686 additions & 686 deletions Src/Basic.Reference.Assemblies.Net60/Generated.cs

Large diffs are not rendered by default.

474 changes: 237 additions & 237 deletions Src/Basic.Reference.Assemblies.Net60/Generated.targets

Large diffs are not rendered by default.

194 changes: 97 additions & 97 deletions Src/Basic.Reference.Assemblies.Net60Windows/Generated.cs

Large diffs are not rendered by default.

116 changes: 58 additions & 58 deletions Src/Basic.Reference.Assemblies.Net60Windows/Generated.targets

Large diffs are not rendered by default.

1,482 changes: 741 additions & 741 deletions Src/Basic.Reference.Assemblies.Net70/Generated.cs

Large diffs are not rendered by default.

488 changes: 244 additions & 244 deletions Src/Basic.Reference.Assemblies.Net70/Generated.targets

Large diffs are not rendered by default.

1,482 changes: 741 additions & 741 deletions Src/Basic.Reference.Assemblies.Net80/Generated.cs

Large diffs are not rendered by default.

488 changes: 244 additions & 244 deletions Src/Basic.Reference.Assemblies.Net80/Generated.targets

Large diffs are not rendered by default.

194 changes: 97 additions & 97 deletions Src/Basic.Reference.Assemblies.Net80Windows/Generated.cs

Large diffs are not rendered by default.

116 changes: 58 additions & 58 deletions Src/Basic.Reference.Assemblies.Net80Windows/Generated.targets

Large diffs are not rendered by default.

1,482 changes: 741 additions & 741 deletions Src/Basic.Reference.Assemblies.Net90/Generated.cs

Large diffs are not rendered by default.

490 changes: 245 additions & 245 deletions Src/Basic.Reference.Assemblies.Net90/Generated.targets

Large diffs are not rendered by default.

1,326 changes: 663 additions & 663 deletions Src/Basic.Reference.Assemblies.NetCoreApp31/Generated.cs

Large diffs are not rendered by default.

450 changes: 225 additions & 225 deletions Src/Basic.Reference.Assemblies.NetCoreApp31/Generated.targets

Large diffs are not rendered by default.

534 changes: 267 additions & 267 deletions Src/Basic.Reference.Assemblies.NetStandard13/Generated.cs

Large diffs are not rendered by default.

184 changes: 92 additions & 92 deletions Src/Basic.Reference.Assemblies.NetStandard13/Generated.targets

Large diffs are not rendered by default.

1,042 changes: 521 additions & 521 deletions Src/Basic.Reference.Assemblies.NetStandard20/Generated.cs

Large diffs are not rendered by default.

350 changes: 175 additions & 175 deletions Src/Basic.Reference.Assemblies.NetStandard20/Generated.targets

Large diffs are not rendered by default.

1,174 changes: 587 additions & 587 deletions Src/Basic.Reference.Assemblies.NetStandard21/Generated.cs

Large diffs are not rendered by default.

376 changes: 188 additions & 188 deletions Src/Basic.Reference.Assemblies.NetStandard21/Generated.targets

Large diffs are not rendered by default.

5,706 changes: 2,853 additions & 2,853 deletions Src/Basic.Reference.Assemblies/Generated.Net472.cs

Large diffs are not rendered by default.

1,402 changes: 701 additions & 701 deletions Src/Basic.Reference.Assemblies/Generated.Net472.targets

Large diffs are not rendered by default.

1,482 changes: 741 additions & 741 deletions Src/Basic.Reference.Assemblies/Generated.Net80.cs

Large diffs are not rendered by default.

488 changes: 244 additions & 244 deletions Src/Basic.Reference.Assemblies/Generated.Net80.targets

Large diffs are not rendered by default.

1,042 changes: 521 additions & 521 deletions Src/Basic.Reference.Assemblies/Generated.NetStandard20.cs

Large diffs are not rendered by default.

350 changes: 175 additions & 175 deletions Src/Basic.Reference.Assemblies/Generated.NetStandard20.targets

Large diffs are not rendered by default.

15 changes: 11 additions & 4 deletions Src/Generate/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,8 @@ string GetSrcPath(string[] args)
throw new Exception("Could not find workspace path");
}

static string NormalizeLineEndings(string text) => text.ReplaceLineEndings("\n");

static (Guid Mvid, bool IsAssembly)? GetMvid(string filePath)
{
try
Expand Down Expand Up @@ -479,7 +481,7 @@ public static class ExtraReferenceInfos
</Project>
""");

return (codeContent.ToString(), targetsContent.ToString());
return (NormalizeLineEndings(codeContent.ToString()), NormalizeLineEndings(targetsContent.ToString()));

void ProcessDlls(
string name,
Expand All @@ -499,7 +501,7 @@ void ProcessDlls(
var dllName = Path.GetFileName(dllInfo.FilePath)!;
var dll = Path.GetFileNameWithoutExtension(dllName);
var logicalName = $"{lowerName}.{dll}";
var dllResourcePath = Path.Join(targetsPrefix, dllInfo.RelativeFilePath);
var dllResourcePath = $"{targetsPrefix}/{dllInfo.RelativeFilePath}";

targetsContent.AppendLine($$"""
<EmbeddedResource Include="{{dllResourcePath}}" WithCulture="false">
Expand Down Expand Up @@ -627,7 +629,7 @@ public static ImmutableArray<PortableExecutableReference> All
}
}

var allPropNames = new List<string>();
var results = new List<(string FilePath, string RelativeFilePath, Guid Mvid)>();
foreach (var dllPath in dllPaths)
{
if (GetMvid(dllPath) is not var (mvid, isAssembly) || !isAssembly)
Expand All @@ -636,8 +638,13 @@ public static ImmutableArray<PortableExecutableReference> All
}

var relativeFilePath = dllPath.Substring(packagePrefix.Length);
yield return (dllPath, relativeFilePath, mvid);
// Normalize path separators so sorting is consistent across OS
relativeFilePath = relativeFilePath.Replace('\\', '/').TrimStart('/');
results.Add((dllPath, relativeFilePath, mvid));
}

results.Sort((x, y) => string.Compare(x.RelativeFilePath, y.RelativeFilePath, StringComparison.Ordinal));
return results;
}

static (string CodeContent, string TargetsContent) GetGeneratedContent(string name, string[] packagePaths, string[]? extraPackagePaths = null)
Expand Down
Loading