From 24bd9c936869fda8fc39be91a8ab0672df46eecb Mon Sep 17 00:00:00 2001 From: AngelOnFira <14791619+AngelOnFira@users.noreply.github.com> Date: Mon, 26 Aug 2024 17:53:58 +0000 Subject: [PATCH] chore: add cli binaries (#47) --- .gitattributes | 6 +- Assets/Rivet/Editor/Native/cli.meta | 8 +++ .../Editor/Native/cli/rivet-aarch64-apple | 3 + .../Native/cli/rivet-aarch64-apple.meta | 7 +++ Assets/Rivet/Editor/Native/cli/rivet-linux | 3 + .../Rivet/Editor/Native/cli/rivet-linux.meta | 7 +++ .../Rivet/Editor/Native/cli/rivet-windows.exe | 3 + .../Editor/Native/cli/rivet-windows.exe.meta | 7 +++ .../Rivet/Editor/Native/cli/rivet-x86-apple | 3 + .../Editor/Native/cli/rivet-x86-apple.meta | 7 +++ .../librivet_toolchain_ffi_linux_x86_64.so | 4 +- ...ibrivet_toolchain_ffi_linux_x86_64.so.meta | 63 ------------------- .../librivet_toolchain_ffi_macos_arm64.dylib | 4 +- .../librivet_toolchain_ffi_macos_x86_64.dylib | 4 +- .../rivet_toolchain_ffi_windows_x86_64.dll | 4 +- Assets/Rivet/Editor/Task.cs | 28 +++++++-- Assets/Rivet/Editor/UI/RivetPlugin.cs | 2 +- .../Rivet/Editor/UI/Tabs/DevelopController.cs | 14 +++-- Assets/Rivet/Editor/UI/Tabs/Setup.uxml | 2 +- backend.json | 8 --- scripts/{copy_ffi.sh => copy_native.sh} | 10 ++- scripts/copy_native_dev.sh | 13 ++++ 22 files changed, 117 insertions(+), 93 deletions(-) create mode 100644 Assets/Rivet/Editor/Native/cli.meta create mode 100755 Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple create mode 100644 Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple.meta create mode 100755 Assets/Rivet/Editor/Native/cli/rivet-linux create mode 100644 Assets/Rivet/Editor/Native/cli/rivet-linux.meta create mode 100755 Assets/Rivet/Editor/Native/cli/rivet-windows.exe create mode 100644 Assets/Rivet/Editor/Native/cli/rivet-windows.exe.meta create mode 100755 Assets/Rivet/Editor/Native/cli/rivet-x86-apple create mode 100644 Assets/Rivet/Editor/Native/cli/rivet-x86-apple.meta delete mode 100644 Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so.meta rename scripts/{copy_ffi.sh => copy_native.sh} (58%) create mode 100755 scripts/copy_native_dev.sh diff --git a/.gitattributes b/.gitattributes index fb9fa99..0fa12e0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,7 @@ Assets/Rivet/Editor/Native/*.dll filter=lfs diff=lfs merge=lfs -text Assets/Rivet/Editor/Native/*.so filter=lfs diff=lfs merge=lfs -text -Assets/Rivet/Editor/Native/*.dylib filter=lfs diff=lfs merge=lfs -text \ No newline at end of file +Assets/Rivet/Editor/Native/*.dylib filter=lfs diff=lfs merge=lfs -text +Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple filter=lfs diff=lfs merge=lfs -text +Assets/Rivet/Editor/Native/cli/rivet-linux filter=lfs diff=lfs merge=lfs -text +Assets/Rivet/Editor/Native/cli/rivet-windows.exe filter=lfs diff=lfs merge=lfs -text +Assets/Rivet/Editor/Native/cli/rivet-x86-apple filter=lfs diff=lfs merge=lfs -text diff --git a/Assets/Rivet/Editor/Native/cli.meta b/Assets/Rivet/Editor/Native/cli.meta new file mode 100644 index 0000000..84cc968 --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc26f57ca54624f7c85b59ad2711ed7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple b/Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple new file mode 100755 index 0000000..c9bca70 --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b875ac82c2313512f1079dd157259c7dfd3a403e8535db8e608a6c1f78e8e4b +size 9125587 diff --git a/Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple.meta b/Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple.meta new file mode 100644 index 0000000..cdaa431 --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 45835e4887751469cb985633e8f1b4aa +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Rivet/Editor/Native/cli/rivet-linux b/Assets/Rivet/Editor/Native/cli/rivet-linux new file mode 100755 index 0000000..8d8c4fe --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-linux @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb4ce6379580d298fe915a241a0219c8351404c3e5959bf643ce5afc08431be +size 15883728 diff --git a/Assets/Rivet/Editor/Native/cli/rivet-linux.meta b/Assets/Rivet/Editor/Native/cli/rivet-linux.meta new file mode 100644 index 0000000..6cbe4ad --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-linux.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5c95a1ee6c4534a5998b8a10a43c5bb3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Rivet/Editor/Native/cli/rivet-windows.exe b/Assets/Rivet/Editor/Native/cli/rivet-windows.exe new file mode 100755 index 0000000..ffc83be --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-windows.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84399a751761c49884f274062da1d72380a5b7f66ac4f6397bee3f317133b715 +size 18604650 diff --git a/Assets/Rivet/Editor/Native/cli/rivet-windows.exe.meta b/Assets/Rivet/Editor/Native/cli/rivet-windows.exe.meta new file mode 100644 index 0000000..6cccf7b --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-windows.exe.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8361253527e2040ba973981af3d6f432 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Rivet/Editor/Native/cli/rivet-x86-apple b/Assets/Rivet/Editor/Native/cli/rivet-x86-apple new file mode 100755 index 0000000..91d1e2d --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-x86-apple @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dfd7c5d011fabe83f9a10ddc45fc071ffff67e056834aba1ea71701135aec44 +size 9713832 diff --git a/Assets/Rivet/Editor/Native/cli/rivet-x86-apple.meta b/Assets/Rivet/Editor/Native/cli/rivet-x86-apple.meta new file mode 100644 index 0000000..a1febe5 --- /dev/null +++ b/Assets/Rivet/Editor/Native/cli/rivet-x86-apple.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e3042bd0427e8485bbbd4079aeb70994 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so index c59182a..02c6508 100755 --- a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so +++ b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:529c0fd22d2316ab524ab7847fadfbab11f82c08be4f6bcb9cf9287dccf56893 -size 15221280 +oid sha256:cc907e19944bf5c05c749c407b456d5c6342d2fdb676338b2b319320212c49ab +size 15191104 diff --git a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so.meta b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so.meta deleted file mode 100644 index a0a59fc..0000000 --- a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so.meta +++ /dev/null @@ -1,63 +0,0 @@ -fileFormatVersion: 2 -guid: 9a5288f5ed52140f78efe42d4824790c -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 1 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - : Any - second: - enabled: 0 - settings: - Exclude Editor: 0 - Exclude Linux64: 1 - Exclude OSXUniversal: 1 - Exclude Win: 1 - Exclude Win64: 1 - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 1 - settings: - CPU: AnyCPU - DefaultValueInitialized: true - OS: Linux - - first: - Standalone: Linux64 - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Standalone: OSXUniversal - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Standalone: Win64 - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib index b393072..9d9889c 100755 --- a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib +++ b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0789eb2e1f75dba3b212b5cee1e4632a520bb0ea3500fd5d73120063d1055f00 -size 24814704 +oid sha256:7130f91527572984c3d1e7f83bb152539e0f189a3b10fd80088fc00f0fce32d7 +size 8358601 diff --git a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_x86_64.dylib b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_x86_64.dylib index 2ef6d46..c95490b 100755 --- a/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_x86_64.dylib +++ b/Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_x86_64.dylib @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd3e95f5feed529a2920c2b9c908cd92fc0358589a801a97372dbec55085b24e -size 8908976 +oid sha256:be9992964c83b2528c6824ede25352c1a126163c843dfff19af511e43af2a8a3 +size 8888568 diff --git a/Assets/Rivet/Editor/Native/rivet_toolchain_ffi_windows_x86_64.dll b/Assets/Rivet/Editor/Native/rivet_toolchain_ffi_windows_x86_64.dll index 8130d06..0f83f43 100755 --- a/Assets/Rivet/Editor/Native/rivet_toolchain_ffi_windows_x86_64.dll +++ b/Assets/Rivet/Editor/Native/rivet_toolchain_ffi_windows_x86_64.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:babdbb4391e06f644aae60297096429989c3aa37adbef2cc718cb521d2903315 -size 17676863 +oid sha256:e880b03b068e8837754dc7e1ab4643555ac074e57a3cc3aba6e6e6ab87478cfb +size 17664664 diff --git a/Assets/Rivet/Editor/Task.cs b/Assets/Rivet/Editor/Task.cs index 5a151da..dcc98b7 100644 --- a/Assets/Rivet/Editor/Task.cs +++ b/Assets/Rivet/Editor/Task.cs @@ -160,9 +160,29 @@ private Result RunTask(string name, JObject input, JObject runConfig) // TODO: Remove this public static string GetRivetCLIPath() { - // TODO: Update this path as needed - // return "/Users/nathan/rivet/cli/target/debug/rivet-cli"; - return "/Users/nathan/rivet/cli/target/debug/rivet"; + if (Application.platform == RuntimePlatform.WindowsEditor) + { + return "Assets/Rivet/Editor/Native/cli/rivet-windows.exe"; + } + else if (Application.platform == RuntimePlatform.OSXEditor) + { + if (SystemInfo.processorType.Contains("Apple")) + { + return "Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple"; + } + else + { + return "Assets/Rivet/Editor/Native/cli/rivet-x86-apple"; + } + } + else if (Application.platform == RuntimePlatform.LinuxEditor) + { + return "Assets/Rivet/Editor/Native/cli/rivet-linux"; + } + else + { + throw new Exception("Unsupported platform"); + } } // private static Result RunRivetCLI(params string[] args) @@ -326,4 +346,4 @@ private void CleanupTempFiles() } } } -} \ No newline at end of file +} diff --git a/Assets/Rivet/Editor/UI/RivetPlugin.cs b/Assets/Rivet/Editor/UI/RivetPlugin.cs index b3d4af2..b51a6f7 100644 --- a/Assets/Rivet/Editor/UI/RivetPlugin.cs +++ b/Assets/Rivet/Editor/UI/RivetPlugin.cs @@ -82,7 +82,7 @@ public void CreateGUI() // Bind links var links = rootVisualElement.Q(name: "Header").Q(name: "Links"); links.Q(name: "DashboardButton").RegisterCallback((ev) => Application.OpenURL("https://hub.rivet.gg")); - rootVisualElement.Q(className: "docsButton").RegisterCallback((ev) => Application.OpenURL("https://rivet.gg/docs/unity")); + rootVisualElement.Q(className: "docsButton").RegisterCallback((ev) => Application.OpenURL("https://rivet.gg/learn/unity")); rootVisualElement.Q(className: "discordButton").RegisterCallback((ev) => Application.OpenURL("https://rivet.gg/discord")); rootVisualElement.Q(className: "feedbackButton").RegisterCallback((ev) => Application.OpenURL("https://hub.rivet.gg/?modal=feedback&utm=unity")); diff --git a/Assets/Rivet/Editor/UI/Tabs/DevelopController.cs b/Assets/Rivet/Editor/UI/Tabs/DevelopController.cs index 737310a..6c7e108 100644 --- a/Assets/Rivet/Editor/UI/Tabs/DevelopController.cs +++ b/Assets/Rivet/Editor/UI/Tabs/DevelopController.cs @@ -168,12 +168,14 @@ private void OnPlayerStart() private void OnBackendGenerateSDK() { - TaskPopupWindow.RunTask("Generate SDK", "backend_sdk_gen", new JObject - { - ["cwd"] = Builder.ProjectRoot(), - ["fallback_sdk_path"] = "Assets/Backend", - ["target"] = "unity", - }); + // TaskPopupWindow.RunTask("Generate SDK", "backend_sdk_gen", new JObject + // { + // ["cwd"] = Builder.ProjectRoot(), + // ["fallback_sdk_path"] = "Assets/Backend", + // ["target"] = "unity", + // }); + + EditorUtility.DisplayDialog("Generate SDK Disabled", "Generate SDK temporarily disabled. Contact support for further questions.", "OK"); } private void OnBackendEditConfig() diff --git a/Assets/Rivet/Editor/UI/Tabs/Setup.uxml b/Assets/Rivet/Editor/UI/Tabs/Setup.uxml index 55c6d89..d850891 100644 --- a/Assets/Rivet/Editor/UI/Tabs/Setup.uxml +++ b/Assets/Rivet/Editor/UI/Tabs/Setup.uxml @@ -4,5 +4,5 @@ - + diff --git a/backend.json b/backend.json index 1295359..cc78679 100644 --- a/backend.json +++ b/backend.json @@ -6,15 +6,7 @@ ] } }, - "registries": { - "default": { - "local": { - "directory": "/Users/nathan/rivet/opengb-modules/modules" - } - } - }, "modules": { - "users": {}, "rate_limit": {}, "tokens": {}, "lobbies": { diff --git a/scripts/copy_ffi.sh b/scripts/copy_native.sh similarity index 58% rename from scripts/copy_ffi.sh rename to scripts/copy_native.sh index 22d352d..c6ac8df 100755 --- a/scripts/copy_ffi.sh +++ b/scripts/copy_native.sh @@ -4,15 +4,23 @@ set -euf # Linux (x86_64) rm -rf ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so cp -r $CLI_REPO_PATH/target/x86_64-unknown-linux-gnu/release/librivet_toolchain_ffi.so ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_linux_x86_64.so +rm -rf ./Assets/Rivet/Editor/Native/cli/rivet-linux +cp -r $CLI_REPO_PATH/target/x86_64-unknown-linux-gnu/release/rivet ./Assets/Rivet/Editor/Native/cli/rivet-linux # Windows (x86_64) rm -rf ./Assets/Rivet/Editor/Native/rivet_toolchain_ffi_windows_x86_64.dll cp -r $CLI_REPO_PATH/target/x86_64-pc-windows-gnu/release/rivet_toolchain_ffi.dll ./Assets/Rivet/Editor/Native/rivet_toolchain_ffi_windows_x86_64.dll +rm -rf ./Assets/Rivet/Editor/Native/cli/rivet-windows.exe +cp -r $CLI_REPO_PATH/target/x86_64-pc-windows-gnu/release/rivet.exe ./Assets/Rivet/Editor/Native/cli/rivet-windows.exe # macOS (x86_64) rm -rf ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_x86_64.dylib cp -r $CLI_REPO_PATH/target/x86_64-apple-darwin/release/librivet_toolchain_ffi.dylib ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_x86_64.dylib +rm -rf ./Assets/Rivet/Editor/Native/cli/rivet-x86-apple +cp -r $CLI_REPO_PATH/target/x86_64-apple-darwin/release/rivet ./Assets/Rivet/Editor/Native/cli/rivet-x86-apple # macOS (ARM64) rm -rf ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib -cp -r $CLI_REPO_PATH/target/aarch64-apple-darwin/release/librivet_toolchain_ffi.dylib ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib \ No newline at end of file +cp -r $CLI_REPO_PATH/target/aarch64-apple-darwin/release/librivet_toolchain_ffi.dylib ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib +rm -rf ./Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple +cp -r $CLI_REPO_PATH/target/aarch64-apple-darwin/release/rivet ./Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple \ No newline at end of file diff --git a/scripts/copy_native_dev.sh b/scripts/copy_native_dev.sh new file mode 100755 index 0000000..45bb1a7 --- /dev/null +++ b/scripts/copy_native_dev.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -euf + +echo "TODO: Currently only supports macOS ARM64" + +# Build client +(cd $CLI_REPO_PATH && cargo build) + +# macOS (ARM64) +rm -rf ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib +cp -r $CLI_REPO_PATH/target/debug/librivet_toolchain_ffi.dylib ./Assets/Rivet/Editor/Native/librivet_toolchain_ffi_macos_arm64.dylib +rm -rf ./Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple +cp -r $CLI_REPO_PATH/target/debug/rivet ./Assets/Rivet/Editor/Native/cli/rivet-aarch64-apple