mirror of
https://github.com/Grace-Solutions/PSMinIO.git
synced 2026-08-28 12:56:52 +00:00
Optimize module with minimal dependencies and fix XML formatting
- Added only essential dependencies: Minio.dll (440KB) - Updated PSMinIO.dll and PSMinIO.pdb with latest build - Fixed PSMinIO.Types.ps1xml formatting issues (corrected <n> tags to <Name>) - Removed unnecessary PSMinIO.psd1 from bin directory - Added CopyLocalLockFileAssemblies=true for dependency resolution - Module now loads cleanly with minimal footprint (~952KB total) - Verified all cmdlets work correctly (Connect-MinIO tested)
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,139 +0,0 @@
|
|||||||
@{
|
|
||||||
# Script module or binary module file associated with this manifest.
|
|
||||||
RootModule = 'bin\PSMinIO.dll'
|
|
||||||
|
|
||||||
# Version number of this module.
|
|
||||||
ModuleVersion = '2025.07.10.1200'
|
|
||||||
|
|
||||||
# Supported PSEditions
|
|
||||||
CompatiblePSEditions = @('Desktop', 'Core')
|
|
||||||
|
|
||||||
# ID used to uniquely identify this module
|
|
||||||
GUID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
|
|
||||||
|
|
||||||
# Author of this module
|
|
||||||
Author = 'PSMinIO Team'
|
|
||||||
|
|
||||||
# Company or vendor of this module
|
|
||||||
CompanyName = 'PSMinIO'
|
|
||||||
|
|
||||||
# Copyright statement for this module
|
|
||||||
Copyright = '(c) 2025 PSMinIO Team. All rights reserved.'
|
|
||||||
|
|
||||||
# Description of the functionality provided by this module
|
|
||||||
Description = 'A PowerShell module for MinIO object storage operations built on the Minio .NET SDK'
|
|
||||||
|
|
||||||
# Minimum version of the PowerShell engine required by this module
|
|
||||||
PowerShellVersion = '5.1'
|
|
||||||
|
|
||||||
# Name of the PowerShell host required by this module
|
|
||||||
# PowerShellHostName = ''
|
|
||||||
|
|
||||||
# Minimum version of the PowerShell host required by this module
|
|
||||||
# PowerShellHostVersion = ''
|
|
||||||
|
|
||||||
# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
|
|
||||||
DotNetFrameworkVersion = '4.7.2'
|
|
||||||
|
|
||||||
# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
|
|
||||||
CLRVersion = '4.0'
|
|
||||||
|
|
||||||
# Processor architecture (None, X86, Amd64) required by this module
|
|
||||||
# ProcessorArchitecture = ''
|
|
||||||
|
|
||||||
# Modules that must be imported into the global environment prior to importing this module
|
|
||||||
# RequiredModules = @()
|
|
||||||
|
|
||||||
# Assemblies that must be loaded prior to importing this module
|
|
||||||
RequiredAssemblies = @('bin\PSMinIO.dll', 'bin\Minio.dll')
|
|
||||||
|
|
||||||
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
|
|
||||||
# ScriptsToProcess = @()
|
|
||||||
|
|
||||||
# Type files (.ps1xml) to be loaded when importing this module
|
|
||||||
TypesToProcess = @('types\PSMinIO.Types.ps1xml')
|
|
||||||
|
|
||||||
# Format files (.ps1xml) to be loaded when importing this module
|
|
||||||
FormatsToProcess = @('types\PSMinIO.Format.ps1xml')
|
|
||||||
|
|
||||||
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
|
|
||||||
# NestedModules = @()
|
|
||||||
|
|
||||||
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
|
||||||
FunctionsToExport = @()
|
|
||||||
|
|
||||||
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
|
|
||||||
CmdletsToExport = @(
|
|
||||||
'Connect-MinIO',
|
|
||||||
'Get-MinIOBucket',
|
|
||||||
'New-MinIOBucket',
|
|
||||||
'Remove-MinIOBucket',
|
|
||||||
'Test-MinIOBucketExists',
|
|
||||||
'Get-MinIOObject',
|
|
||||||
'New-MinIOObject',
|
|
||||||
'New-MinIOObjectChunked',
|
|
||||||
'New-MinIOFolder',
|
|
||||||
'Get-MinIOObjectContent',
|
|
||||||
'Get-MinIOObjectContentChunked',
|
|
||||||
'Remove-MinIOObject',
|
|
||||||
'Get-MinIOBucketPolicy',
|
|
||||||
'Set-MinIOBucketPolicy',
|
|
||||||
'Get-MinIOStats'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Variables to export from this module
|
|
||||||
VariablesToExport = @()
|
|
||||||
|
|
||||||
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
|
|
||||||
AliasesToExport = @()
|
|
||||||
|
|
||||||
# DSC resources to export from this module
|
|
||||||
# DscResourcesToExport = @()
|
|
||||||
|
|
||||||
# List of all modules packaged with this module
|
|
||||||
# ModuleList = @()
|
|
||||||
|
|
||||||
# List of all files packaged with this module
|
|
||||||
FileList = @(
|
|
||||||
'PSMinIO.psd1',
|
|
||||||
'bin\PSMinIO.dll',
|
|
||||||
'bin\Minio.dll',
|
|
||||||
'types\PSMinIO.Types.ps1xml',
|
|
||||||
'types\PSMinIO.Format.ps1xml'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
|
|
||||||
PrivateData = @{
|
|
||||||
PSData = @{
|
|
||||||
# Tags applied to this module. These help with module discovery in online galleries.
|
|
||||||
Tags = @('MinIO', 'ObjectStorage', 'S3', 'Cloud', 'Storage', 'Bucket', 'Object')
|
|
||||||
|
|
||||||
# A URL to the license for this module.
|
|
||||||
LicenseUri = 'https://github.com/PSMinIO/PSMinIO/blob/main/LICENSE'
|
|
||||||
|
|
||||||
# A URL to the main website for this project.
|
|
||||||
ProjectUri = 'https://github.com/PSMinIO/PSMinIO'
|
|
||||||
|
|
||||||
# A URL to an icon representing this module.
|
|
||||||
# IconUri = ''
|
|
||||||
|
|
||||||
# ReleaseNotes of this module
|
|
||||||
ReleaseNotes = 'Initial release of PSMinIO module with comprehensive MinIO object storage operations support.'
|
|
||||||
|
|
||||||
# Prerelease string of this module
|
|
||||||
# Prerelease = ''
|
|
||||||
|
|
||||||
# Flag to indicate whether the module requires explicit user acceptance for install/update/save
|
|
||||||
# RequireLicenseAcceptance = $false
|
|
||||||
|
|
||||||
# External dependent modules of this module
|
|
||||||
# ExternalModuleDependencies = @()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# HelpInfo URI of this module
|
|
||||||
# HelpInfoURI = ''
|
|
||||||
|
|
||||||
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
|
|
||||||
# DefaultCommandPrefix = ''
|
|
||||||
}
|
|
||||||
@@ -138,16 +138,16 @@
|
|||||||
|
|
||||||
<!-- ChunkedTransferState Type -->
|
<!-- ChunkedTransferState Type -->
|
||||||
<Type>
|
<Type>
|
||||||
<n>PSMinIO.Models.ChunkedTransferState</n>
|
<Name>PSMinIO.Models.ChunkedTransferState</Name>
|
||||||
<Members>
|
<Members>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>ProgressFormatted</n>
|
<Name>ProgressFormatted</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
return "{0:F1}%" -f $this.ProgressPercentage
|
return "{0:F1}%" -f $this.ProgressPercentage
|
||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>BytesTransferredFormatted</n>
|
<Name>BytesTransferredFormatted</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.BytesTransferred -eq $null) { return "0 B" }
|
if ($this.BytesTransferred -eq $null) { return "0 B" }
|
||||||
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
||||||
@@ -161,7 +161,7 @@
|
|||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>TotalSizeFormatted</n>
|
<Name>TotalSizeFormatted</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.TotalSize -eq $null) { return "0 B" }
|
if ($this.TotalSize -eq $null) { return "0 B" }
|
||||||
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
||||||
@@ -175,7 +175,7 @@
|
|||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>ChunkSizeFormatted</n>
|
<Name>ChunkSizeFormatted</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.ChunkSize -eq $null) { return "0 B" }
|
if ($this.ChunkSize -eq $null) { return "0 B" }
|
||||||
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
||||||
@@ -189,7 +189,7 @@
|
|||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>ElapsedTime</n>
|
<Name>ElapsedTime</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.StartTime -eq $null) { return "Unknown" }
|
if ($this.StartTime -eq $null) { return "Unknown" }
|
||||||
$elapsed = [DateTime]::UtcNow - $this.StartTime
|
$elapsed = [DateTime]::UtcNow - $this.StartTime
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>TransferStatus</n>
|
<Name>TransferStatus</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.IsComplete) {
|
if ($this.IsComplete) {
|
||||||
return "Complete"
|
return "Complete"
|
||||||
@@ -209,7 +209,7 @@
|
|||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>RemainingChunks</n>
|
<Name>RemainingChunks</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
return $this.TotalChunks - $this.CompletedChunkCount
|
return $this.TotalChunks - $this.CompletedChunkCount
|
||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
@@ -219,10 +219,10 @@
|
|||||||
|
|
||||||
<!-- ChunkInfo Type -->
|
<!-- ChunkInfo Type -->
|
||||||
<Type>
|
<Type>
|
||||||
<n>PSMinIO.Models.ChunkInfo</n>
|
<Name>PSMinIO.Models.ChunkInfo</Name>
|
||||||
<Members>
|
<Members>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>SizeFormatted</n>
|
<Name>SizeFormatted</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.Size -eq $null) { return "0 B" }
|
if ($this.Size -eq $null) { return "0 B" }
|
||||||
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
$sizes = @("B", "KB", "MB", "GB", "TB", "PB")
|
||||||
@@ -236,13 +236,13 @@
|
|||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>ChunkRange</n>
|
<Name>ChunkRange</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
return "{0}-{1}" -f $this.StartByte, $this.EndByte
|
return "{0}-{1}" -f $this.StartByte, $this.EndByte
|
||||||
</GetScriptBlock>
|
</GetScriptBlock>
|
||||||
</ScriptProperty>
|
</ScriptProperty>
|
||||||
<ScriptProperty>
|
<ScriptProperty>
|
||||||
<n>Status</n>
|
<Name>Status</Name>
|
||||||
<GetScriptBlock>
|
<GetScriptBlock>
|
||||||
if ($this.IsCompleted) {
|
if ($this.IsCompleted) {
|
||||||
return "Completed"
|
return "Completed"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
<WarningsAsErrors />
|
<WarningsAsErrors />
|
||||||
<WarningsNotAsErrors />
|
<WarningsNotAsErrors />
|
||||||
|
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
Reference in New Issue
Block a user