Browse Source

Add packages for SQLite3 Multiple Ciphers

pull/563/head
Brice Lambson 2 years ago
parent
commit
0819a214ea
No known key found for this signature in database GPG Key ID: C2A4A8BBA1BB7873
  1. 10
      build/Program.fs
  2. 61
      gen_lib_nuspecs/Program.cs
  3. 6
      gen_providers/Program.fs
  4. BIN
      sn/SQLitePCLRaw.lib.e_sqlite3mc.snk
  5. BIN
      sn/SQLitePCLRaw.provider.e_sqlite3mc.snk
  6. BIN
      sn/SQLitePCLRaw.provider.sqlite3mc.snk
  7. 26
      src/SQLitePCLRaw.bundle_e_sqlite3mc/SQLitePCLRaw.bundle_e_sqlite3mc.csproj
  8. 38
      src/SQLitePCLRaw.lib.e_sqlite3mc.android/SQLitePCLRaw.lib.e_sqlite3mc.android.csproj
  9. 17
      src/SQLitePCLRaw.lib.e_sqlite3mc.ios/SQLitePCLRaw.lib.e_sqlite3mc.ios.csproj
  10. 16
      src/SQLitePCLRaw.lib.e_sqlite3mc.ios/SQLitePCLRaw.lib.e_sqlite3mc.ios.targets
  11. 29
      src/SQLitePCLRaw.provider.e_sqlite3mc/SQLitePCLRaw.provider.e_sqlite3mc.csproj
  12. 29
      src/SQLitePCLRaw.provider.sqlite3mc/SQLitePCLRaw.provider.sqlite3mc.csproj
  13. 4
      src/common/batteries_v2.cs
  14. 5
      src/global.json
  15. 13
      src/msbuild_bundle_fragments/e_sqlite3mc_android.xml
  16. 13
      src/msbuild_bundle_fragments/e_sqlite3mc_dllimport.xml
  17. 18
      src/msbuild_bundle_fragments/e_sqlite3mc_dynamic.xml
  18. 13
      src/msbuild_bundle_fragments/e_sqlite3mc_ios.xml
  19. 12
      test_nupkgs/e_sqlite3mc/fake_xunit/Program.cs
  20. 19
      test_nupkgs/e_sqlite3mc/fake_xunit/e_sqlite3mc_with_fake_xunit.csproj
  21. 24
      test_nupkgs/e_sqlite3mc/real_xunit/e_sqlite3mc_with_real_xunit.csproj
  22. 4
      test_nupkgs/e_sqlite3mc/real_xunit/xunit.runner.json

10
build/Program.fs

@ -30,6 +30,7 @@ let main argv =
let nuspec_dirs = [
"lib.e_sqlite3"
"lib.e_sqlcipher"
"lib.e_sqlite3mc"
]
for s in nuspec_dirs do
@ -48,18 +49,24 @@ let main argv =
"provider.winsqlite3"
"provider.e_sqlite3"
"provider.e_sqlcipher"
"provider.e_sqlite3mc"
"provider.sqlite3"
"provider.sqlcipher"
"provider.sqlite3mc"
"lib.e_sqlite3.android"
"lib.e_sqlite3.ios"
"lib.e_sqlite3.tvos"
"lib.e_sqlcipher.android"
"lib.e_sqlcipher.ios"
"lib.e_sqlite3mc.android"
"lib.e_sqlite3mc.ios"
"lib.e_sqlite3"
"lib.e_sqlcipher"
"lib.e_sqlite3mc"
"bundle_green"
"bundle_e_sqlite3"
"bundle_e_sqlcipher"
"bundle_e_sqlite3mc"
"bundle_zetetic"
"bundle_winsqlite3"
"bundle_sqlite3"
@ -86,6 +93,7 @@ let main argv =
let real_xunit_dirs = [
yield "e_sqlite3"
yield "e_sqlcipher"
yield "e_sqlite3mc"
// TODO do bundle_sqlite3 real_xunit here?
if RuntimeInformation.IsOSPlatform(OSPlatform.Windows) then yield "winsqlite3"
]
@ -99,6 +107,7 @@ let main argv =
let fake_xunit_dirs = [
yield "e_sqlite3"
yield "e_sqlcipher"
yield "e_sqlite3mc"
if RuntimeInformation.IsOSPlatform(OSPlatform.Windows) then yield "winsqlite3"
yield "sqlite3"
]
@ -116,6 +125,7 @@ let main argv =
let args = "run -f net6.0-windows -r win-x86 --no-self-contained"
exec "dotnet" args (Path.Combine(top, "test_nupkgs", "e_sqlite3", "fake_xunit"))
exec "dotnet" args (Path.Combine(top, "test_nupkgs", "e_sqlcipher", "fake_xunit"))
exec "dotnet" args (Path.Combine(top, "test_nupkgs", "e_sqlite3mc", "fake_xunit"))
#endif
printfn "generating push.bat"

61
gen_lib_nuspecs/Program.cs

@ -164,6 +164,7 @@ public static class gen
{
case WhichLib.E_SQLITE3: return "e_sqlite3";
case WhichLib.E_SQLCIPHER: return "e_sqlcipher"; // TODO no e_ prefix in cb yet
case WhichLib.E_SQLITE3MC: return "e_sqlite3mc";
default:
throw new NotImplementedException(string.Format("WhichLib.AsString for {0}", e));
}
@ -175,6 +176,7 @@ public static class gen
{
case WhichLib.E_SQLITE3: return "e_sqlite3";
case WhichLib.E_SQLCIPHER: return "e_sqlcipher";
case WhichLib.E_SQLITE3MC: return "e_sqlite3mc";
default:
throw new NotImplementedException(string.Format("WhichLib.AsString for {0}", e));
}
@ -600,11 +602,69 @@ public static class gen
}
}
private static void gen_nuspec_lib_e_sqlite3mc(string dir_src)
{
string id = string.Format("{0}.lib.e_sqlite3mc", common.ROOT_NAME);
var settings = common.XmlWriterSettings_default();
settings.OmitXmlDeclaration = false;
var dir_proj = Path.Combine(dir_src, id);
Directory.CreateDirectory(dir_proj);
common.gen_dummy_csproj(dir_proj, id);
using (XmlWriter f = XmlWriter.Create(Path.Combine(dir_proj, string.Format("{0}.nuspec", id)), settings))
{
f.WriteStartDocument();
f.WriteComment("Automatically generated");
f.WriteStartElement("package", "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd");
f.WriteStartElement("metadata");
common.write_nuspec_common_metadata(id, f);
f.WriteElementString("description", "This package contains platform-specific native code builds of SQLite3 Multiple Ciphers (see utelle/SQLite3MultipleCiphers on GitHub) for use with SQLitePCLRaw. To use this package, you need SQLitePCLRaw.core as well as one of the SQLitePCLRaw.provider.* packages. Convenience packages are named SQLitePCLRaw.bundle_*.");
f.WriteEndElement(); // metadata
f.WriteStartElement("files");
write_nuspec_file_entries_from_cb(WhichLib.E_SQLITE3MC, "v142", f);
{
var tname = string.Format("{0}.targets", id);
Directory.CreateDirectory(Path.Combine(dir_proj, "net461"));
var path_targets = Path.Combine(dir_proj, "net461", tname);
var relpath_targets = nuget_path_combine(".", "net461", tname);
gen_nuget_targets(path_targets, WhichLib.E_SQLITE3MC);
common.write_nuspec_file_entry(
relpath_targets,
string.Format("buildTransitive\\{0}", TFM.NET461.AsString()),
f
);
}
write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3MC, TFM.NET60, f);
write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3MC, TFM.NET70, f);
write_nuspec_wasm_targets_file_entry(dir_src, id, WhichLib.E_SQLITE3MC, TFM.NET80, f);
// TODO need a comment here to explain these
common.write_empty(f, TFM.NET461);
common.write_empty(f, TFM.NETSTANDARD20);
f.WriteEndElement(); // files
f.WriteEndElement(); // package
f.WriteEndDocument();
}
}
enum WhichLib
{
NONE,
E_SQLITE3,
E_SQLCIPHER,
E_SQLITE3MC,
}
static LibSuffix get_lib_suffix_from_rid(string rid)
@ -879,6 +939,7 @@ public static class gen
gen_nuspec_lib_e_sqlite3(dir_src);
gen_nuspec_lib_e_sqlcipher(dir_src);
gen_nuspec_lib_e_sqlite3mc(dir_src);
}
}

6
gen_providers/Program.fs

@ -67,5 +67,11 @@ let main argv =
gen_provider s s (Some subname_funcptrs_win) "Cdecl" "dllimport" "FEATURE_WIN32DIR/true" "FEATURE_FUNCPTRS/callingconv" "FEATURE_KEY/true" "FEATURE_LOADEXTENSION/true"
gen_provider s s (Some subname_funcptrs_notwin) "Cdecl" "dllimport" "FEATURE_WIN32DIR/false" "FEATURE_FUNCPTRS/plain" "FEATURE_KEY/true" "FEATURE_LOADEXTENSION/true"
for s in ["e_sqlite3mc"; "sqlite3mc"; ] do
gen_provider s s (Some subname_prenet5_win) "Cdecl" "dllimport" "FEATURE_WIN32DIR/true" "FEATURE_FUNCPTRS/false" "FEATURE_KEY/true" "FEATURE_LOADEXTENSION/false"
gen_provider s s (Some subname_prenet5_notwin) "Cdecl" "dllimport" "FEATURE_WIN32DIR/false" "FEATURE_FUNCPTRS/false" "FEATURE_KEY/true" "FEATURE_LOADEXTENSION/false"
gen_provider s s (Some subname_funcptrs_win) "Cdecl" "dllimport" "FEATURE_WIN32DIR/true" "FEATURE_FUNCPTRS/callingconv" "FEATURE_KEY/true" "FEATURE_LOADEXTENSION/true"
gen_provider s s (Some subname_funcptrs_notwin) "Cdecl" "dllimport" "FEATURE_WIN32DIR/false" "FEATURE_FUNCPTRS/plain" "FEATURE_KEY/true" "FEATURE_LOADEXTENSION/true"
0 // return an integer exit code

BIN
sn/SQLitePCLRaw.lib.e_sqlite3mc.snk

BIN
sn/SQLitePCLRaw.provider.e_sqlite3mc.snk

BIN
sn/SQLitePCLRaw.provider.sqlite3mc.snk

26
src/SQLitePCLRaw.bundle_e_sqlite3mc/SQLitePCLRaw.bundle_e_sqlite3mc.csproj

@ -0,0 +1,26 @@
<Project Sdk="Xamarin.Legacy.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;$(tfm_net6_ios);$(tfm_net6_maccatalyst);$(tfm_net6_android);$(tfm_classic_ios);$(tfm_classic_android);net461</TargetFrameworks>
<SignAssembly>true</SignAssembly>
<PackageId>SQLitePCLRaw.bundle_e_sqlite3mc</PackageId>
<AssemblyName>SQLitePCLRaw.batteries_v2</AssemblyName>
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.batteries_v2.snk</AssemblyOriginatorKeyFile>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<PackageDescription>This 'batteries-included' bundle brings in SQLitePCLRaw.core and the necessary stuff for certain common use cases. Call SQLitePCL.Batteries.Init(). Policy of this bundle: e_sqlite3mc included</PackageDescription>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\src\common\batteries_v2.cs" />
</ItemGroup>
<Import Condition=" '$(TargetFramework)' == 'netstandard2.0' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_dllimport.xml" />
<Import Condition=" '$(TargetFramework)' == '$(tfm_net6_ios)' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_ios.xml" />
<Import Condition=" '$(TargetFramework)' == '$(tfm_net6_maccatalyst)' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_dllimport.xml" />
<Import Condition=" '$(TargetFramework)' == '$(tfm_net6_android)' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_android.xml" />
<Import Condition=" '$(TargetFramework)' == '$(tfm_classic_ios)' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_ios.xml" />
<Import Condition=" '$(TargetFramework)' == '$(tfm_classic_android)' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_android.xml" />
<Import Condition=" '$(TargetFramework)' == 'net461' " Project="..\msbuild_bundle_fragments\e_sqlite3mc_dynamic.xml" />
</Project>

38
src/SQLitePCLRaw.lib.e_sqlite3mc.android/SQLitePCLRaw.lib.e_sqlite3mc.android.csproj

@ -0,0 +1,38 @@
<Project Sdk="Xamarin.Legacy.Sdk">
<PropertyGroup>
<TargetFrameworks>$(tfm_net6_android);$(tfm_classic_android)</TargetFrameworks>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.lib.e_sqlite3mc.snk</AssemblyOriginatorKeyFile>
<PackageDescription>This package contains platform-specific native code builds of SQLite3 Multiple Ciphers (see utelle/SQLite3MultipleCiphers on GitHub) for use with SQLitePCLRaw. To use this package, you need SQLitePCLRaw.core as well as one of the SQLitePCLRaw.provider.* packages. Convenience packages are named SQLitePCLRaw.bundle_*.</PackageDescription>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\src\common\embedded_init.cs" />
</ItemGroup>
<PropertyGroup Label="Android DesignTimeBuild error workaround">
<DesignTimeBuild>false</DesignTimeBuild>
</PropertyGroup>
<ItemGroup>
<EmbeddedNativeLibrary Include="$([System.IO.Path]::Combine($(cb_bin_path), 'e_sqlite3mc', 'android', 'x86', 'libe_sqlite3mc.so'))">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<Link>x86\libe_sqlite3mc.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="$([System.IO.Path]::Combine($(cb_bin_path), 'e_sqlite3mc', 'android', 'x86_64', 'libe_sqlite3mc.so'))">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<Link>x86_64\libe_sqlite3mc.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="$([System.IO.Path]::Combine($(cb_bin_path), 'e_sqlite3mc', 'android', 'arm64-v8a', 'libe_sqlite3mc.so'))">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<Link>arm64-v8a\libe_sqlite3mc.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="$([System.IO.Path]::Combine($(cb_bin_path), 'e_sqlite3mc', 'android', 'armeabi-v7a', 'libe_sqlite3mc.so'))">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<Link>armeabi-v7a\libe_sqlite3mc.so</Link>
</EmbeddedNativeLibrary>
</ItemGroup>
</Project>

17
src/SQLitePCLRaw.lib.e_sqlite3mc.ios/SQLitePCLRaw.lib.e_sqlite3mc.ios.csproj

@ -0,0 +1,17 @@
<Project Sdk="Xamarin.Legacy.Sdk">
<PropertyGroup>
<TargetFrameworks>$(tfm_net6_ios);$(tfm_classic_ios)</TargetFrameworks>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.lib.e_sqlite3mc.snk</AssemblyOriginatorKeyFile>
<PackageDescription>This package contains platform-specific native code builds of SQLite3 Multiple Ciphers (see utelle/SQLite3MultipleCiphers on GitHub) for use with SQLitePCLRaw. To use this package, you need SQLitePCLRaw.core as well as one of the SQLitePCLRaw.provider.* packages. Convenience packages are named SQLitePCLRaw.bundle_*.</PackageDescription>
</PropertyGroup>
<ItemGroup>
<None Include="$(cb_bin_path)\e_sqlite3mc\ios\device\e_sqlite3mc.a" Pack="true" PackagePath="static\device" />
<None Include="$(cb_bin_path)\e_sqlite3mc\ios\simulator\e_sqlite3mc.a" Pack="true" PackagePath="static\simulator" />
<None Include="SQLitePCLRaw.lib.e_sqlite3mc.ios.targets" Pack="true" PackagePath="build" />
<None Include="SQLitePCLRaw.lib.e_sqlite3mc.ios.targets" Pack="true" PackagePath="buildTransitive" />
</ItemGroup>
</Project>

16
src/SQLitePCLRaw.lib.e_sqlite3mc.ios/SQLitePCLRaw.lib.e_sqlite3mc.ios.targets

@ -0,0 +1,16 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(RuntimeIdentifier)'=='ios-arm64' or '$(ComputedPlatform)'=='iPhone'">
<NativeReference Include="$(MSBuildThisFileDirectory)..\static\device\e_sqlite3mc.a">
<Kind>Static</Kind>
<SmartLink>False</SmartLink>
<ForceLoad>true</ForceLoad>
</NativeReference>
</ItemGroup>
<ItemGroup Condition="'$(RuntimeIdentifier)'=='iossimulator-arm64' or '$(RuntimeIdentifier)'=='iossimulator-x64' or '$(ComputedPlatform)'=='iPhoneSimulator'">
<NativeReference Include="$(MSBuildThisFileDirectory)..\static\simulator\e_sqlite3mc.a">
<Kind>Static</Kind>
<SmartLink>False</SmartLink>
<ForceLoad>true</ForceLoad>
</NativeReference>
</ItemGroup>
</Project>

29
src/SQLitePCLRaw.provider.e_sqlite3mc/SQLitePCLRaw.provider.e_sqlite3mc.csproj

@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net6.0;net6.0-windows</TargetFrameworks>
<LangVersion>$(ProviderLangVersion)</LangVersion>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.provider.e_sqlite3mc.snk</AssemblyOriginatorKeyFile>
<PackageDescription>SQLitePCLRaw is a Portable Class Library (PCL) for low-level (raw) access to SQLite. Packages named 'SQLitePCLRaw.provider.*' (like this one) are 'plugins' that allow SQLitePCLRaw.core to access the native SQLite library. This provider does DllImport of 'e_sqlite3mc', the SQLite3 Multiple Ciphers builds provided with SQLitePCLRaw.</PackageDescription>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SQLitePCLRaw.core\SQLitePCLRaw.core.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<Compile Include="Generated\provider_e_sqlite3mc_prenet5_win.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<Compile Include="Generated\provider_e_sqlite3mc_funcptrs_notwin.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0-windows' ">
<Compile Include="Generated\provider_e_sqlite3mc_funcptrs_win.cs" />
</ItemGroup>
</Project>

29
src/SQLitePCLRaw.provider.sqlite3mc/SQLitePCLRaw.provider.sqlite3mc.csproj

@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net6.0;net6.0-windows</TargetFrameworks>
<LangVersion>$(ProviderLangVersion)</LangVersion>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.provider.sqlite3mc.snk</AssemblyOriginatorKeyFile>
<PackageDescription>SQLitePCLRaw is a Portable Class Library (PCL) for low-level (raw) access to SQLite. Packages named 'SQLitePCLRaw.provider.*' (like this one) are 'plugins' that allow SQLitePCLRaw.core to access the native SQLite library. This provider does DllImport of 'sqlite3mc', to reference the 'system' SQLite3 Multiple Ciphers. One common use for this provider is to access the SQLite3 Multiple Ciphers library installed from source.</PackageDescription>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SQLitePCLRaw.core\SQLitePCLRaw.core.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<Compile Include="Generated\provider_sqlite3mc_prenet5_win.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<Compile Include="Generated\provider_sqlite3mc_funcptrs_notwin.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0-windows' ">
<Compile Include="Generated\provider_sqlite3mc_funcptrs_win.cs" />
</ItemGroup>
</Project>

4
src/common/batteries_v2.cs

@ -91,6 +91,8 @@ namespace SQLitePCL
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3());
#elif PROVIDER_e_sqlcipher
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlcipher());
#elif PROVIDER_e_sqlite3mc
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3mc());
#elif PROVIDER_sqlcipher
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlcipher());
#elif PROVIDER_winsqlite3
@ -105,6 +107,8 @@ namespace SQLitePCL
DoDynamic_cdecl("e_sqlite3", NativeLibrary.WHERE_RUNTIME_RID | NativeLibrary.WHERE_ADJACENT | NativeLibrary.WHERE_CODEBASE);
#elif PROVIDER_NAME_e_sqlcipher
DoDynamic_cdecl("e_sqlcipher", NativeLibrary.WHERE_RUNTIME_RID | NativeLibrary.WHERE_ADJACENT);
#elif PROVIDER_NAME_e_sqlite3mc
DoDynamic_cdecl("e_sqlite3mc", NativeLibrary.WHERE_RUNTIME_RID | NativeLibrary.WHERE_ADJACENT);
#elif PROVIDER_NAME_sqlcipher
DoDynamic_cdecl("sqlcipher", NativeLibrary.WHERE_ARCH); // TODO coordinate with zetetic
#elif PROVIDER_NAME_winsqlite3

5
src/global.json

@ -1,4 +1,9 @@
{
"sdk":
{
"version": "6.0.100",
"rollForward": "latestFeature"
},
"msbuild-sdks":
{
"MSBuild.Sdk.Extras": "3.0.44",

13
src/msbuild_bundle_fragments/e_sqlite3mc_android.xml

@ -0,0 +1,13 @@
<Project>
<PropertyGroup>
<DefineConstants>$(DefineConstants);PROVIDER_e_sqlite3mc</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SQLitePCLRaw.lib.e_sqlite3mc.android\SQLitePCLRaw.lib.e_sqlite3mc.android.csproj" />
<ProjectReference Include="..\SQLitePCLRaw.provider.e_sqlite3mc\SQLitePCLRaw.provider.e_sqlite3mc.csproj" />
</ItemGroup>
</Project>

13
src/msbuild_bundle_fragments/e_sqlite3mc_dllimport.xml

@ -0,0 +1,13 @@
<Project>
<PropertyGroup>
<DefineConstants>$(DefineConstants);PROVIDER_e_sqlite3mc</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SQLitePCLRaw.lib.e_sqlite3mc" Version="$(version)" />
<ProjectReference Include="..\SQLitePCLRaw.provider.e_sqlite3mc\SQLitePCLRaw.provider.e_sqlite3mc.csproj" />
</ItemGroup>
</Project>

18
src/msbuild_bundle_fragments/e_sqlite3mc_dynamic.xml

@ -0,0 +1,18 @@
<Project>
<PropertyGroup>
<DefineConstants>$(DefineConstants);PROVIDER_dynamic;PROVIDER_dynamic_cdecl;PROVIDER_NAME_e_sqlite3mc</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SQLitePCLRaw.lib.e_sqlite3mc" Version="$(version)" />
<ProjectReference Include="..\SQLitePCLRaw.provider.dynamic_cdecl\SQLitePCLRaw.provider.dynamic_cdecl.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\src\common\nativelibrary_defines.cs" />
<Compile Include="..\..\src\common\nativelibrary_for_netstandard2.cs" />
</ItemGroup>
</Project>

13
src/msbuild_bundle_fragments/e_sqlite3mc_ios.xml

@ -0,0 +1,13 @@
<Project>
<PropertyGroup>
<DefineConstants>$(DefineConstants);PROVIDER_internal</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SQLitePCLRaw.lib.e_sqlite3mc.ios\SQLitePCLRaw.lib.e_sqlite3mc.ios.csproj" />
<ProjectReference Include="..\SQLitePCLRaw.provider.internal\SQLitePCLRaw.provider.internal.csproj" />
</ItemGroup>
</Project>

12
test_nupkgs/e_sqlite3mc/fake_xunit/Program.cs

@ -0,0 +1,12 @@
using System;
public static class foo
{
public static int Main()
{
SQLitePCL.Batteries_V2.Init();
return Xunit.Run.AllTestsInCurrentAssembly();
}
}

19
test_nupkgs/e_sqlite3mc/fake_xunit/e_sqlite3mc_with_fake_xunit.csproj

@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net461;netcoreapp3.1;net6.0;net6.0-windows</TargetFrameworks>
<OutputType>Exe</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net461' ">
<RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="sqlitepclraw.bundle_e_sqlite3mc" Version="$(pkg_version_for_testing)" />
<PackageReference Include="sqlitepclraw.ugly" Version="$(pkg_version_for_testing)" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\src\common\attrs_for_tests.cs" />
<Compile Include="..\..\..\src\common\fake_xunit.cs" />
<Compile Include="..\..\..\src\common\tests_xunit.cs" />
</ItemGroup>
</Project>

24
test_nupkgs/e_sqlite3mc/real_xunit/e_sqlite3mc_with_real_xunit.csproj

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net461' ">
<RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="microsoft.net.test.sdk" Version="$(depversion_microsoft_net_test_sdk)" />
<PackageReference Include="xunit" Version="$(depversion_xunit)" />
<PackageReference Include="xunit.runner.visualstudio" Version="$(depversion_xunit_runner_visualstudio)" />
<PackageReference Include="sqlitepclraw.bundle_e_sqlite3mc" Version="$(pkg_version_for_testing)" />
<PackageReference Include="sqlitepclraw.ugly" Version="$(pkg_version_for_testing)" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\src\common\attrs_for_tests.cs" />
<Compile Include="..\..\..\src\common\tests_xunit.cs" />
</ItemGroup>
<ItemGroup>
<None Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
</Project>

4
test_nupkgs/e_sqlite3mc/real_xunit/xunit.runner.json

@ -0,0 +1,4 @@
{
"shadowCopy": false
}
Loading…
Cancel
Save