mirror of
https://github.com/bitwarden/mobile
synced 2025-12-10 05:13:31 +00:00
Dylib
This commit is contained in:
@@ -11,6 +11,21 @@ namespace Bit.iOS.Autofill
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void FinishedLaunching(UIApplication application)
|
||||||
|
{
|
||||||
|
|
||||||
|
var ln = @"libbitwarden_c.framework/libbitwarden_c";
|
||||||
|
var documentsPath = NSBundle.MainBundle.BundlePath;
|
||||||
|
var filePath = System.IO.Path.Combine(documentsPath, "Frameworks", ln);
|
||||||
|
var ptr = ObjCRuntime.Dlfcn.dlopen(filePath, 0);
|
||||||
|
|
||||||
|
var sdkClient = new BitwardenClient();
|
||||||
|
var test = sdkClient.Fingerprint();
|
||||||
|
|
||||||
|
|
||||||
|
base.FinishedLaunching(application);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnResignActivation(UIApplication application)
|
public override void OnResignActivation(UIApplication application)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
31
src/iOS.Autofill/BitwardenClient.cs
Normal file
31
src/iOS.Autofill/BitwardenClient.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Bit.iOS
|
||||||
|
{
|
||||||
|
public class BitwardenClient : IDisposable
|
||||||
|
{
|
||||||
|
private readonly BitwardenClientSafeHandle handle;
|
||||||
|
|
||||||
|
public BitwardenClient()
|
||||||
|
{
|
||||||
|
handle = BitwardenClientWrapper.init("");
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Fingerprint()
|
||||||
|
{
|
||||||
|
return BitwardenClientWrapper.run_command("{}", handle.Ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (handle != null && !handle.IsInvalid)
|
||||||
|
handle.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Dispose(true);
|
||||||
|
GC.SuppressFinalize(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
18
src/iOS.Autofill/BitwardenClientSafeHandle.cs
Normal file
18
src/iOS.Autofill/BitwardenClientSafeHandle.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.Win32.SafeHandles;
|
||||||
|
|
||||||
|
namespace Bit.iOS
|
||||||
|
{
|
||||||
|
internal class BitwardenClientSafeHandle : SafeHandleZeroOrMinusOneIsInvalid
|
||||||
|
{
|
||||||
|
public BitwardenClientSafeHandle() : base(true) { }
|
||||||
|
|
||||||
|
public IntPtr Ptr => this.handle;
|
||||||
|
|
||||||
|
protected override bool ReleaseHandle()
|
||||||
|
{
|
||||||
|
BitwardenClientWrapper.free_mem(handle);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
src/iOS.Autofill/BitwardenClientWrapper.cs
Normal file
23
src/iOS.Autofill/BitwardenClientWrapper.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
namespace Bit.iOS
|
||||||
|
{
|
||||||
|
internal static class BitwardenClientWrapper
|
||||||
|
{
|
||||||
|
#if Android
|
||||||
|
const string DllName = "libBitwardenC.so";
|
||||||
|
#else
|
||||||
|
const string DllName = "__Internal";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
[DllImport(DllName, EntryPoint = "init")]
|
||||||
|
internal static extern BitwardenClientSafeHandle init(string settings);
|
||||||
|
|
||||||
|
[DllImport(DllName, EntryPoint = "free_mem")]
|
||||||
|
internal static extern void free_mem(IntPtr clientPtr);
|
||||||
|
|
||||||
|
[DllImport(DllName, EntryPoint = "run_command")]
|
||||||
|
internal static extern string run_command(string loginRequest, IntPtr clientPtr);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -194,6 +194,9 @@
|
|||||||
<InterfaceDefinition Include="MainInterface.storyboard" />
|
<InterfaceDefinition Include="MainInterface.storyboard" />
|
||||||
<BundleResource Include="Resources\MaterialIcons_Regular.ttf" />
|
<BundleResource Include="Resources\MaterialIcons_Regular.ttf" />
|
||||||
<BundleResource Include="Resources\bwi-font.ttf" />
|
<BundleResource Include="Resources\bwi-font.ttf" />
|
||||||
|
<Compile Include="BitwardenClient.cs" />
|
||||||
|
<Compile Include="BitwardenClientSafeHandle.cs" />
|
||||||
|
<Compile Include="BitwardenClientWrapper.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
@@ -278,5 +281,11 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BundleResource Include="Resources\yubikey%403x.png" />
|
<BundleResource Include="Resources\yubikey%403x.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<NativeReference Include="..\..\..\sdk\libbitwarden_c.framework">
|
||||||
|
<Kind>Framework</Kind>
|
||||||
|
<SmartLink>False</SmartLink>
|
||||||
|
</NativeReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.AppExtension.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.AppExtension.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
||||||
@@ -183,6 +183,11 @@ namespace Bit.iOS
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var ln = @"libbitwarden_c.framework/libbitwarden_c";
|
||||||
|
var documentsPath = NSBundle.MainBundle.BundlePath;
|
||||||
|
var filePath = System.IO.Path.Combine(documentsPath, "Frameworks", ln);
|
||||||
|
var ptr = ObjCRuntime.Dlfcn.dlopen(filePath, 0);
|
||||||
|
|
||||||
var sdkClient = new BitwardenClient();
|
var sdkClient = new BitwardenClient();
|
||||||
var test = sdkClient.Fingerprint();
|
var test = sdkClient.Fingerprint();
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<MtouchLink>None</MtouchLink>
|
<MtouchLink>None</MtouchLink>
|
||||||
<MtouchDebug>true</MtouchDebug>
|
<MtouchDebug>true</MtouchDebug>
|
||||||
<OptimizePNGs>true</OptimizePNGs>
|
<OptimizePNGs>true</OptimizePNGs>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<MtouchLink>Full</MtouchLink>
|
<MtouchLink>Full</MtouchLink>
|
||||||
<MtouchArch>x86_64</MtouchArch>
|
<MtouchArch>x86_64</MtouchArch>
|
||||||
<ConsolePause>false</ConsolePause>
|
<ConsolePause>false</ConsolePause>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<OptimizePNGs>true</OptimizePNGs>
|
<OptimizePNGs>true</OptimizePNGs>
|
||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
<MtouchLink>None</MtouchLink>
|
<MtouchLink>None</MtouchLink>
|
||||||
<MtouchFloat32>false</MtouchFloat32>
|
<MtouchFloat32>false</MtouchFloat32>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<OptimizePNGs>true</OptimizePNGs>
|
<OptimizePNGs>true</OptimizePNGs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<CodesignKey>iPhone Developer</CodesignKey>
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
<MtouchLink>Full</MtouchLink>
|
<MtouchLink>Full</MtouchLink>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<OptimizePNGs>true</OptimizePNGs>
|
<OptimizePNGs>true</OptimizePNGs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
<MtouchLink>Full</MtouchLink>
|
<MtouchLink>Full</MtouchLink>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<CodesignProvision>Automatic:AdHoc</CodesignProvision>
|
<CodesignProvision>Automatic:AdHoc</CodesignProvision>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
<CodesignProvision>Automatic:AppStore</CodesignProvision>
|
<CodesignProvision>Automatic:AppStore</CodesignProvision>
|
||||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<OptimizePNGs>true</OptimizePNGs>
|
<OptimizePNGs>true</OptimizePNGs>
|
||||||
<MtouchLink>Full</MtouchLink>
|
<MtouchLink>Full</MtouchLink>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a -lbitwarden_c -force_load ${ProjectDir}/../../lib/ios/libbitwarden_c.a"</MtouchExtraArgs>
|
<MtouchExtraArgs>--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a"</MtouchExtraArgs>
|
||||||
<OptimizePNGs>true</OptimizePNGs>
|
<OptimizePNGs>true</OptimizePNGs>
|
||||||
<MtouchLink>SdkOnly</MtouchLink>
|
<MtouchLink>SdkOnly</MtouchLink>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -144,9 +144,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Main.cs" />
|
<Compile Include="Main.cs" />
|
||||||
<Compile Include="BitwardenClient.cs" />
|
|
||||||
<Compile Include="BitwardenClientSafeHandle.cs" />
|
|
||||||
<Compile Include="BitwardenClientWrapper.cs" />
|
|
||||||
<Compile Include="AppDelegate.cs" />
|
<Compile Include="AppDelegate.cs" />
|
||||||
<Compile Include="Services\iOSPushNotificationHandler.cs" />
|
<Compile Include="Services\iOSPushNotificationHandler.cs" />
|
||||||
<Compile Include="Services\iOSPushNotificationService.cs" />
|
<Compile Include="Services\iOSPushNotificationService.cs" />
|
||||||
@@ -186,6 +183,9 @@
|
|||||||
<ImageAsset Include="Resources\Assets.xcassets\empty_items_state.imageset\Empty-items-state-dark.pdf" />
|
<ImageAsset Include="Resources\Assets.xcassets\empty_items_state.imageset\Empty-items-state-dark.pdf" />
|
||||||
<ImageAsset Include="Resources\Assets.xcassets\empty_items_state.imageset\Empty-items-state.pdf" />
|
<ImageAsset Include="Resources\Assets.xcassets\empty_items_state.imageset\Empty-items-state.pdf" />
|
||||||
<ImageAsset Include="Resources\Assets.xcassets\empty_items_state.imageset\Contents.json" />
|
<ImageAsset Include="Resources\Assets.xcassets\empty_items_state.imageset\Contents.json" />
|
||||||
|
<Compile Include="BitwardenClient.cs" />
|
||||||
|
<Compile Include="BitwardenClientSafeHandle.cs" />
|
||||||
|
<Compile Include="BitwardenClientWrapper.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<InterfaceDefinition Include="LaunchScreen.storyboard" />
|
<InterfaceDefinition Include="LaunchScreen.storyboard" />
|
||||||
@@ -427,6 +427,12 @@
|
|||||||
<ItemGroup Condition=" '$(Configuration)' != 'Debug' ">
|
<ItemGroup Condition=" '$(Configuration)' != 'Debug' ">
|
||||||
<_ResolvedWatchAppReferences Include="$(WatchAppBundleFullPath)" />
|
<_ResolvedWatchAppReferences Include="$(WatchAppBundleFullPath)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<NativeReference Include="..\..\..\sdk\libbitwarden_c.framework">
|
||||||
|
<Kind>Framework</Kind>
|
||||||
|
<SmartLink>False</SmartLink>
|
||||||
|
</NativeReference>
|
||||||
|
</ItemGroup>
|
||||||
<PropertyGroup Condition=" '$(_ResolvedWatchAppReferences)' != '' ">
|
<PropertyGroup Condition=" '$(_ResolvedWatchAppReferences)' != '' ">
|
||||||
<CodesignExtraArgs>--deep</CodesignExtraArgs>
|
<CodesignExtraArgs>--deep</CodesignExtraArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user