From fecfc5d33fdc339af2a366a13d89c38aa290fd59 Mon Sep 17 00:00:00 2001
From: Jiri Cincura <jiri@cincura.net>
Date: Tue, 27 Aug 2024 10:02:25 +0200
Subject: [PATCH] Add WASM assets for .NET 9.

---
 gen_lib_nuspecs/Program.cs                                 | 4 ++++
 .../SQLitePCLRaw.lib.e_sqlcipher.nuspec                    | 2 ++
 .../net9.0/SQLitePCLRaw.lib.e_sqlcipher.targets            | 7 +++++++
 .../SQLitePCLRaw.lib.e_sqlite3.nuspec                      | 2 ++
 .../net9.0/SQLitePCLRaw.lib.e_sqlite3.targets              | 7 +++++++
 5 files changed, 22 insertions(+)
 create mode 100644 src/SQLitePCLRaw.lib.e_sqlcipher/net9.0/SQLitePCLRaw.lib.e_sqlcipher.targets
 create mode 100644 src/SQLitePCLRaw.lib.e_sqlite3/net9.0/SQLitePCLRaw.lib.e_sqlite3.targets

diff --git a/gen_lib_nuspecs/Program.cs b/gen_lib_nuspecs/Program.cs
index 7687e6a8..11fc3b9b 100644
--- a/gen_lib_nuspecs/Program.cs
+++ b/gen_lib_nuspecs/Program.cs
@@ -29,6 +29,7 @@ public enum TFM
     NET60,
     NET70,
     NET80,
+    NET90,
     MACCATALYST,
     XAMARINMAC20,
 }
@@ -48,6 +49,7 @@ public static string AsString(this TFM e)
             case TFM.NET60: return "net6.0";
             case TFM.NET70: return "net7.0";
             case TFM.NET80: return "net8.0";
+            case TFM.NET90: return "net9.0";
             case TFM.MACCATALYST: return "net6.0-maccatalyst15.2";
             case TFM.XAMARINMAC20: return "xamarin.mac20";
             default:
@@ -422,6 +424,7 @@ XmlWriter f
         write_nuspec_file_entry_native_wasm(lib, TFM.NET60, f);
         write_nuspec_file_entry_native_wasm(lib, TFM.NET70, f);
         write_nuspec_file_entry_native_wasm(lib, TFM.NET80, f);
+        write_nuspec_file_entry_native_wasm(lib, TFM.NET90, f);
     }
 
     static void write_nuspec_wasm_targets_file_entry(
@@ -530,6 +533,7 @@ private static void gen_nuspec_lib_e_sqlite3(string dir_src)
             write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3, TFM.NET60, f);
             write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3, TFM.NET70, f);
             write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3, TFM.NET80, f);
+            write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3, TFM.NET90, f);
 
             // TODO need a comment here to explain these
             common.write_empty(f, TFM.NET461);
diff --git a/src/SQLitePCLRaw.lib.e_sqlcipher/SQLitePCLRaw.lib.e_sqlcipher.nuspec b/src/SQLitePCLRaw.lib.e_sqlcipher/SQLitePCLRaw.lib.e_sqlcipher.nuspec
index 640ffd57..fb0cd834 100644
--- a/src/SQLitePCLRaw.lib.e_sqlcipher/SQLitePCLRaw.lib.e_sqlcipher.nuspec
+++ b/src/SQLitePCLRaw.lib.e_sqlcipher/SQLitePCLRaw.lib.e_sqlcipher.nuspec
@@ -41,10 +41,12 @@
     <file src="$cb_bin_path$\e_sqlcipher\wasm\net6.0\e_sqlcipher.a" target="runtimes\browser-wasm\nativeassets\net6.0\e_sqlcipher.a" />
     <file src="$cb_bin_path$\e_sqlcipher\wasm\net7.0\e_sqlcipher.a" target="runtimes\browser-wasm\nativeassets\net7.0\e_sqlcipher.a" />
     <file src="$cb_bin_path$\e_sqlcipher\wasm\net8.0\e_sqlcipher.a" target="runtimes\browser-wasm\nativeassets\net8.0\e_sqlcipher.a" />
+    <file src="$cb_bin_path$\e_sqlcipher\wasm\net9.0\e_sqlcipher.a" target="runtimes\browser-wasm\nativeassets\net9.0\e_sqlcipher.a" />
     <file src=".\net461\SQLitePCLRaw.lib.e_sqlcipher.targets" target="buildTransitive\net461" />
     <file src=".\net6.0\SQLitePCLRaw.lib.e_sqlcipher.targets" target="buildTransitive\net6.0" />
     <file src=".\net7.0\SQLitePCLRaw.lib.e_sqlcipher.targets" target="buildTransitive\net7.0" />
     <file src=".\net8.0\SQLitePCLRaw.lib.e_sqlcipher.targets" target="buildTransitive\net8.0" />
+    <file src=".\net9.0\SQLitePCLRaw.lib.e_sqlcipher.targets" target="buildTransitive\net9.0" />
     <!--empty directory in lib to avoid nuget adding a reference-->
     <file src="_._" target="lib/net461/_._" />
     <!--empty directory in lib to avoid nuget adding a reference-->
diff --git a/src/SQLitePCLRaw.lib.e_sqlcipher/net9.0/SQLitePCLRaw.lib.e_sqlcipher.targets b/src/SQLitePCLRaw.lib.e_sqlcipher/net9.0/SQLitePCLRaw.lib.e_sqlcipher.targets
new file mode 100644
index 00000000..8bf88b13
--- /dev/null
+++ b/src/SQLitePCLRaw.lib.e_sqlcipher/net9.0/SQLitePCLRaw.lib.e_sqlcipher.targets
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Automatically generated-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Condition=" '$(RuntimeIdentifier)' == 'browser-wasm' ">
+    <NativeFileReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\browser-wasm\nativeassets\net9.0\e_sqlcipher.a" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/SQLitePCLRaw.lib.e_sqlite3/SQLitePCLRaw.lib.e_sqlite3.nuspec b/src/SQLitePCLRaw.lib.e_sqlite3/SQLitePCLRaw.lib.e_sqlite3.nuspec
index 99b3c2b4..9c75ebdd 100644
--- a/src/SQLitePCLRaw.lib.e_sqlite3/SQLitePCLRaw.lib.e_sqlite3.nuspec
+++ b/src/SQLitePCLRaw.lib.e_sqlite3/SQLitePCLRaw.lib.e_sqlite3.nuspec
@@ -41,10 +41,12 @@
     <file src="$cb_bin_path$\e_sqlite3\wasm\net6.0\e_sqlite3.a" target="runtimes\browser-wasm\nativeassets\net6.0\e_sqlite3.a" />
     <file src="$cb_bin_path$\e_sqlite3\wasm\net7.0\e_sqlite3.a" target="runtimes\browser-wasm\nativeassets\net7.0\e_sqlite3.a" />
     <file src="$cb_bin_path$\e_sqlite3\wasm\net8.0\e_sqlite3.a" target="runtimes\browser-wasm\nativeassets\net8.0\e_sqlite3.a" />
+    <file src="$cb_bin_path$\e_sqlite3\wasm\net9.0\e_sqlite3.a" target="runtimes\browser-wasm\nativeassets\net9.0\e_sqlite3.a" />
     <file src=".\net461\SQLitePCLRaw.lib.e_sqlite3.targets" target="buildTransitive\net461" />
     <file src=".\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" target="buildTransitive\net6.0" />
     <file src=".\net7.0\SQLitePCLRaw.lib.e_sqlite3.targets" target="buildTransitive\net7.0" />
     <file src=".\net8.0\SQLitePCLRaw.lib.e_sqlite3.targets" target="buildTransitive\net8.0" />
+    <file src=".\net9.0\SQLitePCLRaw.lib.e_sqlite3.targets" target="buildTransitive\net9.0" />
     <!--empty directory in lib to avoid nuget adding a reference-->
     <file src="_._" target="lib/net461/_._" />
     <!--empty directory in lib to avoid nuget adding a reference-->
diff --git a/src/SQLitePCLRaw.lib.e_sqlite3/net9.0/SQLitePCLRaw.lib.e_sqlite3.targets b/src/SQLitePCLRaw.lib.e_sqlite3/net9.0/SQLitePCLRaw.lib.e_sqlite3.targets
new file mode 100644
index 00000000..419d31e4
--- /dev/null
+++ b/src/SQLitePCLRaw.lib.e_sqlite3/net9.0/SQLitePCLRaw.lib.e_sqlite3.targets
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Automatically generated-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Condition=" '$(RuntimeIdentifier)' == 'browser-wasm' ">
+    <NativeFileReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\browser-wasm\nativeassets\net9.0\e_sqlite3.a" />
+  </ItemGroup>
+</Project>
\ No newline at end of file