summaryrefslogtreecommitdiff
path: root/tests/projects/csharp/multiple_library
diff options
context:
space:
mode:
authorJassJam <[email protected]>2026-02-23 12:28:50 +0000
committerruki <[email protected]>2026-03-14 00:08:40 +0800
commit9946d1814f4af9ef67e5accd9404e0fc69290f6f (patch)
treef669ea003ab4947aabb7732696aefa4e62f5793c /tests/projects/csharp/multiple_library
parent95fa1f158a4044b9851ce6c0f4ff21f3427ce83e (diff)
feat: add initial test files
Diffstat (limited to 'tests/projects/csharp/multiple_library')
-rw-r--r--tests/projects/csharp/multiple_library/.gitignore6
-rw-r--r--tests/projects/csharp/multiple_library/src/libalpha/Alpha.cs10
-rw-r--r--tests/projects/csharp/multiple_library/src/libalpha/libalpha.csproj8
-rw-r--r--tests/projects/csharp/multiple_library/src/libbeta/Beta.cs12
-rw-r--r--tests/projects/csharp/multiple_library/src/libbeta/libbeta.csproj11
-rw-r--r--tests/projects/csharp/multiple_library/src/sample/Program.cs3
-rw-r--r--tests/projects/csharp/multiple_library/src/sample/sample.csproj14
-rw-r--r--tests/projects/csharp/multiple_library/test.lua10
-rw-r--r--tests/projects/csharp/multiple_library/xmake.lua18
9 files changed, 92 insertions, 0 deletions
diff --git a/tests/projects/csharp/multiple_library/.gitignore b/tests/projects/csharp/multiple_library/.gitignore
new file mode 100644
index 000000000..6b8d3af38
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/.gitignore
@@ -0,0 +1,6 @@
+.xmake/
+build/
+bin/
+obj/
+vsxmake*/
+.vs/
diff --git a/tests/projects/csharp/multiple_library/src/libalpha/Alpha.cs b/tests/projects/csharp/multiple_library/src/libalpha/Alpha.cs
new file mode 100644
index 000000000..f203d9c9e
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/src/libalpha/Alpha.cs
@@ -0,0 +1,10 @@
+namespace LibAlpha;
+
+public static class Alpha
+{
+ public static string Message()
+ {
+ return "alpha";
+ }
+}
+
diff --git a/tests/projects/csharp/multiple_library/src/libalpha/libalpha.csproj b/tests/projects/csharp/multiple_library/src/libalpha/libalpha.csproj
new file mode 100644
index 000000000..30c56ecb5
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/src/libalpha/libalpha.csproj
@@ -0,0 +1,8 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>net8.0</TargetFramework>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+</Project>
+
diff --git a/tests/projects/csharp/multiple_library/src/libbeta/Beta.cs b/tests/projects/csharp/multiple_library/src/libbeta/Beta.cs
new file mode 100644
index 000000000..5e431039f
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/src/libbeta/Beta.cs
@@ -0,0 +1,12 @@
+using LibAlpha;
+
+namespace LibBeta;
+
+public static class Beta
+{
+ public static string Message()
+ {
+ return Alpha.Message() + "+beta";
+ }
+}
+
diff --git a/tests/projects/csharp/multiple_library/src/libbeta/libbeta.csproj b/tests/projects/csharp/multiple_library/src/libbeta/libbeta.csproj
new file mode 100644
index 000000000..15502d321
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/src/libbeta/libbeta.csproj
@@ -0,0 +1,11 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>net8.0</TargetFramework>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+ <ItemGroup>
+ <ProjectReference Include="../libalpha/libalpha.csproj" />
+ </ItemGroup>
+</Project>
+
diff --git a/tests/projects/csharp/multiple_library/src/sample/Program.cs b/tests/projects/csharp/multiple_library/src/sample/Program.cs
new file mode 100644
index 000000000..2292a8af9
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/src/sample/Program.cs
@@ -0,0 +1,3 @@
+using LibBeta;
+
+Console.WriteLine(Beta.Message()); \ No newline at end of file
diff --git a/tests/projects/csharp/multiple_library/src/sample/sample.csproj b/tests/projects/csharp/multiple_library/src/sample/sample.csproj
new file mode 100644
index 000000000..459440d0e
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/src/sample/sample.csproj
@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFramework>net8.0</TargetFramework>
+ <ImplicitUsings>enable</ImplicitUsings>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="../libbeta/libbeta.csproj" />
+ </ItemGroup>
+
+</Project>
diff --git a/tests/projects/csharp/multiple_library/test.lua b/tests/projects/csharp/multiple_library/test.lua
new file mode 100644
index 000000000..5ab8adc69
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/test.lua
@@ -0,0 +1,10 @@
+import("lib.detect.find_tool")
+
+function test_build(t)
+ local dotnet = find_tool("dotnet")
+ if dotnet then
+ t:build()
+ else
+ return t:skip("dotnet not found")
+ end
+end
diff --git a/tests/projects/csharp/multiple_library/xmake.lua b/tests/projects/csharp/multiple_library/xmake.lua
new file mode 100644
index 000000000..b4be98c99
--- /dev/null
+++ b/tests/projects/csharp/multiple_library/xmake.lua
@@ -0,0 +1,18 @@
+add_rules("mode.debug", "mode.release")
+
+target("libalpha")
+ set_kind("shared")
+ add_rules("csharp")
+ add_files("src/libalpha/*.cs", "src/libalpha/libalpha.csproj")
+
+target("libbeta")
+ set_kind("shared")
+ add_rules("csharp")
+ add_deps("libalpha")
+ add_files("src/libbeta/*.cs", "src/libbeta/libbeta.csproj")
+
+target("sample")
+ set_kind("binary")
+ add_rules("csharp")
+ add_deps("libbeta")
+ add_files("src/sample/*.cs", "src/sample/sample.csproj")