diff --git a/CodeChanges/AddNet5Support.sh b/CodeChanges/AddNet5Support.sh index 03ac22c..58f56fc 100755 --- a/CodeChanges/AddNet5Support.sh +++ b/CodeChanges/AddNet5Support.sh @@ -1,7 +1,7 @@ #!/bin/bash # Use netcoreapp3.1 instead of netcoreapp3.0 (can be used separately) -find . -type f -name "*.csproj" -print0 | xargs -0 sed -i -e 's/netcoreapp3\.0/netcoreapp3.1/g' +find . -type f -name "*.csproj" -print0 | xargs -0 sed -i -e 's/netcoreapp3\.0<\/TargetFramework>/netcoreapp3.1<\/TargetFramework>/g' -e 's/netcoreapp3\.0\([;<]\)/netcoreapp3.1\1/g' -e 's/netcoreapp3\.0<\/TargetFrameworks/netcoreapp3.1<\/TargetFrameworks/g' # Use net5 instead of netcoreapp3.1 in automated tests find . -type f -name "*.yml" -print0 | xargs -0 sed -i -e 's/dotnet test -c Release -f netcoreapp3.1/dotnet test -c Release -f net5/g' diff --git a/examples/experiments/full_test.csproj b/examples/experiments/full_test.csproj new file mode 100644 index 0000000..d9d54d9 --- /dev/null +++ b/examples/experiments/full_test.csproj @@ -0,0 +1,14 @@ + + + + netcoreapp3.0 + net472;netcoreapp3.0;netstandard2.1 + false + latest + + + + + + + \ No newline at end of file diff --git a/examples/experiments/full_test_result.csproj b/examples/experiments/full_test_result.csproj new file mode 100644 index 0000000..75a3117 --- /dev/null +++ b/examples/experiments/full_test_result.csproj @@ -0,0 +1,14 @@ + + + + net5 + net472;netcoreapp3.0;netstandard2.1;net5 + false + latest + + + + + + + \ No newline at end of file diff --git a/examples/experiments/improved_test_result.csproj b/examples/experiments/improved_test_result.csproj new file mode 100644 index 0000000..875acc3 --- /dev/null +++ b/examples/experiments/improved_test_result.csproj @@ -0,0 +1,14 @@ + + + + net5 + net472;netcoreapp3.1;netstandard2.1;net5 + false + latest + + + + + + + \ No newline at end of file diff --git a/examples/experiments/test.csproj b/examples/experiments/test.csproj new file mode 100644 index 0000000..ed19052 --- /dev/null +++ b/examples/experiments/test.csproj @@ -0,0 +1,14 @@ + + + + netcoreapp3.0 + net472;netcoreapp3.0 + false + latest + + + + + + + \ No newline at end of file diff --git a/examples/experiments/test_full_script.sh b/examples/experiments/test_full_script.sh new file mode 100755 index 0000000..f5e9cb1 --- /dev/null +++ b/examples/experiments/test_full_script.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Test the complete fixed script + +cp full_test.csproj full_test_result.csproj +echo "=== Testing complete fixed script ===" +echo "Before:" +cat full_test_result.csproj + +# Apply all the fixed script commands +# Step 1: Use netcoreapp3.1 instead of netcoreapp3.0 +sed -i -e 's/netcoreapp3\.0<\/TargetFramework>/netcoreapp3.1<\/TargetFramework>/g' -e 's/netcoreapp3\.0<\/TargetFrameworks/netcoreapp3.1<\/TargetFrameworks/g' full_test_result.csproj + +# Step 2: Add net5 target framework +sed -i -e 's|netstandard2\.1<\/TargetFrameworks|netstandard2.1;net5<\/TargetFrameworks|g' -e 's|netcoreapp3\.1<\/TargetFrameworks|netcoreapp3.1;net5<\/TargetFrameworks|g' full_test_result.csproj + +# Step 3: Replace application's target framework +sed -i -e 's|netcoreapp3\.1<\/TargetFramework>|net5<\/TargetFramework>|g' full_test_result.csproj + +echo "" +echo "After (should preserve CSharpToCppTranslator path):" +cat full_test_result.csproj \ No newline at end of file diff --git a/examples/experiments/test_improved_script.sh b/examples/experiments/test_improved_script.sh new file mode 100755 index 0000000..0b9753e --- /dev/null +++ b/examples/experiments/test_improved_script.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Test the improved fixed script + +cp full_test.csproj improved_test_result.csproj +echo "=== Testing improved fixed script ===" +echo "Before:" +cat improved_test_result.csproj + +# Apply the improved script commands +# Step 1: Use netcoreapp3.1 instead of netcoreapp3.0 (improved version) +sed -i -e 's/netcoreapp3\.0<\/TargetFramework>/netcoreapp3.1<\/TargetFramework>/g' -e 's/netcoreapp3\.0\([;<]\)/netcoreapp3.1\1/g' -e 's/netcoreapp3\.0<\/TargetFrameworks/netcoreapp3.1<\/TargetFrameworks/g' improved_test_result.csproj + +# Step 2: Add net5 target framework +sed -i -e 's|netstandard2\.1<\/TargetFrameworks|netstandard2.1;net5<\/TargetFrameworks|g' -e 's|netcoreapp3\.1<\/TargetFrameworks|netcoreapp3.1;net5<\/TargetFrameworks|g' improved_test_result.csproj + +# Step 3: Replace application's target framework +sed -i -e 's|netcoreapp3\.1<\/TargetFramework>|net5<\/TargetFramework>|g' improved_test_result.csproj + +echo "" +echo "After (should properly transform TargetFrameworks and preserve CSharpToCppTranslator path):" +cat improved_test_result.csproj \ No newline at end of file diff --git a/examples/experiments/test_new_result.csproj b/examples/experiments/test_new_result.csproj new file mode 100644 index 0000000..4906ec0 --- /dev/null +++ b/examples/experiments/test_new_result.csproj @@ -0,0 +1,14 @@ + + + + netcoreapp3.1 + net472;netcoreapp3.1 + false + latest + + + + + + + \ No newline at end of file diff --git a/examples/experiments/test_new_script.sh b/examples/experiments/test_new_script.sh new file mode 100755 index 0000000..2706b1b --- /dev/null +++ b/examples/experiments/test_new_script.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# Test the new (fixed) version of the script + +cp test.csproj test_new_result.csproj +echo "=== Testing new script behavior ===" +echo "Before:" +cat test_new_result.csproj + +# Apply the new fixed sed commands +sed -i -e 's/netcoreapp3\.0<\/TargetFramework>/netcoreapp3.1<\/TargetFramework>/g' -e 's/netcoreapp3\.0<\/TargetFrameworks/netcoreapp3.1<\/TargetFrameworks/g' test_new_result.csproj + +echo "" +echo "After (shows the fix - only TargetFramework tags changed, CSharpToCppTranslator path unchanged):" +cat test_new_result.csproj \ No newline at end of file diff --git a/examples/experiments/test_old_result.csproj b/examples/experiments/test_old_result.csproj new file mode 100644 index 0000000..4910ac8 --- /dev/null +++ b/examples/experiments/test_old_result.csproj @@ -0,0 +1,14 @@ + + + + netcoreapp3.1 + net472;netcoreapp3.1 + false + latest + + + + + + + \ No newline at end of file diff --git a/examples/experiments/test_old_script.sh b/examples/experiments/test_old_script.sh new file mode 100755 index 0000000..5f04f31 --- /dev/null +++ b/examples/experiments/test_old_script.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# Test the old (problematic) version of the script + +cp test.csproj test_old_result.csproj +echo "=== Testing old script behavior ===" +echo "Before (problematic version):" +cat test_old_result.csproj + +# Apply the old problematic sed command +sed -i -e 's/netcoreapp3\.0/netcoreapp3.1/g' test_old_result.csproj + +echo "" +echo "After (shows the problem - CSharpToCppTranslator path gets changed):" +cat test_old_result.csproj \ No newline at end of file