diff --git a/package-dev/Runtime/Sentry.Unity.Native.Console.dll.meta b/package-dev/Runtime/Sentry.Unity.Native.Console.dll.meta new file mode 100644 index 000000000..566a44313 --- /dev/null +++ b/package-dev/Runtime/Sentry.Unity.Native.Console.dll.meta @@ -0,0 +1,135 @@ +fileFormatVersion: 2 +guid: 8f4c2e5a7b1d4f9e8c3a6d2b5e9f1a4c +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + Exclude tvOS: 1 + Exclude PS4: 0 + Exclude PS5: 0 + Exclude Switch: 0 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: x86_64 + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + - first: + tvOS: tvOS + second: + enabled: 0 + settings: + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + - first: + PS4: PS4 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + PS5: PS5 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Switch: Switch + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + GameCoreScarlett: GameCoreScarlett + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + GameCoreXboxOne: GameCoreXboxOne + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + XboxOne: XboxOne + second: + enabled: 1 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/package-dev/Runtime/Sentry.Unity.Native.dll.meta b/package-dev/Runtime/Sentry.Unity.Native.dll.meta index 9e9780954..5b10b2e33 100644 --- a/package-dev/Runtime/Sentry.Unity.Native.dll.meta +++ b/package-dev/Runtime/Sentry.Unity.Native.dll.meta @@ -25,6 +25,9 @@ PluginImporter: Exclude Win64: 0 Exclude iOS: 1 Exclude tvOS: 1 + Exclude PS4: 1 + Exclude PS5: 1 + Exclude Switch: 1 - first: Android: Android second: @@ -94,13 +97,13 @@ PluginImporter: - first: GameCoreScarlett: GameCoreScarlett second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU - first: GameCoreXboxOne: GameCoreXboxOne second: - enabled: 1 + enabled: 0 settings: CPU: AnyCPU userData: diff --git a/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj b/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj index e84334f9f..12f204c23 100644 --- a/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj +++ b/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj @@ -8,4 +8,16 @@ + + + + + diff --git a/src/Sentry.Unity.Native/SentryNativeBridge.cs b/src/Sentry.Unity.Native/SentryNativeBridge.cs index b73f179b4..0896f4188 100644 --- a/src/Sentry.Unity.Native/SentryNativeBridge.cs +++ b/src/Sentry.Unity.Native/SentryNativeBridge.cs @@ -111,40 +111,84 @@ internal static string GetCacheDirectory(SentryUnityOptions options) internal static void ReinstallBackend() => sentry_reinstall_backend(); // libsentry.so +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern IntPtr sentry_options_new(); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_dsn(IntPtr options, string dsn); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_release(IntPtr options, string release); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_debug(IntPtr options, int debug); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_environment(IntPtr options, string environment); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_sample_rate(IntPtr options, double rate); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_database_path(IntPtr options, string path); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_database_pathw(IntPtr options, [MarshalAs(UnmanagedType.LPWStr)] string path); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_auto_session_tracking(IntPtr options, int debug); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_attach_screenshot(IntPtr options, int attachScreenshot); [UnmanagedFunctionPointer(CallingConvention.Cdecl, SetLastError = true)] private delegate void sentry_logger_function_t(int level, IntPtr message, IntPtr argsAddress, IntPtr userData); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_options_set_logger(IntPtr options, sentry_logger_function_t logger, IntPtr userData); // The logger we should forward native messages to. This is referenced by nativeLog() which in turn for. @@ -238,10 +282,18 @@ private static void nativeLogImpl(int cLevel, IntPtr format, IntPtr args, IntPtr } } +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal", EntryPoint = "vsnprintf")] +#else [DllImport("msvcrt", EntryPoint = "vsnprintf")] +#endif private static extern int vsnprintf_windows(IntPtr buffer, UIntPtr bufferSize, IntPtr format, IntPtr args); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal", EntryPoint = "vsnprintf")] +#else [DllImport("libc", EntryPoint = "vsnprintf")] +#endif private static extern int vsnprintf_linux(IntPtr buffer, UIntPtr bufferSize, IntPtr format, IntPtr args); // https://stackoverflow.com/a/4958507/2386130 @@ -275,18 +327,38 @@ private static void WithMarshalledStruct(T structure, Action action) action(ptr); }); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern int sentry_init(IntPtr options); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern int sentry_close(); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern int sentry_get_crashed_last_run(); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern int sentry_clear_crashed_last_run(); +#if SENTRY_NATIVE_STATIC + [DllImport("__Internal")] +#else [DllImport("sentry")] +#endif private static extern void sentry_reinstall_backend(); } diff --git a/src/Sentry.Unity/Properties/AssemblyInfo.cs b/src/Sentry.Unity/Properties/AssemblyInfo.cs index a09dff694..490602eb8 100644 --- a/src/Sentry.Unity/Properties/AssemblyInfo.cs +++ b/src/Sentry.Unity/Properties/AssemblyInfo.cs @@ -1,6 +1,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Sentry.Unity.Native")] +[assembly: InternalsVisibleTo("Sentry.Unity.Native.Console")] [assembly: InternalsVisibleTo("Sentry.Unity.Tests")] [assembly: InternalsVisibleTo("Sentry.Unity.Editor")] [assembly: InternalsVisibleTo("Sentry.Unity.Editor.Tests")] diff --git a/test/Scripts.Tests/package-release.zip.snapshot b/test/Scripts.Tests/package-release.zip.snapshot index 3cf060b7f..f51c2fa43 100644 --- a/test/Scripts.Tests/package-release.zip.snapshot +++ b/test/Scripts.Tests/package-release.zip.snapshot @@ -279,6 +279,10 @@ Runtime/Sentry.Unity.iOS.dll Runtime/Sentry.Unity.iOS.dll.meta Runtime/Sentry.Unity.iOS.pdb Runtime/Sentry.Unity.iOS.pdb.meta +Runtime/Sentry.Unity.Native.Console.dll +Runtime/Sentry.Unity.Native.Console.dll.meta +Runtime/Sentry.Unity.Native.Console.pdb +Runtime/Sentry.Unity.Native.Console.pdb.meta Runtime/Sentry.Unity.Native.dll Runtime/Sentry.Unity.Native.dll.meta Runtime/Sentry.Unity.Native.pdb