From 869bf8afc6e54751bfb371d37e1448b48302a946 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Tue, 14 May 2024 13:35:12 +0200 Subject: [PATCH] C++/C#: Move the Windows autobuilder into a subfolder in `ql/csharp`. This is a necessary preparation for moving the C# dependency management to `paket`, which in turn is a necessary preparation for moving the C# build to bazel. As we discovered in https://github.com/github/codeql/pull/16376, `paket` tries to restore all projects recursively from the root folder. If we support building C# code under both `ql/csharp` and `ql/cpp`, we need to have a single lockfile under `ql`, as both codebases share the same set of dependencies (and utilities from `ql/csharp/extractor`). Then, `paket` will also try to restore things that look like "C# projects" in other languages' folders, which is not what we want. Therefore, we address this by moving all C# code into a common root directory, `ql/csharp`. This needs an internal PR to adjust the buildsystem to look for the autobuilder in the new location. --- .github/workflows/csharp-qltest.yml | 2 +- CODEOWNERS | 2 ++ cpp/autobuilder/.gitignore | 13 ------------- cpp/autobuilder/README.md | 1 + csharp/CSharp.sln | 4 ++-- .../Semmle.Autobuild.Cpp.Tests/BuildScripts.cs | 0 .../Semmle.Autobuild.Cpp.Tests.csproj | 2 +- .../Semmle.Autobuild.Cpp/CppAutobuilder.cs | 0 .../autobuilder/Semmle.Autobuild.Cpp/Program.cs | 0 .../Semmle.Autobuild.Cpp/Properties/AssemblyInfo.cs | 0 .../Semmle.Autobuild.Cpp.csproj | 4 ++-- 11 files changed, 9 insertions(+), 19 deletions(-) delete mode 100644 cpp/autobuilder/.gitignore create mode 100644 cpp/autobuilder/README.md rename {cpp => csharp}/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs (100%) rename {cpp => csharp}/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj (89%) rename {cpp => csharp}/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs (100%) rename {cpp => csharp}/autobuilder/Semmle.Autobuild.Cpp/Program.cs (100%) rename {cpp => csharp}/autobuilder/Semmle.Autobuild.Cpp/Properties/AssemblyInfo.cs (100%) rename {cpp => csharp}/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj (76%) diff --git a/.github/workflows/csharp-qltest.yml b/.github/workflows/csharp-qltest.yml index 557354e96de..81398a4dd2c 100644 --- a/.github/workflows/csharp-qltest.yml +++ b/.github/workflows/csharp-qltest.yml @@ -84,7 +84,7 @@ jobs: dotnet test -p:RuntimeFrameworkVersion=8.0.1 extractor/Semmle.Util.Tests dotnet test -p:RuntimeFrameworkVersion=8.0.1 extractor/Semmle.Extraction.Tests dotnet test -p:RuntimeFrameworkVersion=8.0.1 autobuilder/Semmle.Autobuild.CSharp.Tests - dotnet test -p:RuntimeFrameworkVersion=8.0.1 "${{ github.workspace }}/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests" + dotnet test -p:RuntimeFrameworkVersion=8.0.1 "${{ github.workspace }}/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests" shell: bash stubgentest: runs-on: ubuntu-latest diff --git a/CODEOWNERS b/CODEOWNERS index d8539332467..1910dc29a11 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,6 +1,8 @@ /cpp/ @github/codeql-c-analysis /cpp/autobuilder/ @github/codeql-c-extractor /csharp/ @github/codeql-csharp +/csharp/autobuilder/Semmle.Autobuild.Cpp @github/codeql-c-extractor +/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests @github/codeql-c-extractor /go/ @github/codeql-go /java/ @github/codeql-java /javascript/ @github/codeql-javascript diff --git a/cpp/autobuilder/.gitignore b/cpp/autobuilder/.gitignore deleted file mode 100644 index f81ecc73dff..00000000000 --- a/cpp/autobuilder/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -obj/ -TestResults/ -*.manifest -*.pdb -*.suo -*.mdb -*.vsmdi -csharp.log -**/bin/Debug -**/bin/Release -*.tlog -.vs -*.user \ No newline at end of file diff --git a/cpp/autobuilder/README.md b/cpp/autobuilder/README.md new file mode 100644 index 00000000000..a6f213e2bd5 --- /dev/null +++ b/cpp/autobuilder/README.md @@ -0,0 +1 @@ +The Windows autobuilder that used to live in this directory moved to `csharp/autobuilder/Semmle.Autobuild.Cpp`. \ No newline at end of file diff --git a/csharp/CSharp.sln b/csharp/CSharp.sln index 0578b5b8810..bfab79f56cc 100644 --- a/csharp/CSharp.sln +++ b/csharp/CSharp.sln @@ -30,9 +30,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semmle.Autobuild.CSharp.Tes EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semmle.Extraction.CSharp.DependencyStubGenerator", "extractor\Semmle.Extraction.CSharp.DependencyStubGenerator\Semmle.Extraction.CSharp.DependencyStubGenerator.csproj", "{0EDA21A3-ADD8-4C10-B494-58B12B526B76}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semmle.Autobuild.Cpp", "..\cpp\autobuilder\Semmle.Autobuild.Cpp\Semmle.Autobuild.Cpp.csproj", "{125C4FB7-34DA-442A-9095-3EA1514270CD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semmle.Autobuild.Cpp", "\autobuilder\Semmle.Autobuild.Cpp\Semmle.Autobuild.Cpp.csproj", "{125C4FB7-34DA-442A-9095-3EA1514270CD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semmle.Autobuild.Cpp.Tests", "..\cpp\autobuilder\Semmle.Autobuild.Cpp.Tests\Semmle.Autobuild.Cpp.Tests.csproj", "{72F369B7-0707-401A-802F-D526F272F9EE}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semmle.Autobuild.Cpp.Tests", "autobuilder\Semmle.Autobuild.Cpp.Tests\Semmle.Autobuild.Cpp.Tests.csproj", "{72F369B7-0707-401A-802F-D526F272F9EE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs b/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs similarity index 100% rename from cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs rename to csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj b/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj similarity index 89% rename from cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj rename to csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj index 1fe010dc3fc..1579a4e758b 100644 --- a/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj +++ b/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/Semmle.Autobuild.Cpp.Tests.csproj @@ -21,6 +21,6 @@ - + diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs b/csharp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs similarity index 100% rename from cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs rename to csharp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp/Program.cs b/csharp/autobuilder/Semmle.Autobuild.Cpp/Program.cs similarity index 100% rename from cpp/autobuilder/Semmle.Autobuild.Cpp/Program.cs rename to csharp/autobuilder/Semmle.Autobuild.Cpp/Program.cs diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp/Properties/AssemblyInfo.cs b/csharp/autobuilder/Semmle.Autobuild.Cpp/Properties/AssemblyInfo.cs similarity index 100% rename from cpp/autobuilder/Semmle.Autobuild.Cpp/Properties/AssemblyInfo.cs rename to csharp/autobuilder/Semmle.Autobuild.Cpp/Properties/AssemblyInfo.cs diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj b/csharp/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj similarity index 76% rename from cpp/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj rename to csharp/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj index 99e49a2f0a7..4c7977ad569 100644 --- a/cpp/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj +++ b/csharp/autobuilder/Semmle.Autobuild.Cpp/Semmle.Autobuild.Cpp.csproj @@ -21,8 +21,8 @@ - - + +