Skip to content

Commit fe1a004

Browse files
committed
attempt to get the build working without needing the maui workloads, by packing SQLitePCLRaw.config using a dummy csproj and a nuspec file
1 parent 0c2911b commit fe1a004

10 files changed

Lines changed: 141 additions & 50 deletions

File tree

.github/workflows/dotnet.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,7 @@ jobs:
2424
- name: Setup .NET
2525
uses: actions/setup-dotnet@v4
2626
with:
27-
dotnet-version: 9.0.x
28-
- name: Install workload ios
29-
run: dotnet workload install ios
30-
- name: Install workload maccatalyst
31-
run: dotnet workload install maccatalyst
32-
- name: Install workload tvos
33-
run: dotnet workload install tvos
27+
dotnet-version: 10.0.x
3428
- name: Install T4
3529
run: dotnet tool install --global dotnet-t4
3630
- name: Build

Directory.Build.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
<Copyright>Copyright 2014-2025 SourceGear, LLC</Copyright>
55
<Company>SourceGear</Company>
66
<Authors>Eric Sink</Authors>
7-
<Version>3.0.3-pre20260205160124</Version>
8-
<AssemblyVersion>3.0.3.2957</AssemblyVersion>
9-
<FileVersion>3.0.3.2957</FileVersion>
7+
<Version>3.0.3-pre20260206143404</Version>
8+
<AssemblyVersion>3.0.3.2958</AssemblyVersion>
9+
<FileVersion>3.0.3.2958</FileVersion>
1010
<Description>SQLitePCLRaw is a Portable Class Library (PCL) for low-level (raw) access to SQLite</Description>
1111
<ProviderLangVersion>10.0</ProviderLangVersion>
1212
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>

build/Program.fs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ let main argv =
2626
for s in Directory.GetFiles(dir_nupkgs, "*.nupkg") do
2727
File.Delete(s)
2828

29+
// All the regular packages
2930
let pack_dirs = [
3031
"core"
3132
"ugly"
@@ -36,6 +37,23 @@ let main argv =
3637
"provider.e_sqlite3"
3738
"provider.sqlite3"
3839
"provider.sqlcipher"
40+
]
41+
for s in pack_dirs do
42+
let dir_name = sprintf "SQLitePCLRaw.%s" s
43+
exec "dotnet" "pack -c Release" (Path.Combine(top, "src", dir_name))
44+
45+
// These two "batteries" assemblies are built but not packed in their own packages
46+
let build_dirs = [
47+
"batteries.e_sqlite3.internal"
48+
"batteries.e_sqlite3.dllimport"
49+
]
50+
for s in build_dirs do
51+
let dir_name = sprintf "SQLitePCLRaw.%s" s
52+
exec "dotnet" "build -c Release" (Path.Combine(top, "src", dir_name))
53+
54+
// These two packages are built using a dummy csproj and a separate nuspec,
55+
// and the config package contains the batteries assemblies built above.
56+
let pack_dirs = [
3957
"config.e_sqlite3"
4058
"bundle_e_sqlite3"
4159
]

build/build.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net9.0</TargetFramework>
5+
<TargetFramework>net10.0</TargetFramework>
66
</PropertyGroup>
77

88
<ItemGroup>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks>
5+
<SignAssembly>true</SignAssembly>
6+
<AssemblyName>SQLitePCLRaw.batteries_v2</AssemblyName>
7+
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.batteries_v2.snk</AssemblyOriginatorKeyFile>
8+
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<Compile Include="..\..\src\common\batteries_v2.cs" />
13+
</ItemGroup>
14+
15+
<Import Project="..\msbuild_bundle_fragments\e_sqlite3_dllimport.xml" />
16+
17+
</Project>
18+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>$(tfm_net)</TargetFramework>
5+
<SignAssembly>true</SignAssembly>
6+
<AssemblyName>SQLitePCLRaw.batteries_v2</AssemblyName>
7+
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.batteries_v2.snk</AssemblyOriginatorKeyFile>
8+
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<Compile Include="..\..\src\common\batteries_v2.cs" />
13+
</ItemGroup>
14+
15+
<Import Project="..\msbuild_bundle_fragments\e_sqlite3_internal.xml" />
16+
17+
</Project>
18+
Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3+
<!-- This is just a dummy csproj for dotnet pack -->
4+
35
<PropertyGroup>
6+
<TargetFramework>netstandard2.0</TargetFramework>
7+
<NoBuild>true</NoBuild>
48
<IncludeBuildOutput>false</IncludeBuildOutput>
5-
<TargetFrameworks>netstandard2.0</TargetFrameworks>
6-
<PackageId>SQLitePCLRaw.bundle_e_sqlite3</PackageId>
7-
<PackageDescription>This 'batteries-included' bundle brings in SQLitePCLRaw.core and the necessary stuff for certain common use cases. Call SQLitePCL.Batteries.Init().</PackageDescription>
8-
<PackageReadmeFile>README.md</PackageReadmeFile>
9+
<NuspecFile>pack.nuspec</NuspecFile>
10+
<NuspecProperties>version=$(Version)</NuspecProperties>
911
</PropertyGroup>
1012

11-
<ItemGroup>
12-
<None Include="..\common\README.md" Pack="True" PackagePath="README.md" />
13-
</ItemGroup>
14-
15-
<ItemGroup>
16-
<ProjectReference Include="..\SQLitePCLRaw.config.e_sqlite3\SQLitePCLRaw.config.e_sqlite3.csproj" />
17-
</ItemGroup>
18-
19-
<ItemGroup>
20-
<PackageReference Include="SourceGear.sqlite3" Version="$(lib_e_sqlite3_package_reference_version)" />
21-
</ItemGroup>
22-
2313
</Project>
2414

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
3+
<metadata>
4+
<id>SQLitePCLRaw.bundle_e_sqlite3</id>
5+
<version>$version$</version>
6+
<authors>Eric Sink</authors>
7+
<license type="expression">Apache-2.0</license>
8+
<licenseUrl>https://licenses.nuget.org/Apache-2.0</licenseUrl>
9+
<readme>README.md</readme>
10+
<description>This 'batteries-included' bundle brings in SQLitePCLRaw.core and the necessary stuff for certain common use cases. Call SQLitePCL.Batteries.Init().</description>
11+
<copyright>Copyright 2014-2026 SourceGear, LLC</copyright>
12+
<tags>sqlite</tags>
13+
<repository type="git" url="https://github.com/ericsink/SQLitePCL.raw" />
14+
<dependencies>
15+
<group targetFramework=".NETStandard2.0">
16+
<dependency id="SQLitePCLRaw.config.e_sqlite3" version="$version$" exclude="Build,Analyzers" />
17+
<dependency id="SourceGear.sqlite3" version="3.50.4.2" exclude="Build,Analyzers" />
18+
</group>
19+
</dependencies>
20+
</metadata>
21+
<files>
22+
<file src="../common/README.md" target="README.md" />
23+
</files>
24+
</package>
Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3+
<!-- This is just a dummy csproj for dotnet pack -->
4+
35
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;$(tfm_net);$(tfm_ios);$(tfm_maccatalyst);$(tfm_framework);$(tfm_tvos)</TargetFrameworks>
5-
<SignAssembly>true</SignAssembly>
6-
<PackageId>SQLitePCLRaw.config.e_sqlite3</PackageId>
7-
<AssemblyName>SQLitePCLRaw.batteries_v2</AssemblyName>
8-
<AssemblyOriginatorKeyFile>..\..\sn\SQLitePCLRaw.batteries_v2.snk</AssemblyOriginatorKeyFile>
9-
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
10-
<PackageDescription>This package sets the configuration for using e_sqlite3 but does not bring in that native library itself. It's like bundle_e_sqlite3, except it's hollow.</PackageDescription>
11-
<PackageReadmeFile>README.md</PackageReadmeFile>
6+
<TargetFramework>netstandard2.0</TargetFramework>
7+
<NoBuild>true</NoBuild>
8+
<IncludeBuildOutput>false</IncludeBuildOutput>
9+
<NuspecFile>pack.nuspec</NuspecFile>
10+
<NuspecProperties>version=$(Version)</NuspecProperties>
1211
</PropertyGroup>
1312

14-
<ItemGroup>
15-
<Compile Include="..\..\src\common\batteries_v2.cs" />
16-
</ItemGroup>
17-
18-
<ItemGroup>
19-
<None Include="..\common\README.md" Pack="True" PackagePath="README.md" />
20-
</ItemGroup>
21-
22-
<Import Condition=" '$(TargetFramework)' == 'netstandard2.0' " Project="..\msbuild_bundle_fragments\e_sqlite3_dllimport.xml" />
23-
<Import Condition=" '$(TargetFramework)' == '$(tfm_net)' " Project="..\msbuild_bundle_fragments\e_sqlite3_dllimport.xml" />
24-
<Import Condition=" '$(TargetFramework)' == '$(tfm_ios)' " Project="..\msbuild_bundle_fragments\e_sqlite3_internal.xml" />
25-
<Import Condition=" '$(TargetFramework)' == '$(tfm_maccatalyst)' " Project="..\msbuild_bundle_fragments\e_sqlite3_dllimport.xml" />
26-
<Import Condition=" '$(TargetFramework)' == '$(tfm_framework)' " Project="..\msbuild_bundle_fragments\e_sqlite3_dllimport.xml" />
27-
<Import Condition=" '$(TargetFramework)' == '$(tfm_tvos)' " Project="..\msbuild_bundle_fragments\e_sqlite3_internal.xml" />
28-
2913
</Project>
3014

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
3+
<metadata>
4+
<id>SQLitePCLRaw.config.e_sqlite3</id>
5+
<version>$version$</version>
6+
<authors>Eric Sink</authors>
7+
<license type="expression">Apache-2.0</license>
8+
<licenseUrl>https://licenses.nuget.org/Apache-2.0</licenseUrl>
9+
<readme>README.md</readme>
10+
<description>This package sets the configuration for using e_sqlite3 but does not bring in that native library itself. It's like bundle_e_sqlite3, except it's hollow.</description>
11+
<copyright>Copyright 2014-2026 SourceGear, LLC</copyright>
12+
<tags>sqlite</tags>
13+
<repository type="git" url="https://github.com/ericsink/SQLitePCL.raw" commit="96043b8cff323f21919df86a431c136655d81b4a" />
14+
<dependencies>
15+
<group targetFramework=".NETFramework4.7.1">
16+
<dependency id="SQLitePCLRaw.provider.e_sqlite3" version="$version$" exclude="Build,Analyzers" />
17+
</group>
18+
<group targetFramework="net8.0">
19+
<dependency id="SQLitePCLRaw.provider.e_sqlite3" version="$version$" exclude="Build,Analyzers" />
20+
</group>
21+
<group targetFramework="net10.0-ios26.0">
22+
<dependency id="SQLitePCLRaw.provider.internal" version="$version$" exclude="Build,Analyzers" />
23+
</group>
24+
<group targetFramework="net10.0-maccatalyst26.0">
25+
<dependency id="SQLitePCLRaw.provider.e_sqlite3" version="$version$" exclude="Build,Analyzers" />
26+
</group>
27+
<group targetFramework="net10.0-tvos26.0">
28+
<dependency id="SQLitePCLRaw.provider.internal" version="$version$" exclude="Build,Analyzers" />
29+
</group>
30+
<group targetFramework=".NETStandard2.0">
31+
<dependency id="SQLitePCLRaw.provider.e_sqlite3" version="$version$" exclude="Build,Analyzers" />
32+
</group>
33+
</dependencies>
34+
</metadata>
35+
<files>
36+
<file src="../SQLitePCLRaw.batteries.e_sqlite3.internal/bin/Release/net8.0/SQLitePCLRaw.batteries_v2.dll" target="lib/net10.0-ios26.0/SQLitePCLRaw.batteries_v2.dll" />
37+
<file src="../SQLitePCLRaw.batteries.e_sqlite3.internal/bin/Release/net8.0/SQLitePCLRaw.batteries_v2.dll" target="lib/net10.0-tvos26.0/SQLitePCLRaw.batteries_v2.dll" />
38+
39+
<file src="../SQLitePCLRaw.batteries.e_sqlite3.dllimport/bin/Release/netstandard2.0/SQLitePCLRaw.batteries_v2.dll" target="lib/net471/SQLitePCLRaw.batteries_v2.dll" />
40+
<file src="../SQLitePCLRaw.batteries.e_sqlite3.dllimport/bin/Release/netstandard2.0/SQLitePCLRaw.batteries_v2.dll" target="lib/net8.0/SQLitePCLRaw.batteries_v2.dll" />
41+
<file src="../SQLitePCLRaw.batteries.e_sqlite3.dllimport/bin/Release/netstandard2.0/SQLitePCLRaw.batteries_v2.dll" target="lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll" />
42+
<file src="../SQLitePCLRaw.batteries.e_sqlite3.dllimport/bin/Release/netstandard2.0/SQLitePCLRaw.batteries_v2.dll" target="lib/net10.0-maccatalyst26.0/SQLitePCLRaw.batteries_v2.dll" />
43+
<file src="../common/README.md" target="README.md" />
44+
</files>
45+
</package>

0 commit comments

Comments
 (0)