Skip to content

Commit 0a90816

Browse files
authored
Reworking how xml is parsed so that it can be formatted and preserve the original attribute vales and new lines (#1679)
closes #1610
1 parent f9f8a1f commit 0a90816

26 files changed

+16107
-458
lines changed

.github/workflows/ValidatePullRequest.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ jobs:
1515
--logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true"
1616
--
1717
RunConfiguration.CollectSourceInformation=true
18+
no_warnings:
19+
runs-on: ubuntu-latest
20+
name: No Warnings
21+
steps:
22+
- uses: actions/checkout@v2
23+
- uses: actions/setup-dotnet@v3
24+
- run: >
25+
dotnet build CSharpier.slnx -c release -p:TreatWarningsAsErrors=true
1826
builds_playground:
1927
runs-on: ubuntu-latest
2028
name: Builds Playground
Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11
<component name="ProjectRunConfigurationManager">
2-
<configuration
3-
default="false"
4-
name="Debug msbuild"
5-
type="DotNetProject"
6-
factoryName=".NET Project"
7-
>
2+
<configuration default="false" name="Debug CLI" type="DotNetProject" factoryName=".NET Project">
83
<option
94
name="EXE_PATH"
10-
value="$PROJECT_DIR$/Src/CSharpier.Cli/bin/Debug/net8.0/CSharpier.exe"
5+
value="$PROJECT_DIR$/Src/CSharpier.Cli/bin/Debug/net8.0/CSharpier.dll"
116
/>
127
<option
138
name="PROGRAM_PARAMETERS"
14-
value="check C:\projects\csharpier-msbuild --log-format MsBuild"
9+
value="format C:\projects\csharpier-repos\mono\mcs\class\System.XML\Test\System.Xml\nist_dom\files\staff.xml"
1510
/>
1611
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Src/CSharpier.Cli/bin/Debug/net8.0" />
1712
<option name="PASS_PARENT_ENVS" value="1" />
1813
<option name="USE_EXTERNAL_CONSOLE" value="0" />
1914
<option name="ENV_FILE_PATHS" value="" />
2015
<option name="REDIRECT_INPUT_PATH" value="" />
2116
<option name="PTY_MODE" value="Auto" />
17+
<option name="MIXED_MODE_DEBUG" value="0" />
2218
<option name="USE_MONO" value="0" />
2319
<option name="RUNTIME_ARGUMENTS" value="" />
2420
<option name="AUTO_ATTACH_CHILDREN" value="0" />
25-
<option name="MIXED_MODE_DEBUG" value="0" />
2621
<option name="PROJECT_PATH" value="$PROJECT_DIR$/Src/CSharpier.Cli/CSharpier.Cli.csproj" />
2722
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
2823
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />

.run/Playground.run.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
name="LAUNCH_PROFILE_PROJECT_FILE_PATH"
1010
value="$PROJECT_DIR$/Src/CSharpier.Playground/CSharpier.Playground.csproj"
1111
/>
12-
<option name="LAUNCH_PROFILE_TFM" value="net9.0" />
12+
<option name="LAUNCH_PROFILE_TFM" value="net10.0" />
1313
<option name="LAUNCH_PROFILE_NAME" value="Watch" />
1414
<option name="USE_EXTERNAL_CONSOLE" value="0" />
1515
<option name="USE_MONO" value="0" />
@@ -18,6 +18,7 @@
1818
<option name="SHOW_IIS_EXPRESS_OUTPUT" value="0" />
1919
<option name="SEND_DEBUG_REQUEST" value="1" />
2020
<option name="ADDITIONAL_IIS_EXPRESS_ARGUMENTS" value="" />
21+
<option name="AUTO_ATTACH_CHILDREN" value="0" />
2122
<method v="2">
2223
<option name="Build" />
2324
</method>

Directory.Build.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<Nullable>enable</Nullable>
77
<!-- this is the warning generators get when they fail to generate a source file this makes sure the error for it failing is obvious -->
88
<WarningsAsErrors>CS8032;CS8033;</WarningsAsErrors>
9-
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
109
<EnableNETAnalyzers>true</EnableNETAnalyzers>
1110
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
1211
<AnalysisMode>Recommended</AnalysisMode>

Shell/BuildProject.psm1

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
function CSH-BuildProject
2-
{
1+
function CSH-BuildProject {
2+
param (
3+
[switch]$doNotExit = $false
4+
)
5+
6+
37
$repositoryRoot = Join-Path $PSScriptRoot ".."
48
$csProjectPath = Join-Path $repositoryRoot "Src/CSharpier.Cli/CSharpier.Cli.csproj"
59

610
& dotnet build $csProjectPath -c release
7-
if ($lastExitCode -gt 0) {
11+
if ($lastExitCode -gt 0 -and -not $doNotExit) {
812
exit $lastExitCode;
913
}
1014
}

Shell/ReviewBranch.psm1

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ function CSH-ReviewBranch {
22
param (
33
[string]$folder,
44
[string]$pathToTestingRepo,
5-
[switch]$skipValidation = $true
5+
[switch]$skipValidation = $true,
6+
[switch]$onlyXml = $false
67
)
78

89
$repositoryRoot = Join-Path $PSScriptRoot ".."
@@ -60,22 +61,25 @@ function CSH-ReviewBranch {
6061

6162
if ($firstRun) {
6263
Set-Location $repositoryRoot
63-
# try {
64-
& git checkout main #2>&1 | Out-String
65-
# }
66-
# catch {
67-
# Write-Host "Could not checkout main on csharpier, working directory is probably not clean"
68-
# return
69-
# }
70-
71-
CSH-BuildProject
64+
65+
& git checkout main #2>&1 | Out-String
66+
67+
CSH-BuildProject -doNotExit
68+
69+
if ($lastExitCode -gt 0) {
70+
return
71+
}
7272

7373
Set-Location $pathToTestingRepo
7474

7575
& git checkout main
7676
& git reset --hard
7777
& git checkout -b $preBranch
7878

79+
if ($onlyXml) {
80+
Add-Content -Path "$pathToTestingRepo/.csharpierignore" -Value "**/*.cs"
81+
}
82+
7983
dotnet $csharpierDllPath format . $skipValidationParam --no-cache
8084
# there is some weirdness with a couple files with #if where
8185
# they need to be formatted twice to get them stable

0 commit comments

Comments
 (0)