Skip to content

Commit

Permalink
Merge pull request #59
Browse files Browse the repository at this point in the history
[MAN-436] Add dummy support for net8
  • Loading branch information
ksidirop-laerdal authored Oct 30, 2024
2 parents aed344d + a2f443d commit 41d3b00
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 17 deletions.
70 changes: 58 additions & 12 deletions Laerdal.Dfu/Laerdal.Dfu.csproj
Original file line number Diff line number Diff line change
@@ -1,32 +1,78 @@
<Project Sdk="Microsoft.NET.Sdk">

<!-- ================== HOST MACHINE DETECTION ==================== -->
<PropertyGroup>
<!-- todo add support for maccatalyst -->
<TargetFrameworks>net8.0-ios;net8.0-android</TargetFrameworks>
<IsHostMachineOSX Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true' ">true</IsHostMachineOSX>
<IsHostMachineLinux Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true' ">true</IsHostMachineLinux>
<IsHostMachineWindows Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true' ">true</IsHostMachineWindows>

<!-- keep dead last -->
<IsHostMachineUnix Condition=" '$(IsHostMachineOSX)' == 'true' or '$(IsHostMachineLinux)' == 'true' ">true</IsHostMachineUnix>
</PropertyGroup>

<!-- ==================== TARGET FRAMEWORKS GROUP ===================== -->
<PropertyGroup>
<TargetFrameworks>$(TargetFrameworks)net8.0;</TargetFrameworks>
<TargetFrameworks>$(TargetFrameworks)net8.0-ios;</TargetFrameworks>
<TargetFrameworks>$(TargetFrameworks)net8.0-android</TargetFrameworks>
</PropertyGroup>

<!-- =================== TARGET FRAMEWORK DETECTION ===================== -->
<PropertyGroup>
<TargetPlatformBeingBuiltNow>$([MSBuild]::GetTargetPlatformIdentifier($(TargetFramework)))</TargetPlatformBeingBuiltNow>

<IsForIOS Condition=" '$(TargetPlatformBeingBuiltNow)' == 'ios' ">true</IsForIOS>
<IsForAndroid Condition=" '$(TargetPlatformBeingBuiltNow)' == 'android' ">true</IsForAndroid>
<IsForWindows Condition=" '$(TargetPlatformBeingBuiltNow)' == 'windows' ">true</IsForWindows>
<IsForMacCatalyst Condition=" '$(TargetPlatformBeingBuiltNow)' == 'maccatalyst' ">true</IsForMacCatalyst>
<IsForPlainNetX Condition=" '$(TargetFramework)' == 'net8.0' ">true</IsForPlainNetX>

<IsForAppleStuff Condition=" '$(IsForIOS)' == 'true' or '$(IsForMacCatalyst)' == 'true' ">true</IsForAppleStuff>
</PropertyGroup>

<!-- ==================== TARGET PLATFORM VERSION ======================= -->
<PropertyGroup>
<!-- android the TargetPlatformVersion must be aligned with the maxsdkversion used in androidmanifest.xml -->
<TargetPlatformVersion Condition=" '$(IsForAndroid)' == 'true' ">34</TargetPlatformVersion>
<TargetPlatformMinVersion Condition=" '$(IsForAndroid)' == 'true' ">21.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition=" '$(IsForAndroid)' == 'true' ">21.0</SupportedOSPlatformVersion>

<!-- ios you will need specific workloads though dotnet workload install maui -/-version 8.0.402 -->
<TargetPlatformVersion Condition=" '$(IsForIOS)' == 'true' ">17.5</TargetPlatformVersion>
<TargetPlatformMinVersion Condition=" '$(IsForIOS)' == 'true' ">14.2</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition=" '$(IsForIOS)' == 'true' ">14.2</SupportedOSPlatformVersion>
</PropertyGroup>

<!-- ==================== NON-NETSTANDARD ==================== -->
<ItemGroup Condition=" '$(IsForPlainNetX)' != 'true' ">
<Compile Remove="Platforms.NetX\**" />
</ItemGroup>

<!-- ===================== NETSTANDARD ======================= -->
<ItemGroup Condition=" '$(IsForPlainNetX)' == 'true' ">
<Compile Remove="Platforms\**\**" />
<!-- <Compile Include="Platforms.NetX\**" /> no need to include this explicitly -->
</ItemGroup>

<PropertyGroup>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>

<LangVersion>11.0</LangVersion>

<TargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>

<SupportedOSPlatformVersion Condition=" '$(TargetPlatformIdentifier)' == 'ios' ">14.2</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition=" '$(TargetPlatformIdentifier)' == 'android' ">21.0</SupportedOSPlatformVersion>
</PropertyGroup>

<PropertyGroup>
<Laerdal_Package_Name>Laerdal.Dfu</Laerdal_Package_Name>
<Laerdal_Package_Tags>Ble;Tools;Dfu;Bluetooth;Nordic;Semiconductor</Laerdal_Package_Tags>
<Laerdal_Package_Tags>Ble;Tools;Dfu;Bluetooth;Nordic;Semiconductor;iOS;Android</Laerdal_Package_Tags>
<Laerdal_Package_Copyright>Laerdal Medical, Francois Raminosona</Laerdal_Package_Copyright>
<Laerdal_Package_Description>Wrapper around Nordic.Dfu</Laerdal_Package_Description>
</PropertyGroup>

<!-- ============================ VERSION ============================ -->
<PropertyGroup>
<Laerdal_Version_Major Condition=" '$(Laerdal_Version_Major)' == '' ">1</Laerdal_Version_Major>
<Laerdal_Version_Minor Condition=" '$(Laerdal_Version_Minor)' == '' ">27</Laerdal_Version_Minor>
<Laerdal_Version_Minor Condition=" '$(Laerdal_Version_Minor)' == '' ">28</Laerdal_Version_Minor>
<Laerdal_Version_Build Condition=" '$(Laerdal_Version_Build)' == '' ">0</Laerdal_Version_Build>

<Laerdal_Version_Full Condition=" '$(Laerdal_Version_Full)' == '' ">$(Laerdal_Version_Major).$(Laerdal_Version_Minor).$(Laerdal_Version_Build)</Laerdal_Version_Full>
Expand All @@ -36,11 +82,11 @@
<Import Project="Laerdal.targets"/>

<!-- =========================== PACKAGES ============================ -->
<ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'android' ">
<PackageReference Include="Laerdal.Dfu.Bindings.Android" Version="2.3.0.43888"/>
<ItemGroup Condition=" '$(IsForAndroid)' == 'true' ">
<PackageReference Include="Laerdal.Dfu.Bindings.Android" Version="2.5.0.43891"/>
</ItemGroup>

<ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'ios' ">
<ItemGroup Condition=" '$(IsForIOS)' == 'true' ">
<PackageReference Include="Laerdal.Dfu.Bindings.iOS" Version="4.13.0.43933"/>
</ItemGroup>
<!-- =========================== PACKAGES ============================ -->
Expand Down
1 change: 1 addition & 0 deletions Laerdal.Dfu/Laerdal.Dfu.csproj.DotSettings
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=platforms/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=platforms_002Enetx/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=platforms_005Candroid/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=platforms_005Cios/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=platforms_005Cnetstandard/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
37 changes: 37 additions & 0 deletions Laerdal.Dfu/Platforms.NetX/DfuInstallation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
using System;
using System.Globalization;
using System.Linq;

namespace Laerdal.Dfu
{
public partial class DfuInstallation
{
public DfuInstallation(string deviceId, string fileUrl) : base(deviceId, fileUrl)
{
}

public DfuInstallation() : base()
{
}

public override void Start()
{
}

public override void Pause()
{
}

public override void Resume()
{
}

public override void Abort()
{
}

protected override void Dispose(bool disposing)
{
}
}
}
7 changes: 4 additions & 3 deletions Laerdal.Dfu/Platforms/Android/Specific/DfuService.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
using Android.App;
using Android.Content.PM;

using Java.Lang;

namespace Laerdal.Dfu.Specific
{
[Service]
{

[Service(ForegroundServiceType = ForegroundService.TypeConnectedDevice)]
public class DfuService : Laerdal.Dfu.Bindings.Android.DfuBaseService
{
public DfuService()
Expand Down
4 changes: 2 additions & 2 deletions Laerdal.Scripts/Laerdal.Builder.targets
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
<!-- # on macos -->
<!-- dotnet msbuild \ -->
<!-- Laerdal.Scripts/Laerdal.Builder.targets \ -->
<!-- '"/m:1"' '"/p:Laerdal_Version=1.0.x.0"' -->
<!-- '"/m:1"' '"/p:Laerdal_Version_Full=1.0.x.0"' -->
<!-- -->
<!-- # on windows powershell -->
<!-- dotnet msbuild ^ -->
<!-- Laerdal.Scripts\Laerdal.Builder.targets ^ -->
<!-- /m:1 /p:Laerdal_Version=1.0.x.0 -->
<!-- /m:1 /p:Laerdal_Version_Full=1.0.x.0 -->
<!-- -->

<Project DefaultTargets="BuildProjects">
Expand Down

0 comments on commit 41d3b00

Please sign in to comment.