merge the pack branch into the plugin's source and add the sgum-packager v0.3.0 utility for automatic packaging and deployment to epic marketplace

This commit is contained in:
Mamadou Babaei
2024-08-16 16:44:27 +02:00
parent 0a726b7e8b
commit ceb292a489
7 changed files with 206 additions and 2 deletions
+5 -1
View File
@@ -43,4 +43,8 @@ Source/ThirdParty/**/* filter=lfs diff=lfs merge=lfs -text
Handbook/dist/**/* filter=lfs diff=lfs merge=lfs -text Handbook/dist/**/* filter=lfs diff=lfs merge=lfs -text
# Except # Except
.gitignore filter= diff= merge= text .gitignore filter= diff= merge= text
.gitattributes filter= diff= merge= text .gitattributes filter= diff= merge= text
# LFS: sgum-packager Linux and Windows binaries
Packager/sgum-packager filter=lfs diff=lfs merge=lfs -text
Packager/sgum-packager.exe filter=lfs diff=lfs merge=lfs -text
+5 -1
View File
@@ -128,4 +128,8 @@ DerivedDataCache/*
# The Handbook # The Handbook
Documentation/ Documentation/
Handbook/book/ Handbook/book/
# sgum-packager
# Do not ignore the sgum-packager Windows binary
!Packager/sgum-packager.exe
+2
View File
@@ -67,6 +67,7 @@ This is a minor release focusing mainly on bringing OpenXR-compatible hand track
- Added SGWristTrackingSettingsOverrides config structured by the new settings override system. - Added SGWristTrackingSettingsOverrides config structured by the new settings override system.
- Added support for Android API level 32 in addition to the API level 29. - Added support for Android API level 32 in addition to the API level 29.
- Introduced the SenseGlove Unreal Engine Handbook as an attempt at documenting the SenseGlove Unreal Engine Plugin. - Introduced the SenseGlove Unreal Engine Handbook as an attempt at documenting the SenseGlove Unreal Engine Plugin.
- Merged the <code>pack</code> utility branch to the plugin's source code at <code>/Packager</code>.
### Fixed ### Fixed
@@ -109,6 +110,7 @@ This is a minor release focusing mainly on bringing OpenXR-compatible hand track
- Removed USGVirtualHandComponent::GetHandPose() and it's no longer possible to get the hand pose data from USGVirtualHandComponent as GetHandPose() has been removed. If you need it, you could always use the SenseGlove low-level API to retrieve it from the glove. - Removed USGVirtualHandComponent::GetHandPose() and it's no longer possible to get the hand pose data from USGVirtualHandComponent as GetHandPose() has been removed. If you need it, you could always use the SenseGlove low-level API to retrieve it from the glove.
- Removed also GetFingerBoneName(), GetFingerBoneRefTransform(), GetFingerBoneRefRotation() and GetFingerBoneRefRotation() from USGVirtualHandComponent. - Removed also GetFingerBoneName(), GetFingerBoneRefTransform(), GetFingerBoneRefRotation() and GetFingerBoneRefRotation() from USGVirtualHandComponent.
- Removed some remnants of UE 5.1 and older releases from the C++ code. - Removed some remnants of UE 5.1 and older releases from the C++ code.
- Removed the <code>pack</code> utility branch and merge it to the plugin's source code at <code>/Packager</code>.
### Known Issues ### Known Issues
+3
View File
@@ -0,0 +1,3 @@
# SenseGlove Unreal Engine Marketplace Packager
The `sgum-packager` utility is only meant to be used by the publisher of this plugin in to automatically package the plugin in adherence to the Unreal Engine Marketplace Guidelines.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+185
View File
@@ -0,0 +1,185 @@
# The SenseGlove Unreal Engine Marketplace Packager configuration file.
# This file is in YAML format.
# Although, the SenseGlove Unreal Engine Marketplace Packager is able to load
# configurations from various file formats by detecting their file extensions.
# Currently, the following configuration formats are supported:
# - JSON
# - TOML
# - YAML
# - HCL
# - INI
# - envfile
# - Java properties config files
Archive:
# Levels range from 1 (BestSpeed) to 9 (BestCompression); higher levels
# typically run slower but compress more. Level 0 (NoCompression) does not
# attempt any compression; it only adds the necessary DEFLATE framing. Level
# -1 (DefaultCompression) uses the default compression level. Level -2
# (HuffmanOnly) will use Huffman compression only, giving a very fast
# compression for all types of input, but sacrificing considerable compression
# efficiency.
CompressionLevel: 9
Directory:
Linux: /tmp/SenseGlove-Unreal/Archive
Windows: "%TEMP%\\SenseGlove-Unreal\\Archive"
# Brnach will be replaced with the Brnach name corresponding to the engine
# version, e.g. 5.1; and, version will be extracted from the latest tag, e.g.
# v1.0.4; producing SenseGlove-Unreal-5.1-v1.0.4.zip.
NameTemplate: "SenseGlove-Unreal-{BRANCH}-{VERSION}.zip"
Deploy:
Repository: https://{USERNAME}:{PASSWORD}@dev.azure.com/SenseGlove/SenseGlove-Unreal/_git/SenseGlove-Unreal
UsernameEnvVar: SGUM_PACKAGER_REPOSITORY_USERNAME
PasswordEnvVar: SGUM_PACKAGER_REPOSITORY_PASSWORD
Branches:
- "5.4"
- "5.3"
- "5.2"
Exclusions:
- .git
- sgum-packager
- .clang-format
- .editorconfig
- .gitattributes
- .gitignore
- LICENSE-THIRD-PARTY.md
- LICENSE.md
- README.md
Git:
Executable:
Linux: /usr/bin/git
Windows: "%PROGRAMFILES%\\Git\\bin\\git.exe"
CloneArguments:
- "--depth"
- "1"
- "--recurse-submodules"
- "--shallow-submodules"
- "--jobs"
- "16"
CloneDirectory:
Linux: /tmp/SenseGlove-Unreal/Repo
Windows: "%TEMP%\\SenseGlove-Unreal\\Repo"
GoogleDrive:
LocalAuthServerPort: 11111
# Follow the instructions below in order to generate the credentials file:
#
# Enable the AP
# In the Google Cloud console, enable the Google Drive API.
# https://console.cloud.google.com/flows/enableapi?apiid=drive.googleapis.com
#
# Authorize credentials for a web application
# 1. In the Google Cloud console, go to Menu menu > APIs & Services > Credentials.
# https://console.cloud.google.com/apis/credentials
# 2. Click Create Credentials > OAuth client ID.
# 3. Click Application type > Desktop app.
# 4. In the Name field, type a name for the credential. This name is only shown in the Google Cloud console.
# 5. Click Create. The OAuth client created screen appears, showing your new Client ID and Client secret.
# 6. Click OK. The newly created credential appears under OAuth 2.0 Client IDs.
# 7. Save the downloaded JSON file as credentials.json, and move the file to your desired directory.
CredentialsFile:
Linux: ~/.config/sgum-packager/credentials.json
Windows: "%LOCALAPPDATA%\\sgum-packager\\credentials.json"
# This will be auto-generated on the first run
TokenFile:
Linux: ~/.config/sgum-packager/token.json
Windows: "%LOCALAPPDATA%\\sgum-packager\\token.json"
FolderNameTemplate: SenseGlove-Unreal-{VERSION}
# Logging configurations
Logging:
# The file to write logs to. Supports absolute path or relative paths
# containing environment variables as well.Backup log files will be retained
# in the same directory. It's optional and if left empty, no logs will be
# preserved and logs only go to screen instead of both screen and log files.
Filename:
Linux: ~/.cache/sgum-packager/sgum-packager.log
Windows: "%LOCALAPPDATA%\\sgum-packager\\sgum-packager.log"
# The maximum allowed size in MBs for the log file before it gets rotated.
# It defaults to 100 megabytes if not specified.
MaxSize: 100
# The maximum number of days to retain old log files based on the timestamp
# encoded in their filename. Note that a day is defined as 24 hours and may
# not exactly correspond to calendar days due to daylight savings, leap
# seconds, etc. If not specified, the default is not to remove old log files
# based on age.
MaxAge: 30
# Maximum number of old log files to retain. If not specified, the default is
# to retain all old log files (though MaxAge may still cause them to get
# deleted).
MaxBackups: 10
# Determines if the time used for formatting the timestamps in backup files is
# the computer's local time. The default is to use UTC time, if not specified.
LocalTime: true
# Determines whether the rotated log files should be compressed using the gzip
# compression algorithm, or not. The default is not to perform compression, in
# case it's not specified.
Compress: true
Rocket:
RunUAT: true
UPluginFile: SenseGlove.uplugin
PackageDirectory: "%TEMP%\\SenseGlove-Unreal\\Rocket"
EnginePaths:
- "5.4": "C:\\OPT\\UE_5.4"
- "5.3": "C:\\OPT\\UE_5.3"
- "5.2": "C:\\OPT\\UE_5.2"
NDKPaths:
- "5.4": "%LOCALAPPDATA%\\Android\\Sdk\\ndk\\25.1.8937393"
- "5.3": "%LOCALAPPDATA%\\Android\\Sdk\\ndk\\25.1.8937393"
- "5.2": "%LOCALAPPDATA%\\Android\\Sdk\\ndk\\25.1.8937393"
Rsync:
Executable:
Linux: /usr/bin/rsync
Windows: "%PROGRAMFILES%\\cwrsync\\bin\\rsync.exe"
StageArguments:
- "--checksum"
- "--delete-after"
- "--ignore-errors"
- "--ignore-times"
- "--links"
- "--perms"
- "--recursive"
- "--verbose"
DestinationDirectory:
Linux: /tmp/SenseGlove-Unreal/Stage
Windows: "%TEMP%\\SenseGlove-Unreal\\Stage"