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: 1 addition & 1 deletion CodeChanges/AddNet5Support.sh
Original file line number Diff line number Diff line change
@@ -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/<TargetFramework>netcoreapp3\.0<\/TargetFramework>/<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'
Expand Down
14 changes: 14 additions & 0 deletions examples/experiments/full_test.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<TargetFrameworks>net472;netcoreapp3.0;netstandard2.1</TargetFrameworks>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<Target Name="CSharpToCppTranslation" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' AND $(TargetFramework) == 'netcoreapp3.0'">
<Exec Command="..\..\CSharpToCppTranslator\bin\$(Configuration)\netcoreapp3.0\CSharpToCppTranslator.exe $(ProjectDir) $(SolutionDir)cpp\$(ProjectName)\ .cs .cpp"></Exec>
</Target>

</Project>
14 changes: 14 additions & 0 deletions examples/experiments/full_test_result.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net5</TargetFramework>
<TargetFrameworks>net472;netcoreapp3.0;netstandard2.1;net5</TargetFrameworks>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<Target Name="CSharpToCppTranslation" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' AND $(TargetFramework) == 'netcoreapp3.0'">
<Exec Command="..\..\CSharpToCppTranslator\bin\$(Configuration)\netcoreapp3.0\CSharpToCppTranslator.exe $(ProjectDir) $(SolutionDir)cpp\$(ProjectName)\ .cs .cpp"></Exec>
</Target>

</Project>
14 changes: 14 additions & 0 deletions examples/experiments/improved_test_result.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net5</TargetFramework>
<TargetFrameworks>net472;netcoreapp3.1;netstandard2.1;net5</TargetFrameworks>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<Target Name="CSharpToCppTranslation" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' AND $(TargetFramework) == 'netcoreapp3.0'">
<Exec Command="..\..\CSharpToCppTranslator\bin\$(Configuration)\netcoreapp3.0\CSharpToCppTranslator.exe $(ProjectDir) $(SolutionDir)cpp\$(ProjectName)\ .cs .cpp"></Exec>
</Target>

</Project>
14 changes: 14 additions & 0 deletions examples/experiments/test.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<TargetFrameworks>net472;netcoreapp3.0</TargetFrameworks>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<Target Name="CSharpToCppTranslation" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' AND $(TargetFramework) == 'netcoreapp3.0'">
<Exec Command="..\..\CSharpToCppTranslator\bin\$(Configuration)\netcoreapp3.0\CSharpToCppTranslator.exe $(ProjectDir) $(SolutionDir)cpp\$(ProjectName)\ .cs .cpp"></Exec>
</Target>

</Project>
21 changes: 21 additions & 0 deletions examples/experiments/test_full_script.sh
Original file line number Diff line number Diff line change
@@ -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/<TargetFramework>netcoreapp3\.0<\/TargetFramework>/<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|<TargetFramework>netcoreapp3\.1<\/TargetFramework>|<TargetFramework>net5<\/TargetFramework>|g' full_test_result.csproj

echo ""
echo "After (should preserve CSharpToCppTranslator path):"
cat full_test_result.csproj
21 changes: 21 additions & 0 deletions examples/experiments/test_improved_script.sh
Original file line number Diff line number Diff line change
@@ -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/<TargetFramework>netcoreapp3\.0<\/TargetFramework>/<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|<TargetFramework>netcoreapp3\.1<\/TargetFramework>|<TargetFramework>net5<\/TargetFramework>|g' improved_test_result.csproj

echo ""
echo "After (should properly transform TargetFrameworks and preserve CSharpToCppTranslator path):"
cat improved_test_result.csproj
14 changes: 14 additions & 0 deletions examples/experiments/test_new_result.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<Target Name="CSharpToCppTranslation" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' AND $(TargetFramework) == 'netcoreapp3.0'">
<Exec Command="..\..\CSharpToCppTranslator\bin\$(Configuration)\netcoreapp3.0\CSharpToCppTranslator.exe $(ProjectDir) $(SolutionDir)cpp\$(ProjectName)\ .cs .cpp"></Exec>
</Target>

</Project>
14 changes: 14 additions & 0 deletions examples/experiments/test_new_script.sh
Original file line number Diff line number Diff line change
@@ -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/<TargetFramework>netcoreapp3\.0<\/TargetFramework>/<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
14 changes: 14 additions & 0 deletions examples/experiments/test_old_result.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<Target Name="CSharpToCppTranslation" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' AND $(TargetFramework) == 'netcoreapp3.1'">
<Exec Command="..\..\CSharpToCppTranslator\bin\$(Configuration)\netcoreapp3.1\CSharpToCppTranslator.exe $(ProjectDir) $(SolutionDir)cpp\$(ProjectName)\ .cs .cpp"></Exec>
</Target>

</Project>
14 changes: 14 additions & 0 deletions examples/experiments/test_old_script.sh
Original file line number Diff line number Diff line change
@@ -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