Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions cake-build/helpers/utils.cake
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,12 @@ public void RestoreSolution(FilePath solutionPath)
try
{
Information("Running dotnet restore...");
// Suppress NU1903 vulnerability warning for Newtonsoft.Json 9.0.1 (known issue, accepted risk)
// Also suppress restore warning as errors NU1503 for xamarin/old style projects
// Suppress restore warning as errors NU1503 for xamarin/old style projects
var restoreSettings = new DotNetRestoreSettings
{
MSBuildSettings = new DotNetMSBuildSettings()
.WithProperty("WarningsNotAsErrors", "NU1903;NU1503")
.WithProperty("NoWarn", "NU1903;NU1503")
.WithProperty("WarningsNotAsErrors", "NU1503")
.WithProperty("NoWarn", "NU1503")
};
DotNetRestore(solutionPath.FullPath, restoreSettings);
Information($"✓ dotnet restore completed");
Expand Down
5 changes: 1 addition & 4 deletions cake-build/tasks/build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,8 @@ Task("_NetStandard_Build")
Configuration = configuration,
NoRestore = true
};
var msbuildSettings = new DotNetMSBuildSettings();

// Suppress NU1903 vulnerability warning for Newtonsoft.Json 9.0.1 (known issue, accepted risk)
var msbuildSettings = new DotNetMSBuildSettings()
.WithProperty("WarningsNotAsErrors", "NU1903")
.WithProperty("NoWarn", "NU1903");

if (!string.IsNullOrEmpty(defineConstants))
{
Expand Down
4 changes: 2 additions & 2 deletions examples/AndroidSample/AndroidSample.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@
<Reference Include="MsgPack, Version=0.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\src\packages\MsgPack.Cli.0.9.1\lib\MonoAndroid10\MsgPack.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\src\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\src\packages\Newtonsoft.Json.13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
2 changes: 1 addition & 1 deletion examples/AndroidSample/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="monoandroid80" />
<package id="MsgPack.Cli" version="0.9.1" targetFramework="monoandroid60" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="monoandroid80" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="monoandroid80" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="monoandroid80" />
<package id="System.AppContext" version="4.3.0" targetFramework="monoandroid80" />
<package id="System.Collections" version="4.3.0" targetFramework="monoandroid80" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid80" />
Expand Down
6 changes: 3 additions & 3 deletions nuget/io.ably.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@
</group>
<group targetFramework="netstandard2.0">
<dependency id="System.Threading.Channels" version="4.6.0" />
<dependency id="Newtonsoft.Json" version="9.0.1" />
<dependency id="Newtonsoft.Json" version="13.0.1" />
</group>
<group targetFramework="net6.0">
<dependency id="System.Threading.Channels" version="4.6.0" />
<dependency id="Newtonsoft.Json" version="9.0.1" />
<dependency id="Newtonsoft.Json" version="13.0.1" />
</group>
<group targetFramework="net7.0">
<dependency id="System.Threading.Channels" version="4.6.0" />
<dependency id="Newtonsoft.Json" version="9.0.1" />
<dependency id="Newtonsoft.Json" version="13.0.1" />
</group>
</dependencies>
</metadata>
Expand Down
6 changes: 0 additions & 6 deletions src/.nuget/NuGet.Config

This file was deleted.

7 changes: 0 additions & 7 deletions src/.nuget/packages.config

This file was deleted.

4 changes: 2 additions & 2 deletions src/IO.Ably.Android/IO.Ably.Android.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@
<Reference Include="MsgPack, Version=0.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MsgPack.Cli.0.9.2\lib\MonoAndroid10\MsgPack.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Collections.Immutable, Version=1.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
Expand Down
2 changes: 1 addition & 1 deletion src/IO.Ably.Android/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="monoandroid403" />
<package id="MsgPack.Cli" version="0.9.2" targetFramework="monoandroid403" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="monoandroid71" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="monoandroid71" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="monoandroid71" />
<package id="System.AppContext" version="4.3.0" targetFramework="monoandroid403" />
<package id="System.Collections" version="4.3.0" targetFramework="monoandroid403" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="monoandroid403" />
Expand Down
4 changes: 2 additions & 2 deletions src/IO.Ably.NETFramework/IO.Ably.NETFramework.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@
<SourceRoot Include="$(MSBuildThisFileDirectory)..\..\"/>
</ItemGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
2 changes: 1 addition & 1 deletion src/IO.Ably.NETFramework/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<packages>
<package id="ILRepack.Lib.MSBuild.Task" version="2.0.18" targetFramework="net461" />
<package id="Microsoft.CodeQuality.Analyzers" version="2.9.6" targetFramework="net461" developmentDependency="true" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net461" />
<package id="StyleCop.Analyzers" version="1.1.118" targetFramework="net461" developmentDependency="true" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
<package id="System.Threading.Channels" version="4.6.0" targetFramework="net461" />
Expand Down
2 changes: 1 addition & 1 deletion src/IO.Ably.NETStandard20/IO.Ably.NETStandard20.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

<ItemGroup>
<PackageReference Include="MsgPack.Cli" Version="0.9.2" />
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
Expand Down
48 changes: 40 additions & 8 deletions src/IO.Ably.NETStandard20/Platform.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
using IO.Ably.Push;
using IO.Ably.Realtime;
using IO.Ably.Transport;
Expand All @@ -8,6 +9,7 @@ namespace IO.Ably
internal class Platform : IPlatform
{
private static readonly object Lock = new object();
private Agent.PlatformRuntime? _platformId;
Comment thread
sacOO7 marked this conversation as resolved.
Outdated

static Platform()
{
Expand All @@ -16,14 +18,44 @@ static Platform()

internal static bool HookedUpToNetworkEvents { get; private set; }

// Defined as per https://learn.microsoft.com/en-us/dotnet/standard/frameworks#preprocessor-symbols
#if NET6_0
public Agent.PlatformRuntime PlatformId => Agent.PlatformRuntime.Net6;
#elif NET7_0
public Agent.PlatformRuntime PlatformId => Agent.PlatformRuntime.Net7;
#else
public Agent.PlatformRuntime PlatformId => Agent.PlatformRuntime.Netstandard20;
#endif
// Use runtime detection via RuntimeInformation.FrameworkDescription
// This detects the actual runtime version, not the compile-time target framework
// This is important because netstandard2.0 assemblies can run on .NET 6/7/8/9+
// and we want to report the actual runtime being used
public Agent.PlatformRuntime PlatformId
{
get
{
if (_platformId.HasValue)
{
return _platformId.Value;
}

// Default fallback for netstandard2.0 or unknown runtimes
_platformId = Agent.PlatformRuntime.Netstandard20;

try
{
var frameworkDescription = RuntimeInformation.FrameworkDescription;

if (frameworkDescription.StartsWith(".NET 6.", System.StringComparison.OrdinalIgnoreCase))
{
_platformId = Agent.PlatformRuntime.Net6;
}

if (frameworkDescription.StartsWith(".NET 7.", System.StringComparison.OrdinalIgnoreCase))
Comment thread
sacOO7 marked this conversation as resolved.
Outdated
{
_platformId = Agent.PlatformRuntime.Net7;
}
}
catch
{
Comment thread
sacOO7 marked this conversation as resolved.
Outdated
// fall back to Netstandard20
}
Comment thread
sacOO7 marked this conversation as resolved.
Outdated

return _platformId.Value;
}
}

public ITransportFactory TransportFactory => null;

Expand Down
86 changes: 0 additions & 86 deletions src/IO.Ably.Platforms/Ably.android/Ably.android.csproj

This file was deleted.

30 changes: 0 additions & 30 deletions src/IO.Ably.Platforms/Ably.android/Properties/AssemblyInfo.cs

This file was deleted.

44 changes: 0 additions & 44 deletions src/IO.Ably.Platforms/Ably.android/Resources/AboutResources.txt

This file was deleted.

Loading
Loading